]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Eot/CParser.py
BaseTools: Use absolute import in Eot
[mirror_edk2.git] / BaseTools / Source / Python / Eot / CParser.py
1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
2
3 from __future__ import print_function
4 from __future__ import absolute_import
5 from antlr3 import *
6 from antlr3.compat import set, frozenset
7
8 ## @file
9 # The file defines the parser for C source files.
10 #
11 # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
12 # This file is generated by running:
13 # java org.antlr.Tool C.g
14 #
15 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
16 #
17 # This program and the accompanying materials are licensed and made available
18 # under the terms and conditions of the BSD License which accompanies this
19 # distribution. The full text of the license may be found at:
20 # http://opensource.org/licenses/bsd-license.php
21 #
22 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
23 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
24 #
25 ##
26
27 from . import CodeFragment
28 from . import FileProfile
29
30
31
32 # for convenience in actions
33 HIDDEN = BaseRecognizer.HIDDEN
34
35 # token types
36 BS=20
37 LINE_COMMENT=23
38 FloatTypeSuffix=16
39 IntegerTypeSuffix=14
40 LETTER=11
41 OCTAL_LITERAL=6
42 CHARACTER_LITERAL=8
43 Exponent=15
44 EOF=-1
45 HexDigit=13
46 STRING_LITERAL=9
47 WS=19
48 FLOATING_POINT_LITERAL=10
49 IDENTIFIER=4
50 UnicodeEscape=18
51 LINE_COMMAND=24
52 UnicodeVocabulary=21
53 HEX_LITERAL=5
54 COMMENT=22
55 DECIMAL_LITERAL=7
56 EscapeSequence=12
57 OctalEscape=17
58
59 # token names
60 tokenNames = [
61 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
62 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
63 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
64 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
65 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
66 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
67 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
68 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
69 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
70 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
71 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
72 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
73 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
74 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
75 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
76 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
77 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
78 "'goto'", "'continue'", "'break'", "'return'"
79 ]
80
81
82 class function_definition_scope(object):
83 def __init__(self):
84 self.ModifierText = None
85 self.DeclText = None
86 self.LBLine = None
87 self.LBOffset = None
88 self.DeclLine = None
89 self.DeclOffset = None
90 class postfix_expression_scope(object):
91 def __init__(self):
92 self.FuncCallText = None
93
94
95 class CParser(Parser):
96 grammarFileName = "C.g"
97 tokenNames = tokenNames
98
99 def __init__(self, input):
100 Parser.__init__(self, input)
101 self.ruleMemo = {}
102
103 self.function_definition_stack = []
104 self.postfix_expression_stack = []
105
106 def printTokenInfo(self, line, offset, tokenText):
107 print(str(line)+ ',' + str(offset) + ':' + str(tokenText))
108
109 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
110 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
111 FileProfile.PredicateExpressionList.append(PredExp)
112
113 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
114 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
115 FileProfile.EnumerationDefinitionList.append(EnumDef)
116
117 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
118 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
119 FileProfile.StructUnionDefinitionList.append(SUDef)
120
121 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
122 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
123 FileProfile.TypedefDefinitionList.append(Tdef)
124
125 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
126 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
127 FileProfile.FunctionDefinitionList.append(FuncDef)
128
129 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
130 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
131 FileProfile.VariableDeclarationList.append(VarDecl)
132
133 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
134 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
135 FileProfile.FunctionCallingList.append(FuncCall)
136
137
138
139
140 # $ANTLR start translation_unit
141 # C.g:102:1: translation_unit : ( external_declaration )* ;
142 def translation_unit(self, ):
143
144 translation_unit_StartIndex = self.input.index()
145 try:
146 try:
147 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
148 return
149
150 # C.g:103:2: ( ( external_declaration )* )
151 # C.g:103:4: ( external_declaration )*
152 # C.g:103:4: ( external_declaration )*
153 while True: #loop1
154 alt1 = 2
155 LA1_0 = self.input.LA(1)
156
157 if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 62) or LA1_0 == 66) :
158 alt1 = 1
159
160
161 if alt1 == 1:
162 # C.g:0:0: external_declaration
163 self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
164 self.external_declaration()
165 self.following.pop()
166 if self.failed:
167 return
168
169
170 else:
171 break #loop1
172
173
174
175
176
177
178 except RecognitionException as re:
179 self.reportError(re)
180 self.recover(self.input, re)
181 finally:
182 if self.backtracking > 0:
183 self.memoize(self.input, 1, translation_unit_StartIndex)
184
185 pass
186
187 return
188
189 # $ANTLR end translation_unit
190
191
192 # $ANTLR start external_declaration
193 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
194 def external_declaration(self, ):
195
196 external_declaration_StartIndex = self.input.index()
197 try:
198 try:
199 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
200 return
201
202 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
203 alt3 = 3
204 LA3_0 = self.input.LA(1)
205
206 if ((29 <= LA3_0 <= 33)) :
207 LA3_1 = self.input.LA(2)
208
209 if (self.synpred4()) :
210 alt3 = 1
211 elif (self.synpred5()) :
212 alt3 = 2
213 else:
214 if self.backtracking > 0:
215 self.failed = True
216 return
217
218 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
219
220 raise nvae
221
222 elif (LA3_0 == 34) :
223 LA3_2 = self.input.LA(2)
224
225 if (self.synpred4()) :
226 alt3 = 1
227 elif (self.synpred5()) :
228 alt3 = 2
229 else:
230 if self.backtracking > 0:
231 self.failed = True
232 return
233
234 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
235
236 raise nvae
237
238 elif (LA3_0 == 35) :
239 LA3_3 = self.input.LA(2)
240
241 if (self.synpred4()) :
242 alt3 = 1
243 elif (self.synpred5()) :
244 alt3 = 2
245 else:
246 if self.backtracking > 0:
247 self.failed = True
248 return
249
250 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
251
252 raise nvae
253
254 elif (LA3_0 == 36) :
255 LA3_4 = self.input.LA(2)
256
257 if (self.synpred4()) :
258 alt3 = 1
259 elif (self.synpred5()) :
260 alt3 = 2
261 else:
262 if self.backtracking > 0:
263 self.failed = True
264 return
265
266 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
267
268 raise nvae
269
270 elif (LA3_0 == 37) :
271 LA3_5 = self.input.LA(2)
272
273 if (self.synpred4()) :
274 alt3 = 1
275 elif (self.synpred5()) :
276 alt3 = 2
277 else:
278 if self.backtracking > 0:
279 self.failed = True
280 return
281
282 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
283
284 raise nvae
285
286 elif (LA3_0 == 38) :
287 LA3_6 = self.input.LA(2)
288
289 if (self.synpred4()) :
290 alt3 = 1
291 elif (self.synpred5()) :
292 alt3 = 2
293 else:
294 if self.backtracking > 0:
295 self.failed = True
296 return
297
298 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
299
300 raise nvae
301
302 elif (LA3_0 == 39) :
303 LA3_7 = self.input.LA(2)
304
305 if (self.synpred4()) :
306 alt3 = 1
307 elif (self.synpred5()) :
308 alt3 = 2
309 else:
310 if self.backtracking > 0:
311 self.failed = True
312 return
313
314 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
315
316 raise nvae
317
318 elif (LA3_0 == 40) :
319 LA3_8 = self.input.LA(2)
320
321 if (self.synpred4()) :
322 alt3 = 1
323 elif (self.synpred5()) :
324 alt3 = 2
325 else:
326 if self.backtracking > 0:
327 self.failed = True
328 return
329
330 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
331
332 raise nvae
333
334 elif (LA3_0 == 41) :
335 LA3_9 = self.input.LA(2)
336
337 if (self.synpred4()) :
338 alt3 = 1
339 elif (self.synpred5()) :
340 alt3 = 2
341 else:
342 if self.backtracking > 0:
343 self.failed = True
344 return
345
346 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
347
348 raise nvae
349
350 elif (LA3_0 == 42) :
351 LA3_10 = self.input.LA(2)
352
353 if (self.synpred4()) :
354 alt3 = 1
355 elif (self.synpred5()) :
356 alt3 = 2
357 else:
358 if self.backtracking > 0:
359 self.failed = True
360 return
361
362 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
363
364 raise nvae
365
366 elif ((45 <= LA3_0 <= 46)) :
367 LA3_11 = self.input.LA(2)
368
369 if (self.synpred4()) :
370 alt3 = 1
371 elif (self.synpred5()) :
372 alt3 = 2
373 else:
374 if self.backtracking > 0:
375 self.failed = True
376 return
377
378 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
379
380 raise nvae
381
382 elif (LA3_0 == 48) :
383 LA3_12 = self.input.LA(2)
384
385 if (self.synpred4()) :
386 alt3 = 1
387 elif (self.synpred5()) :
388 alt3 = 2
389 else:
390 if self.backtracking > 0:
391 self.failed = True
392 return
393
394 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
395
396 raise nvae
397
398 elif (LA3_0 == IDENTIFIER) :
399 LA3_13 = self.input.LA(2)
400
401 if (self.synpred4()) :
402 alt3 = 1
403 elif (self.synpred5()) :
404 alt3 = 2
405 elif (True) :
406 alt3 = 3
407 else:
408 if self.backtracking > 0:
409 self.failed = True
410 return
411
412 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
413
414 raise nvae
415
416 elif (LA3_0 == 58) :
417 LA3_14 = self.input.LA(2)
418
419 if (self.synpred4()) :
420 alt3 = 1
421 elif (self.synpred5()) :
422 alt3 = 2
423 else:
424 if self.backtracking > 0:
425 self.failed = True
426 return
427
428 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
429
430 raise nvae
431
432 elif (LA3_0 == 66) and (self.synpred4()):
433 alt3 = 1
434 elif (LA3_0 == 59) :
435 LA3_16 = self.input.LA(2)
436
437 if (self.synpred4()) :
438 alt3 = 1
439 elif (self.synpred5()) :
440 alt3 = 2
441 else:
442 if self.backtracking > 0:
443 self.failed = True
444 return
445
446 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
447
448 raise nvae
449
450 elif (LA3_0 == 60) :
451 LA3_17 = self.input.LA(2)
452
453 if (self.synpred4()) :
454 alt3 = 1
455 elif (self.synpred5()) :
456 alt3 = 2
457 else:
458 if self.backtracking > 0:
459 self.failed = True
460 return
461
462 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
463
464 raise nvae
465
466 elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
467 LA3_18 = self.input.LA(2)
468
469 if (self.synpred4()) :
470 alt3 = 1
471 elif (self.synpred5()) :
472 alt3 = 2
473 else:
474 if self.backtracking > 0:
475 self.failed = True
476 return
477
478 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
479
480 raise nvae
481
482 elif (LA3_0 == 62) and (self.synpred4()):
483 alt3 = 1
484 elif (LA3_0 == 26) :
485 alt3 = 2
486 else:
487 if self.backtracking > 0:
488 self.failed = True
489 return
490
491 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
492
493 raise nvae
494
495 if alt3 == 1:
496 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
497 self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
498 self.function_definition()
499 self.following.pop()
500 if self.failed:
501 return
502
503
504 elif alt3 == 2:
505 # C.g:120:4: declaration
506 self.following.append(self.FOLLOW_declaration_in_external_declaration118)
507 self.declaration()
508 self.following.pop()
509 if self.failed:
510 return
511
512
513 elif alt3 == 3:
514 # C.g:121:4: macro_statement ( ';' )?
515 self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
516 self.macro_statement()
517 self.following.pop()
518 if self.failed:
519 return
520 # C.g:121:20: ( ';' )?
521 alt2 = 2
522 LA2_0 = self.input.LA(1)
523
524 if (LA2_0 == 25) :
525 alt2 = 1
526 if alt2 == 1:
527 # C.g:121:21: ';'
528 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
529 if self.failed:
530 return
531
532
533
534
535
536
537 except RecognitionException as re:
538 self.reportError(re)
539 self.recover(self.input, re)
540 finally:
541 if self.backtracking > 0:
542 self.memoize(self.input, 2, external_declaration_StartIndex)
543
544 pass
545
546 return
547
548 # $ANTLR end external_declaration
549
550 class function_definition_return(object):
551 def __init__(self):
552 self.start = None
553 self.stop = None
554
555
556
557 # $ANTLR start function_definition
558 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
559 def function_definition(self, ):
560 self.function_definition_stack.append(function_definition_scope())
561 retval = self.function_definition_return()
562 retval.start = self.input.LT(1)
563 function_definition_StartIndex = self.input.index()
564 d = None
565
566 a = None
567
568 b = None
569
570 declarator1 = None
571
572
573
574 self.function_definition_stack[-1].ModifierText = ''
575 self.function_definition_stack[-1].DeclText = ''
576 self.function_definition_stack[-1].LBLine = 0
577 self.function_definition_stack[-1].LBOffset = 0
578 self.function_definition_stack[-1].DeclLine = 0
579 self.function_definition_stack[-1].DeclOffset = 0
580
581 try:
582 try:
583 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
584 return retval
585
586 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
587 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
588 # C.g:146:5: (d= declaration_specifiers )?
589 alt4 = 2
590 LA4 = self.input.LA(1)
591 if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
592 alt4 = 1
593 elif LA4 == IDENTIFIER:
594 LA4 = self.input.LA(2)
595 if LA4 == 66:
596 alt4 = 1
597 elif LA4 == 58:
598 LA4_21 = self.input.LA(3)
599
600 if (self.synpred7()) :
601 alt4 = 1
602 elif LA4 == 59:
603 LA4_22 = self.input.LA(3)
604
605 if (self.synpred7()) :
606 alt4 = 1
607 elif LA4 == 60:
608 LA4_23 = self.input.LA(3)
609
610 if (self.synpred7()) :
611 alt4 = 1
612 elif LA4 == IDENTIFIER:
613 LA4_24 = self.input.LA(3)
614
615 if (self.synpred7()) :
616 alt4 = 1
617 elif LA4 == 62:
618 LA4_25 = self.input.LA(3)
619
620 if (self.synpred7()) :
621 alt4 = 1
622 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
623 LA4_26 = self.input.LA(3)
624
625 if (self.synpred7()) :
626 alt4 = 1
627 elif LA4 == 34:
628 LA4_27 = self.input.LA(3)
629
630 if (self.synpred7()) :
631 alt4 = 1
632 elif LA4 == 35:
633 LA4_28 = self.input.LA(3)
634
635 if (self.synpred7()) :
636 alt4 = 1
637 elif LA4 == 36:
638 LA4_29 = self.input.LA(3)
639
640 if (self.synpred7()) :
641 alt4 = 1
642 elif LA4 == 37:
643 LA4_30 = self.input.LA(3)
644
645 if (self.synpred7()) :
646 alt4 = 1
647 elif LA4 == 38:
648 LA4_31 = self.input.LA(3)
649
650 if (self.synpred7()) :
651 alt4 = 1
652 elif LA4 == 39:
653 LA4_32 = self.input.LA(3)
654
655 if (self.synpred7()) :
656 alt4 = 1
657 elif LA4 == 40:
658 LA4_33 = self.input.LA(3)
659
660 if (self.synpred7()) :
661 alt4 = 1
662 elif LA4 == 41:
663 LA4_34 = self.input.LA(3)
664
665 if (self.synpred7()) :
666 alt4 = 1
667 elif LA4 == 42:
668 LA4_35 = self.input.LA(3)
669
670 if (self.synpred7()) :
671 alt4 = 1
672 elif LA4 == 45 or LA4 == 46:
673 LA4_36 = self.input.LA(3)
674
675 if (self.synpred7()) :
676 alt4 = 1
677 elif LA4 == 48:
678 LA4_37 = self.input.LA(3)
679
680 if (self.synpred7()) :
681 alt4 = 1
682 elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
683 LA4_38 = self.input.LA(3)
684
685 if (self.synpred7()) :
686 alt4 = 1
687 elif LA4 == 58:
688 LA4_14 = self.input.LA(2)
689
690 if (self.synpred7()) :
691 alt4 = 1
692 elif LA4 == 59:
693 LA4_16 = self.input.LA(2)
694
695 if (self.synpred7()) :
696 alt4 = 1
697 elif LA4 == 60:
698 LA4_17 = self.input.LA(2)
699
700 if (self.synpred7()) :
701 alt4 = 1
702 if alt4 == 1:
703 # C.g:0:0: d= declaration_specifiers
704 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
705 d = self.declaration_specifiers()
706 self.following.pop()
707 if self.failed:
708 return retval
709
710
711
712 self.following.append(self.FOLLOW_declarator_in_function_definition160)
713 declarator1 = self.declarator()
714 self.following.pop()
715 if self.failed:
716 return retval
717 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
718 alt6 = 2
719 LA6_0 = self.input.LA(1)
720
721 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) :
722 alt6 = 1
723 elif (LA6_0 == 43) :
724 alt6 = 2
725 else:
726 if self.backtracking > 0:
727 self.failed = True
728 return retval
729
730 nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
731
732 raise nvae
733
734 if alt6 == 1:
735 # C.g:147:5: ( declaration )+ a= compound_statement
736 # C.g:147:5: ( declaration )+
737 cnt5 = 0
738 while True: #loop5
739 alt5 = 2
740 LA5_0 = self.input.LA(1)
741
742 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) :
743 alt5 = 1
744
745
746 if alt5 == 1:
747 # C.g:0:0: declaration
748 self.following.append(self.FOLLOW_declaration_in_function_definition166)
749 self.declaration()
750 self.following.pop()
751 if self.failed:
752 return retval
753
754
755 else:
756 if cnt5 >= 1:
757 break #loop5
758
759 if self.backtracking > 0:
760 self.failed = True
761 return retval
762
763 eee = EarlyExitException(5, self.input)
764 raise eee
765
766 cnt5 += 1
767
768
769 self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
770 a = self.compound_statement()
771 self.following.pop()
772 if self.failed:
773 return retval
774
775
776 elif alt6 == 2:
777 # C.g:148:5: b= compound_statement
778 self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
779 b = self.compound_statement()
780 self.following.pop()
781 if self.failed:
782 return retval
783
784
785
786 if self.backtracking == 0:
787
788 if d is not None:
789 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop)
790 else:
791 self.function_definition_stack[-1].ModifierText = ''
792 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop)
793 self.function_definition_stack[-1].DeclLine = declarator1.start.line
794 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
795 if a is not None:
796 self.function_definition_stack[-1].LBLine = a.start.line
797 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
798 else:
799 self.function_definition_stack[-1].LBLine = b.start.line
800 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
801
802
803
804
805
806 retval.stop = self.input.LT(-1)
807
808 if self.backtracking == 0:
809
810 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)
811
812
813
814 except RecognitionException as re:
815 self.reportError(re)
816 self.recover(self.input, re)
817 finally:
818 if self.backtracking > 0:
819 self.memoize(self.input, 3, function_definition_StartIndex)
820
821 self.function_definition_stack.pop()
822 pass
823
824 return retval
825
826 # $ANTLR end function_definition
827
828
829 # $ANTLR start declaration
830 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
831 def declaration(self, ):
832
833 declaration_StartIndex = self.input.index()
834 a = None
835 d = None
836 e = None
837 b = None
838
839 c = None
840
841 s = None
842
843 t = None
844
845
846 try:
847 try:
848 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
849 return
850
851 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
852 alt9 = 2
853 LA9_0 = self.input.LA(1)
854
855 if (LA9_0 == 26) :
856 alt9 = 1
857 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
858 alt9 = 2
859 else:
860 if self.backtracking > 0:
861 self.failed = True
862 return
863
864 nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
865
866 raise nvae
867
868 if alt9 == 1:
869 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
870 a = self.input.LT(1)
871 self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
872 if self.failed:
873 return
874 # C.g:167:17: (b= declaration_specifiers )?
875 alt7 = 2
876 LA7 = self.input.LA(1)
877 if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61:
878 alt7 = 1
879 elif LA7 == IDENTIFIER:
880 LA7_13 = self.input.LA(2)
881
882 if (LA7_13 == 62) :
883 LA7_21 = self.input.LA(3)
884
885 if (self.synpred10()) :
886 alt7 = 1
887 elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
888 alt7 = 1
889 elif LA7 == 58:
890 LA7_14 = self.input.LA(2)
891
892 if (self.synpred10()) :
893 alt7 = 1
894 elif LA7 == 59:
895 LA7_16 = self.input.LA(2)
896
897 if (self.synpred10()) :
898 alt7 = 1
899 elif LA7 == 60:
900 LA7_17 = self.input.LA(2)
901
902 if (self.synpred10()) :
903 alt7 = 1
904 if alt7 == 1:
905 # C.g:0:0: b= declaration_specifiers
906 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
907 b = self.declaration_specifiers()
908 self.following.pop()
909 if self.failed:
910 return
911
912
913
914 self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
915 c = self.init_declarator_list()
916 self.following.pop()
917 if self.failed:
918 return
919 d = self.input.LT(1)
920 self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
921 if self.failed:
922 return
923 if self.backtracking == 0:
924
925 if b is not None:
926 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start, b.stop), self.input.toString(c.start, c.stop))
927 else:
928 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start, c.stop))
929
930
931
932
933 elif alt9 == 2:
934 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
935 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
936 s = self.declaration_specifiers()
937 self.following.pop()
938 if self.failed:
939 return
940 # C.g:175:30: (t= init_declarator_list )?
941 alt8 = 2
942 LA8_0 = self.input.LA(1)
943
944 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
945 alt8 = 1
946 if alt8 == 1:
947 # C.g:0:0: t= init_declarator_list
948 self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
949 t = self.init_declarator_list()
950 self.following.pop()
951 if self.failed:
952 return
953
954
955
956 e = self.input.LT(1)
957 self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
958 if self.failed:
959 return
960 if self.backtracking == 0:
961
962 if t is not None:
963 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))
964
965
966
967
968
969 except RecognitionException as re:
970 self.reportError(re)
971 self.recover(self.input, re)
972 finally:
973 if self.backtracking > 0:
974 self.memoize(self.input, 4, declaration_StartIndex)
975
976 pass
977
978 return
979
980 # $ANTLR end declaration
981
982 class declaration_specifiers_return(object):
983 def __init__(self):
984 self.start = None
985 self.stop = None
986
987
988
989 # $ANTLR start declaration_specifiers
990 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
991 def declaration_specifiers(self, ):
992
993 retval = self.declaration_specifiers_return()
994 retval.start = self.input.LT(1)
995 declaration_specifiers_StartIndex = self.input.index()
996 try:
997 try:
998 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
999 return retval
1000
1001 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1002 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1003 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1004 cnt10 = 0
1005 while True: #loop10
1006 alt10 = 4
1007 LA10 = self.input.LA(1)
1008 if LA10 == 58:
1009 LA10_2 = self.input.LA(2)
1010
1011 if (self.synpred15()) :
1012 alt10 = 3
1013
1014
1015 elif LA10 == 59:
1016 LA10_3 = self.input.LA(2)
1017
1018 if (self.synpred15()) :
1019 alt10 = 3
1020
1021
1022 elif LA10 == 60:
1023 LA10_4 = self.input.LA(2)
1024
1025 if (self.synpred15()) :
1026 alt10 = 3
1027
1028
1029 elif LA10 == IDENTIFIER:
1030 LA10_5 = self.input.LA(2)
1031
1032 if (self.synpred14()) :
1033 alt10 = 2
1034
1035
1036 elif LA10 == 53:
1037 LA10_9 = self.input.LA(2)
1038
1039 if (self.synpred15()) :
1040 alt10 = 3
1041
1042
1043 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1044 alt10 = 1
1045 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:
1046 alt10 = 2
1047 elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61:
1048 alt10 = 3
1049
1050 if alt10 == 1:
1051 # C.g:183:10: storage_class_specifier
1052 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
1053 self.storage_class_specifier()
1054 self.following.pop()
1055 if self.failed:
1056 return retval
1057
1058
1059 elif alt10 == 2:
1060 # C.g:184:7: type_specifier
1061 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
1062 self.type_specifier()
1063 self.following.pop()
1064 if self.failed:
1065 return retval
1066
1067
1068 elif alt10 == 3:
1069 # C.g:185:13: type_qualifier
1070 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
1071 self.type_qualifier()
1072 self.following.pop()
1073 if self.failed:
1074 return retval
1075
1076
1077 else:
1078 if cnt10 >= 1:
1079 break #loop10
1080
1081 if self.backtracking > 0:
1082 self.failed = True
1083 return retval
1084
1085 eee = EarlyExitException(10, self.input)
1086 raise eee
1087
1088 cnt10 += 1
1089
1090
1091
1092
1093
1094 retval.stop = self.input.LT(-1)
1095
1096
1097 except RecognitionException as re:
1098 self.reportError(re)
1099 self.recover(self.input, re)
1100 finally:
1101 if self.backtracking > 0:
1102 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1103
1104 pass
1105
1106 return retval
1107
1108 # $ANTLR end declaration_specifiers
1109
1110 class init_declarator_list_return(object):
1111 def __init__(self):
1112 self.start = None
1113 self.stop = None
1114
1115
1116
1117 # $ANTLR start init_declarator_list
1118 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1119 def init_declarator_list(self, ):
1120
1121 retval = self.init_declarator_list_return()
1122 retval.start = self.input.LT(1)
1123 init_declarator_list_StartIndex = self.input.index()
1124 try:
1125 try:
1126 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1127 return retval
1128
1129 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1130 # C.g:190:4: init_declarator ( ',' init_declarator )*
1131 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
1132 self.init_declarator()
1133 self.following.pop()
1134 if self.failed:
1135 return retval
1136 # C.g:190:20: ( ',' init_declarator )*
1137 while True: #loop11
1138 alt11 = 2
1139 LA11_0 = self.input.LA(1)
1140
1141 if (LA11_0 == 27) :
1142 alt11 = 1
1143
1144
1145 if alt11 == 1:
1146 # C.g:190:21: ',' init_declarator
1147 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
1148 if self.failed:
1149 return retval
1150 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
1151 self.init_declarator()
1152 self.following.pop()
1153 if self.failed:
1154 return retval
1155
1156
1157 else:
1158 break #loop11
1159
1160
1161
1162
1163
1164 retval.stop = self.input.LT(-1)
1165
1166
1167 except RecognitionException as re:
1168 self.reportError(re)
1169 self.recover(self.input, re)
1170 finally:
1171 if self.backtracking > 0:
1172 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1173
1174 pass
1175
1176 return retval
1177
1178 # $ANTLR end init_declarator_list
1179
1180
1181 # $ANTLR start init_declarator
1182 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1183 def init_declarator(self, ):
1184
1185 init_declarator_StartIndex = self.input.index()
1186 try:
1187 try:
1188 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1189 return
1190
1191 # C.g:194:2: ( declarator ( '=' initializer )? )
1192 # C.g:194:4: declarator ( '=' initializer )?
1193 self.following.append(self.FOLLOW_declarator_in_init_declarator326)
1194 self.declarator()
1195 self.following.pop()
1196 if self.failed:
1197 return
1198 # C.g:194:15: ( '=' initializer )?
1199 alt12 = 2
1200 LA12_0 = self.input.LA(1)
1201
1202 if (LA12_0 == 28) :
1203 alt12 = 1
1204 if alt12 == 1:
1205 # C.g:194:16: '=' initializer
1206 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
1207 if self.failed:
1208 return
1209 self.following.append(self.FOLLOW_initializer_in_init_declarator331)
1210 self.initializer()
1211 self.following.pop()
1212 if self.failed:
1213 return
1214
1215
1216
1217
1218
1219
1220
1221 except RecognitionException as re:
1222 self.reportError(re)
1223 self.recover(self.input, re)
1224 finally:
1225 if self.backtracking > 0:
1226 self.memoize(self.input, 7, init_declarator_StartIndex)
1227
1228 pass
1229
1230 return
1231
1232 # $ANTLR end init_declarator
1233
1234
1235 # $ANTLR start storage_class_specifier
1236 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1237 def storage_class_specifier(self, ):
1238
1239 storage_class_specifier_StartIndex = self.input.index()
1240 try:
1241 try:
1242 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1243 return
1244
1245 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1246 # C.g:
1247 if (29 <= self.input.LA(1) <= 33):
1248 self.input.consume();
1249 self.errorRecovery = False
1250 self.failed = False
1251
1252 else:
1253 if self.backtracking > 0:
1254 self.failed = True
1255 return
1256
1257 mse = MismatchedSetException(None, self.input)
1258 self.recoverFromMismatchedSet(
1259 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1260 )
1261 raise mse
1262
1263
1264
1265
1266
1267
1268 except RecognitionException as re:
1269 self.reportError(re)
1270 self.recover(self.input, re)
1271 finally:
1272 if self.backtracking > 0:
1273 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1274
1275 pass
1276
1277 return
1278
1279 # $ANTLR end storage_class_specifier
1280
1281
1282 # $ANTLR start type_specifier
1283 # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1284 def type_specifier(self, ):
1285
1286 type_specifier_StartIndex = self.input.index()
1287 s = None
1288
1289 e = None
1290
1291
1292 try:
1293 try:
1294 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1295 return
1296
1297 # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1298 alt13 = 12
1299 LA13_0 = self.input.LA(1)
1300
1301 if (LA13_0 == 34) :
1302 alt13 = 1
1303 elif (LA13_0 == 35) :
1304 alt13 = 2
1305 elif (LA13_0 == 36) :
1306 alt13 = 3
1307 elif (LA13_0 == 37) :
1308 alt13 = 4
1309 elif (LA13_0 == 38) :
1310 alt13 = 5
1311 elif (LA13_0 == 39) :
1312 alt13 = 6
1313 elif (LA13_0 == 40) :
1314 alt13 = 7
1315 elif (LA13_0 == 41) :
1316 alt13 = 8
1317 elif (LA13_0 == 42) :
1318 alt13 = 9
1319 elif ((45 <= LA13_0 <= 46)) :
1320 alt13 = 10
1321 elif (LA13_0 == 48) :
1322 alt13 = 11
1323 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1324 alt13 = 12
1325 else:
1326 if self.backtracking > 0:
1327 self.failed = True
1328 return
1329
1330 nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
1331
1332 raise nvae
1333
1334 if alt13 == 1:
1335 # C.g:206:4: 'void'
1336 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
1337 if self.failed:
1338 return
1339
1340
1341 elif alt13 == 2:
1342 # C.g:207:4: 'char'
1343 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
1344 if self.failed:
1345 return
1346
1347
1348 elif alt13 == 3:
1349 # C.g:208:4: 'short'
1350 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
1351 if self.failed:
1352 return
1353
1354
1355 elif alt13 == 4:
1356 # C.g:209:4: 'int'
1357 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
1358 if self.failed:
1359 return
1360
1361
1362 elif alt13 == 5:
1363 # C.g:210:4: 'long'
1364 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
1365 if self.failed:
1366 return
1367
1368
1369 elif alt13 == 6:
1370 # C.g:211:4: 'float'
1371 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
1372 if self.failed:
1373 return
1374
1375
1376 elif alt13 == 7:
1377 # C.g:212:4: 'double'
1378 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
1379 if self.failed:
1380 return
1381
1382
1383 elif alt13 == 8:
1384 # C.g:213:4: 'signed'
1385 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
1386 if self.failed:
1387 return
1388
1389
1390 elif alt13 == 9:
1391 # C.g:214:4: 'unsigned'
1392 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
1393 if self.failed:
1394 return
1395
1396
1397 elif alt13 == 10:
1398 # C.g:215:4: s= struct_or_union_specifier
1399 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
1400 s = self.struct_or_union_specifier()
1401 self.following.pop()
1402 if self.failed:
1403 return
1404 if self.backtracking == 0:
1405
1406 if s.stop is not None:
1407 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start, s.stop))
1408
1409
1410
1411
1412 elif alt13 == 11:
1413 # C.g:220:4: e= enum_specifier
1414 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
1415 e = self.enum_specifier()
1416 self.following.pop()
1417 if self.failed:
1418 return
1419 if self.backtracking == 0:
1420
1421 if e.stop is not None:
1422 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
1423
1424
1425
1426
1427 elif alt13 == 12:
1428 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1429 self.following.append(self.FOLLOW_type_id_in_type_specifier451)
1430 self.type_id()
1431 self.following.pop()
1432 if self.failed:
1433 return
1434
1435
1436
1437 except RecognitionException as re:
1438 self.reportError(re)
1439 self.recover(self.input, re)
1440 finally:
1441 if self.backtracking > 0:
1442 self.memoize(self.input, 9, type_specifier_StartIndex)
1443
1444 pass
1445
1446 return
1447
1448 # $ANTLR end type_specifier
1449
1450
1451 # $ANTLR start type_id
1452 # C.g:228:1: type_id : IDENTIFIER ;
1453 def type_id(self, ):
1454
1455 type_id_StartIndex = self.input.index()
1456 try:
1457 try:
1458 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1459 return
1460
1461 # C.g:229:5: ( IDENTIFIER )
1462 # C.g:229:9: IDENTIFIER
1463 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
1464 if self.failed:
1465 return
1466
1467
1468
1469
1470 except RecognitionException as re:
1471 self.reportError(re)
1472 self.recover(self.input, re)
1473 finally:
1474 if self.backtracking > 0:
1475 self.memoize(self.input, 10, type_id_StartIndex)
1476
1477 pass
1478
1479 return
1480
1481 # $ANTLR end type_id
1482
1483 class struct_or_union_specifier_return(object):
1484 def __init__(self):
1485 self.start = None
1486 self.stop = None
1487
1488
1489
1490 # $ANTLR start struct_or_union_specifier
1491 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1492 def struct_or_union_specifier(self, ):
1493
1494 retval = self.struct_or_union_specifier_return()
1495 retval.start = self.input.LT(1)
1496 struct_or_union_specifier_StartIndex = self.input.index()
1497 try:
1498 try:
1499 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1500 return retval
1501
1502 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1503 alt15 = 2
1504 LA15_0 = self.input.LA(1)
1505
1506 if ((45 <= LA15_0 <= 46)) :
1507 LA15_1 = self.input.LA(2)
1508
1509 if (LA15_1 == IDENTIFIER) :
1510 LA15_2 = self.input.LA(3)
1511
1512 if (LA15_2 == 43) :
1513 alt15 = 1
1514 elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) :
1515 alt15 = 2
1516 else:
1517 if self.backtracking > 0:
1518 self.failed = True
1519 return retval
1520
1521 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
1522
1523 raise nvae
1524
1525 elif (LA15_1 == 43) :
1526 alt15 = 1
1527 else:
1528 if self.backtracking > 0:
1529 self.failed = True
1530 return retval
1531
1532 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
1533
1534 raise nvae
1535
1536 else:
1537 if self.backtracking > 0:
1538 self.failed = True
1539 return retval
1540
1541 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
1542
1543 raise nvae
1544
1545 if alt15 == 1:
1546 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1547 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
1548 self.struct_or_union()
1549 self.following.pop()
1550 if self.failed:
1551 return retval
1552 # C.g:235:20: ( IDENTIFIER )?
1553 alt14 = 2
1554 LA14_0 = self.input.LA(1)
1555
1556 if (LA14_0 == IDENTIFIER) :
1557 alt14 = 1
1558 if alt14 == 1:
1559 # C.g:0:0: IDENTIFIER
1560 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
1561 if self.failed:
1562 return retval
1563
1564
1565
1566 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
1567 if self.failed:
1568 return retval
1569 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
1570 self.struct_declaration_list()
1571 self.following.pop()
1572 if self.failed:
1573 return retval
1574 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
1575 if self.failed:
1576 return retval
1577
1578
1579 elif alt15 == 2:
1580 # C.g:236:4: struct_or_union IDENTIFIER
1581 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
1582 self.struct_or_union()
1583 self.following.pop()
1584 if self.failed:
1585 return retval
1586 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
1587 if self.failed:
1588 return retval
1589
1590
1591 retval.stop = self.input.LT(-1)
1592
1593
1594 except RecognitionException as re:
1595 self.reportError(re)
1596 self.recover(self.input, re)
1597 finally:
1598 if self.backtracking > 0:
1599 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1600
1601 pass
1602
1603 return retval
1604
1605 # $ANTLR end struct_or_union_specifier
1606
1607
1608 # $ANTLR start struct_or_union
1609 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1610 def struct_or_union(self, ):
1611
1612 struct_or_union_StartIndex = self.input.index()
1613 try:
1614 try:
1615 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1616 return
1617
1618 # C.g:240:2: ( 'struct' | 'union' )
1619 # C.g:
1620 if (45 <= self.input.LA(1) <= 46):
1621 self.input.consume();
1622 self.errorRecovery = False
1623 self.failed = False
1624
1625 else:
1626 if self.backtracking > 0:
1627 self.failed = True
1628 return
1629
1630 mse = MismatchedSetException(None, self.input)
1631 self.recoverFromMismatchedSet(
1632 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1633 )
1634 raise mse
1635
1636
1637
1638
1639
1640
1641 except RecognitionException as re:
1642 self.reportError(re)
1643 self.recover(self.input, re)
1644 finally:
1645 if self.backtracking > 0:
1646 self.memoize(self.input, 12, struct_or_union_StartIndex)
1647
1648 pass
1649
1650 return
1651
1652 # $ANTLR end struct_or_union
1653
1654
1655 # $ANTLR start struct_declaration_list
1656 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1657 def struct_declaration_list(self, ):
1658
1659 struct_declaration_list_StartIndex = self.input.index()
1660 try:
1661 try:
1662 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1663 return
1664
1665 # C.g:245:2: ( ( struct_declaration )+ )
1666 # C.g:245:4: ( struct_declaration )+
1667 # C.g:245:4: ( struct_declaration )+
1668 cnt16 = 0
1669 while True: #loop16
1670 alt16 = 2
1671 LA16_0 = self.input.LA(1)
1672
1673 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
1674 alt16 = 1
1675
1676
1677 if alt16 == 1:
1678 # C.g:0:0: struct_declaration
1679 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
1680 self.struct_declaration()
1681 self.following.pop()
1682 if self.failed:
1683 return
1684
1685
1686 else:
1687 if cnt16 >= 1:
1688 break #loop16
1689
1690 if self.backtracking > 0:
1691 self.failed = True
1692 return
1693
1694 eee = EarlyExitException(16, self.input)
1695 raise eee
1696
1697 cnt16 += 1
1698
1699
1700
1701
1702
1703
1704 except RecognitionException as re:
1705 self.reportError(re)
1706 self.recover(self.input, re)
1707 finally:
1708 if self.backtracking > 0:
1709 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1710
1711 pass
1712
1713 return
1714
1715 # $ANTLR end struct_declaration_list
1716
1717
1718 # $ANTLR start struct_declaration
1719 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1720 def struct_declaration(self, ):
1721
1722 struct_declaration_StartIndex = self.input.index()
1723 try:
1724 try:
1725 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1726 return
1727
1728 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1729 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1730 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
1731 self.specifier_qualifier_list()
1732 self.following.pop()
1733 if self.failed:
1734 return
1735 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
1736 self.struct_declarator_list()
1737 self.following.pop()
1738 if self.failed:
1739 return
1740 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
1741 if self.failed:
1742 return
1743
1744
1745
1746
1747 except RecognitionException as re:
1748 self.reportError(re)
1749 self.recover(self.input, re)
1750 finally:
1751 if self.backtracking > 0:
1752 self.memoize(self.input, 14, struct_declaration_StartIndex)
1753
1754 pass
1755
1756 return
1757
1758 # $ANTLR end struct_declaration
1759
1760
1761 # $ANTLR start specifier_qualifier_list
1762 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1763 def specifier_qualifier_list(self, ):
1764
1765 specifier_qualifier_list_StartIndex = self.input.index()
1766 try:
1767 try:
1768 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1769 return
1770
1771 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1772 # C.g:253:4: ( type_qualifier | type_specifier )+
1773 # C.g:253:4: ( type_qualifier | type_specifier )+
1774 cnt17 = 0
1775 while True: #loop17
1776 alt17 = 3
1777 LA17 = self.input.LA(1)
1778 if LA17 == 58:
1779 LA17_2 = self.input.LA(2)
1780
1781 if (self.synpred39()) :
1782 alt17 = 1
1783
1784
1785 elif LA17 == 59:
1786 LA17_3 = self.input.LA(2)
1787
1788 if (self.synpred39()) :
1789 alt17 = 1
1790
1791
1792 elif LA17 == 60:
1793 LA17_4 = self.input.LA(2)
1794
1795 if (self.synpred39()) :
1796 alt17 = 1
1797
1798
1799 elif LA17 == IDENTIFIER:
1800 LA17 = self.input.LA(2)
1801 if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 61 or LA17 == 63 or LA17 == 66:
1802 alt17 = 2
1803 elif LA17 == 62:
1804 LA17_94 = self.input.LA(3)
1805
1806 if (self.synpred40()) :
1807 alt17 = 2
1808
1809
1810 elif LA17 == 47:
1811 LA17_95 = self.input.LA(3)
1812
1813 if (self.synpred40()) :
1814 alt17 = 2
1815
1816
1817 elif LA17 == 64:
1818 LA17_96 = self.input.LA(3)
1819
1820 if (self.synpred40()) :
1821 alt17 = 2
1822
1823
1824
1825 elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 61:
1826 alt17 = 1
1827 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:
1828 alt17 = 2
1829
1830 if alt17 == 1:
1831 # C.g:253:6: type_qualifier
1832 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
1833 self.type_qualifier()
1834 self.following.pop()
1835 if self.failed:
1836 return
1837
1838
1839 elif alt17 == 2:
1840 # C.g:253:23: type_specifier
1841 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
1842 self.type_specifier()
1843 self.following.pop()
1844 if self.failed:
1845 return
1846
1847
1848 else:
1849 if cnt17 >= 1:
1850 break #loop17
1851
1852 if self.backtracking > 0:
1853 self.failed = True
1854 return
1855
1856 eee = EarlyExitException(17, self.input)
1857 raise eee
1858
1859 cnt17 += 1
1860
1861
1862
1863
1864
1865
1866 except RecognitionException as re:
1867 self.reportError(re)
1868 self.recover(self.input, re)
1869 finally:
1870 if self.backtracking > 0:
1871 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1872
1873 pass
1874
1875 return
1876
1877 # $ANTLR end specifier_qualifier_list
1878
1879
1880 # $ANTLR start struct_declarator_list
1881 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1882 def struct_declarator_list(self, ):
1883
1884 struct_declarator_list_StartIndex = self.input.index()
1885 try:
1886 try:
1887 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1888 return
1889
1890 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1891 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1892 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
1893 self.struct_declarator()
1894 self.following.pop()
1895 if self.failed:
1896 return
1897 # C.g:257:22: ( ',' struct_declarator )*
1898 while True: #loop18
1899 alt18 = 2
1900 LA18_0 = self.input.LA(1)
1901
1902 if (LA18_0 == 27) :
1903 alt18 = 1
1904
1905
1906 if alt18 == 1:
1907 # C.g:257:23: ',' struct_declarator
1908 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
1909 if self.failed:
1910 return
1911 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
1912 self.struct_declarator()
1913 self.following.pop()
1914 if self.failed:
1915 return
1916
1917
1918 else:
1919 break #loop18
1920
1921
1922
1923
1924
1925
1926 except RecognitionException as re:
1927 self.reportError(re)
1928 self.recover(self.input, re)
1929 finally:
1930 if self.backtracking > 0:
1931 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1932
1933 pass
1934
1935 return
1936
1937 # $ANTLR end struct_declarator_list
1938
1939
1940 # $ANTLR start struct_declarator
1941 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1942 def struct_declarator(self, ):
1943
1944 struct_declarator_StartIndex = self.input.index()
1945 try:
1946 try:
1947 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1948 return
1949
1950 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1951 alt20 = 2
1952 LA20_0 = self.input.LA(1)
1953
1954 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
1955 alt20 = 1
1956 elif (LA20_0 == 47) :
1957 alt20 = 2
1958 else:
1959 if self.backtracking > 0:
1960 self.failed = True
1961 return
1962
1963 nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1964
1965 raise nvae
1966
1967 if alt20 == 1:
1968 # C.g:261:4: declarator ( ':' constant_expression )?
1969 self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
1970 self.declarator()
1971 self.following.pop()
1972 if self.failed:
1973 return
1974 # C.g:261:15: ( ':' constant_expression )?
1975 alt19 = 2
1976 LA19_0 = self.input.LA(1)
1977
1978 if (LA19_0 == 47) :
1979 alt19 = 1
1980 if alt19 == 1:
1981 # C.g:261:16: ':' constant_expression
1982 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
1983 if self.failed:
1984 return
1985 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
1986 self.constant_expression()
1987 self.following.pop()
1988 if self.failed:
1989 return
1990
1991
1992
1993
1994
1995 elif alt20 == 2:
1996 # C.g:262:4: ':' constant_expression
1997 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
1998 if self.failed:
1999 return
2000 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
2001 self.constant_expression()
2002 self.following.pop()
2003 if self.failed:
2004 return
2005
2006
2007
2008 except RecognitionException as re:
2009 self.reportError(re)
2010 self.recover(self.input, re)
2011 finally:
2012 if self.backtracking > 0:
2013 self.memoize(self.input, 17, struct_declarator_StartIndex)
2014
2015 pass
2016
2017 return
2018
2019 # $ANTLR end struct_declarator
2020
2021 class enum_specifier_return(object):
2022 def __init__(self):
2023 self.start = None
2024 self.stop = None
2025
2026
2027
2028 # $ANTLR start enum_specifier
2029 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2030 def enum_specifier(self, ):
2031
2032 retval = self.enum_specifier_return()
2033 retval.start = self.input.LT(1)
2034 enum_specifier_StartIndex = self.input.index()
2035 try:
2036 try:
2037 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2038 return retval
2039
2040 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2041 alt23 = 3
2042 LA23_0 = self.input.LA(1)
2043
2044 if (LA23_0 == 48) :
2045 LA23_1 = self.input.LA(2)
2046
2047 if (LA23_1 == IDENTIFIER) :
2048 LA23_2 = self.input.LA(3)
2049
2050 if (LA23_2 == 43) :
2051 alt23 = 2
2052 elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) :
2053 alt23 = 3
2054 else:
2055 if self.backtracking > 0:
2056 self.failed = True
2057 return retval
2058
2059 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2060
2061 raise nvae
2062
2063 elif (LA23_1 == 43) :
2064 alt23 = 1
2065 else:
2066 if self.backtracking > 0:
2067 self.failed = True
2068 return retval
2069
2070 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2071
2072 raise nvae
2073
2074 else:
2075 if self.backtracking > 0:
2076 self.failed = True
2077 return retval
2078
2079 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2080
2081 raise nvae
2082
2083 if alt23 == 1:
2084 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2085 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
2086 if self.failed:
2087 return retval
2088 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
2089 if self.failed:
2090 return retval
2091 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
2092 self.enumerator_list()
2093 self.following.pop()
2094 if self.failed:
2095 return retval
2096 # C.g:267:31: ( ',' )?
2097 alt21 = 2
2098 LA21_0 = self.input.LA(1)
2099
2100 if (LA21_0 == 27) :
2101 alt21 = 1
2102 if alt21 == 1:
2103 # C.g:0:0: ','
2104 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
2105 if self.failed:
2106 return retval
2107
2108
2109
2110 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
2111 if self.failed:
2112 return retval
2113
2114
2115 elif alt23 == 2:
2116 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2117 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
2118 if self.failed:
2119 return retval
2120 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
2121 if self.failed:
2122 return retval
2123 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
2124 if self.failed:
2125 return retval
2126 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
2127 self.enumerator_list()
2128 self.following.pop()
2129 if self.failed:
2130 return retval
2131 # C.g:268:42: ( ',' )?
2132 alt22 = 2
2133 LA22_0 = self.input.LA(1)
2134
2135 if (LA22_0 == 27) :
2136 alt22 = 1
2137 if alt22 == 1:
2138 # C.g:0:0: ','
2139 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
2140 if self.failed:
2141 return retval
2142
2143
2144
2145 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
2146 if self.failed:
2147 return retval
2148
2149
2150 elif alt23 == 3:
2151 # C.g:269:4: 'enum' IDENTIFIER
2152 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
2153 if self.failed:
2154 return retval
2155 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
2156 if self.failed:
2157 return retval
2158
2159
2160 retval.stop = self.input.LT(-1)
2161
2162
2163 except RecognitionException as re:
2164 self.reportError(re)
2165 self.recover(self.input, re)
2166 finally:
2167 if self.backtracking > 0:
2168 self.memoize(self.input, 18, enum_specifier_StartIndex)
2169
2170 pass
2171
2172 return retval
2173
2174 # $ANTLR end enum_specifier
2175
2176
2177 # $ANTLR start enumerator_list
2178 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2179 def enumerator_list(self, ):
2180
2181 enumerator_list_StartIndex = self.input.index()
2182 try:
2183 try:
2184 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2185 return
2186
2187 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2188 # C.g:273:4: enumerator ( ',' enumerator )*
2189 self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
2190 self.enumerator()
2191 self.following.pop()
2192 if self.failed:
2193 return
2194 # C.g:273:15: ( ',' enumerator )*
2195 while True: #loop24
2196 alt24 = 2
2197 LA24_0 = self.input.LA(1)
2198
2199 if (LA24_0 == 27) :
2200 LA24_1 = self.input.LA(2)
2201
2202 if (LA24_1 == IDENTIFIER) :
2203 alt24 = 1
2204
2205
2206
2207
2208 if alt24 == 1:
2209 # C.g:273:16: ',' enumerator
2210 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
2211 if self.failed:
2212 return
2213 self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
2214 self.enumerator()
2215 self.following.pop()
2216 if self.failed:
2217 return
2218
2219
2220 else:
2221 break #loop24
2222
2223
2224
2225
2226
2227
2228 except RecognitionException as re:
2229 self.reportError(re)
2230 self.recover(self.input, re)
2231 finally:
2232 if self.backtracking > 0:
2233 self.memoize(self.input, 19, enumerator_list_StartIndex)
2234
2235 pass
2236
2237 return
2238
2239 # $ANTLR end enumerator_list
2240
2241
2242 # $ANTLR start enumerator
2243 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2244 def enumerator(self, ):
2245
2246 enumerator_StartIndex = self.input.index()
2247 try:
2248 try:
2249 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2250 return
2251
2252 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2253 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2254 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
2255 if self.failed:
2256 return
2257 # C.g:277:15: ( '=' constant_expression )?
2258 alt25 = 2
2259 LA25_0 = self.input.LA(1)
2260
2261 if (LA25_0 == 28) :
2262 alt25 = 1
2263 if alt25 == 1:
2264 # C.g:277:16: '=' constant_expression
2265 self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
2266 if self.failed:
2267 return
2268 self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
2269 self.constant_expression()
2270 self.following.pop()
2271 if self.failed:
2272 return
2273
2274
2275
2276
2277
2278
2279
2280 except RecognitionException as re:
2281 self.reportError(re)
2282 self.recover(self.input, re)
2283 finally:
2284 if self.backtracking > 0:
2285 self.memoize(self.input, 20, enumerator_StartIndex)
2286
2287 pass
2288
2289 return
2290
2291 # $ANTLR end enumerator
2292
2293
2294 # $ANTLR start type_qualifier
2295 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2296 def type_qualifier(self, ):
2297
2298 type_qualifier_StartIndex = self.input.index()
2299 try:
2300 try:
2301 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2302 return
2303
2304 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2305 # C.g:
2306 if (49 <= self.input.LA(1) <= 61):
2307 self.input.consume();
2308 self.errorRecovery = False
2309 self.failed = False
2310
2311 else:
2312 if self.backtracking > 0:
2313 self.failed = True
2314 return
2315
2316 mse = MismatchedSetException(None, self.input)
2317 self.recoverFromMismatchedSet(
2318 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2319 )
2320 raise mse
2321
2322
2323
2324
2325
2326
2327 except RecognitionException as re:
2328 self.reportError(re)
2329 self.recover(self.input, re)
2330 finally:
2331 if self.backtracking > 0:
2332 self.memoize(self.input, 21, type_qualifier_StartIndex)
2333
2334 pass
2335
2336 return
2337
2338 # $ANTLR end type_qualifier
2339
2340 class declarator_return(object):
2341 def __init__(self):
2342 self.start = None
2343 self.stop = None
2344
2345
2346
2347 # $ANTLR start declarator
2348 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2349 def declarator(self, ):
2350
2351 retval = self.declarator_return()
2352 retval.start = self.input.LT(1)
2353 declarator_StartIndex = self.input.index()
2354 try:
2355 try:
2356 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2357 return retval
2358
2359 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2360 alt30 = 2
2361 LA30_0 = self.input.LA(1)
2362
2363 if (LA30_0 == 66) :
2364 LA30_1 = self.input.LA(2)
2365
2366 if (self.synpred66()) :
2367 alt30 = 1
2368 elif (True) :
2369 alt30 = 2
2370 else:
2371 if self.backtracking > 0:
2372 self.failed = True
2373 return retval
2374
2375 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2376
2377 raise nvae
2378
2379 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
2380 alt30 = 1
2381 else:
2382 if self.backtracking > 0:
2383 self.failed = True
2384 return retval
2385
2386 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2387
2388 raise nvae
2389
2390 if alt30 == 1:
2391 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2392 # C.g:297:4: ( pointer )?
2393 alt26 = 2
2394 LA26_0 = self.input.LA(1)
2395
2396 if (LA26_0 == 66) :
2397 alt26 = 1
2398 if alt26 == 1:
2399 # C.g:0:0: pointer
2400 self.following.append(self.FOLLOW_pointer_in_declarator784)
2401 self.pointer()
2402 self.following.pop()
2403 if self.failed:
2404 return retval
2405
2406
2407
2408 # C.g:297:13: ( 'EFIAPI' )?
2409 alt27 = 2
2410 LA27_0 = self.input.LA(1)
2411
2412 if (LA27_0 == 58) :
2413 alt27 = 1
2414 if alt27 == 1:
2415 # C.g:297:14: 'EFIAPI'
2416 self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
2417 if self.failed:
2418 return retval
2419
2420
2421
2422 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2423 alt28 = 2
2424 LA28_0 = self.input.LA(1)
2425
2426 if (LA28_0 == 59) :
2427 alt28 = 1
2428 if alt28 == 1:
2429 # C.g:297:26: 'EFI_BOOTSERVICE'
2430 self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
2431 if self.failed:
2432 return retval
2433
2434
2435
2436 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2437 alt29 = 2
2438 LA29_0 = self.input.LA(1)
2439
2440 if (LA29_0 == 60) :
2441 alt29 = 1
2442 if alt29 == 1:
2443 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2444 self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
2445 if self.failed:
2446 return retval
2447
2448
2449
2450 self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
2451 self.direct_declarator()
2452 self.following.pop()
2453 if self.failed:
2454 return retval
2455
2456
2457 elif alt30 == 2:
2458 # C.g:299:4: pointer
2459 self.following.append(self.FOLLOW_pointer_in_declarator808)
2460 self.pointer()
2461 self.following.pop()
2462 if self.failed:
2463 return retval
2464
2465
2466 retval.stop = self.input.LT(-1)
2467
2468
2469 except RecognitionException as re:
2470 self.reportError(re)
2471 self.recover(self.input, re)
2472 finally:
2473 if self.backtracking > 0:
2474 self.memoize(self.input, 22, declarator_StartIndex)
2475
2476 pass
2477
2478 return retval
2479
2480 # $ANTLR end declarator
2481
2482
2483 # $ANTLR start direct_declarator
2484 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2485 def direct_declarator(self, ):
2486
2487 direct_declarator_StartIndex = self.input.index()
2488 try:
2489 try:
2490 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2491 return
2492
2493 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2494 alt34 = 2
2495 LA34_0 = self.input.LA(1)
2496
2497 if (LA34_0 == IDENTIFIER) :
2498 alt34 = 1
2499 elif (LA34_0 == 62) :
2500 alt34 = 2
2501 else:
2502 if self.backtracking > 0:
2503 self.failed = True
2504 return
2505
2506 nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2507
2508 raise nvae
2509
2510 if alt34 == 1:
2511 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2512 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
2513 if self.failed:
2514 return
2515 # C.g:303:15: ( declarator_suffix )*
2516 while True: #loop31
2517 alt31 = 2
2518 LA31_0 = self.input.LA(1)
2519
2520 if (LA31_0 == 62) :
2521 LA31 = self.input.LA(2)
2522 if LA31 == 63:
2523 LA31_30 = self.input.LA(3)
2524
2525 if (self.synpred67()) :
2526 alt31 = 1
2527
2528
2529 elif LA31 == 58:
2530 LA31_31 = self.input.LA(3)
2531
2532 if (self.synpred67()) :
2533 alt31 = 1
2534
2535
2536 elif LA31 == 66:
2537 LA31_32 = self.input.LA(3)
2538
2539 if (self.synpred67()) :
2540 alt31 = 1
2541
2542
2543 elif LA31 == 59:
2544 LA31_33 = self.input.LA(3)
2545
2546 if (self.synpred67()) :
2547 alt31 = 1
2548
2549
2550 elif LA31 == 60:
2551 LA31_34 = self.input.LA(3)
2552
2553 if (self.synpred67()) :
2554 alt31 = 1
2555
2556
2557 elif LA31 == IDENTIFIER:
2558 LA31_35 = self.input.LA(3)
2559
2560 if (self.synpred67()) :
2561 alt31 = 1
2562
2563
2564 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2565 LA31_37 = self.input.LA(3)
2566
2567 if (self.synpred67()) :
2568 alt31 = 1
2569
2570
2571 elif LA31 == 34:
2572 LA31_38 = self.input.LA(3)
2573
2574 if (self.synpred67()) :
2575 alt31 = 1
2576
2577
2578 elif LA31 == 35:
2579 LA31_39 = self.input.LA(3)
2580
2581 if (self.synpred67()) :
2582 alt31 = 1
2583
2584
2585 elif LA31 == 36:
2586 LA31_40 = self.input.LA(3)
2587
2588 if (self.synpred67()) :
2589 alt31 = 1
2590
2591
2592 elif LA31 == 37:
2593 LA31_41 = self.input.LA(3)
2594
2595 if (self.synpred67()) :
2596 alt31 = 1
2597
2598
2599 elif LA31 == 38:
2600 LA31_42 = self.input.LA(3)
2601
2602 if (self.synpred67()) :
2603 alt31 = 1
2604
2605
2606 elif LA31 == 39:
2607 LA31_43 = self.input.LA(3)
2608
2609 if (self.synpred67()) :
2610 alt31 = 1
2611
2612
2613 elif LA31 == 40:
2614 LA31_44 = self.input.LA(3)
2615
2616 if (self.synpred67()) :
2617 alt31 = 1
2618
2619
2620 elif LA31 == 41:
2621 LA31_45 = self.input.LA(3)
2622
2623 if (self.synpred67()) :
2624 alt31 = 1
2625
2626
2627 elif LA31 == 42:
2628 LA31_46 = self.input.LA(3)
2629
2630 if (self.synpred67()) :
2631 alt31 = 1
2632
2633
2634 elif LA31 == 45 or LA31 == 46:
2635 LA31_47 = self.input.LA(3)
2636
2637 if (self.synpred67()) :
2638 alt31 = 1
2639
2640
2641 elif LA31 == 48:
2642 LA31_48 = self.input.LA(3)
2643
2644 if (self.synpred67()) :
2645 alt31 = 1
2646
2647
2648 elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61:
2649 LA31_49 = self.input.LA(3)
2650
2651 if (self.synpred67()) :
2652 alt31 = 1
2653
2654
2655
2656 elif (LA31_0 == 64) :
2657 LA31 = self.input.LA(2)
2658 if LA31 == 65:
2659 LA31_51 = self.input.LA(3)
2660
2661 if (self.synpred67()) :
2662 alt31 = 1
2663
2664
2665 elif LA31 == 62:
2666 LA31_52 = self.input.LA(3)
2667
2668 if (self.synpred67()) :
2669 alt31 = 1
2670
2671
2672 elif LA31 == IDENTIFIER:
2673 LA31_53 = self.input.LA(3)
2674
2675 if (self.synpred67()) :
2676 alt31 = 1
2677
2678
2679 elif LA31 == HEX_LITERAL:
2680 LA31_54 = self.input.LA(3)
2681
2682 if (self.synpred67()) :
2683 alt31 = 1
2684
2685
2686 elif LA31 == OCTAL_LITERAL:
2687 LA31_55 = self.input.LA(3)
2688
2689 if (self.synpred67()) :
2690 alt31 = 1
2691
2692
2693 elif LA31 == DECIMAL_LITERAL:
2694 LA31_56 = self.input.LA(3)
2695
2696 if (self.synpred67()) :
2697 alt31 = 1
2698
2699
2700 elif LA31 == CHARACTER_LITERAL:
2701 LA31_57 = self.input.LA(3)
2702
2703 if (self.synpred67()) :
2704 alt31 = 1
2705
2706
2707 elif LA31 == STRING_LITERAL:
2708 LA31_58 = self.input.LA(3)
2709
2710 if (self.synpred67()) :
2711 alt31 = 1
2712
2713
2714 elif LA31 == FLOATING_POINT_LITERAL:
2715 LA31_59 = self.input.LA(3)
2716
2717 if (self.synpred67()) :
2718 alt31 = 1
2719
2720
2721 elif LA31 == 72:
2722 LA31_60 = self.input.LA(3)
2723
2724 if (self.synpred67()) :
2725 alt31 = 1
2726
2727
2728 elif LA31 == 73:
2729 LA31_61 = self.input.LA(3)
2730
2731 if (self.synpred67()) :
2732 alt31 = 1
2733
2734
2735 elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
2736 LA31_62 = self.input.LA(3)
2737
2738 if (self.synpred67()) :
2739 alt31 = 1
2740
2741
2742 elif LA31 == 74:
2743 LA31_63 = self.input.LA(3)
2744
2745 if (self.synpred67()) :
2746 alt31 = 1
2747
2748
2749
2750
2751
2752 if alt31 == 1:
2753 # C.g:0:0: declarator_suffix
2754 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
2755 self.declarator_suffix()
2756 self.following.pop()
2757 if self.failed:
2758 return
2759
2760
2761 else:
2762 break #loop31
2763
2764
2765
2766
2767 elif alt34 == 2:
2768 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2769 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
2770 if self.failed:
2771 return
2772 # C.g:304:8: ( 'EFIAPI' )?
2773 alt32 = 2
2774 LA32_0 = self.input.LA(1)
2775
2776 if (LA32_0 == 58) :
2777 LA32_1 = self.input.LA(2)
2778
2779 if (self.synpred69()) :
2780 alt32 = 1
2781 if alt32 == 1:
2782 # C.g:304:9: 'EFIAPI'
2783 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
2784 if self.failed:
2785 return
2786
2787
2788
2789 self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
2790 self.declarator()
2791 self.following.pop()
2792 if self.failed:
2793 return
2794 self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
2795 if self.failed:
2796 return
2797 # C.g:304:35: ( declarator_suffix )+
2798 cnt33 = 0
2799 while True: #loop33
2800 alt33 = 2
2801 LA33_0 = self.input.LA(1)
2802
2803 if (LA33_0 == 62) :
2804 LA33 = self.input.LA(2)
2805 if LA33 == 63:
2806 LA33_30 = self.input.LA(3)
2807
2808 if (self.synpred70()) :
2809 alt33 = 1
2810
2811
2812 elif LA33 == 58:
2813 LA33_31 = self.input.LA(3)
2814
2815 if (self.synpred70()) :
2816 alt33 = 1
2817
2818
2819 elif LA33 == 66:
2820 LA33_32 = self.input.LA(3)
2821
2822 if (self.synpred70()) :
2823 alt33 = 1
2824
2825
2826 elif LA33 == 59:
2827 LA33_33 = self.input.LA(3)
2828
2829 if (self.synpred70()) :
2830 alt33 = 1
2831
2832
2833 elif LA33 == 60:
2834 LA33_34 = self.input.LA(3)
2835
2836 if (self.synpred70()) :
2837 alt33 = 1
2838
2839
2840 elif LA33 == IDENTIFIER:
2841 LA33_35 = self.input.LA(3)
2842
2843 if (self.synpred70()) :
2844 alt33 = 1
2845
2846
2847 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2848 LA33_37 = self.input.LA(3)
2849
2850 if (self.synpred70()) :
2851 alt33 = 1
2852
2853
2854 elif LA33 == 34:
2855 LA33_38 = self.input.LA(3)
2856
2857 if (self.synpred70()) :
2858 alt33 = 1
2859
2860
2861 elif LA33 == 35:
2862 LA33_39 = self.input.LA(3)
2863
2864 if (self.synpred70()) :
2865 alt33 = 1
2866
2867
2868 elif LA33 == 36:
2869 LA33_40 = self.input.LA(3)
2870
2871 if (self.synpred70()) :
2872 alt33 = 1
2873
2874
2875 elif LA33 == 37:
2876 LA33_41 = self.input.LA(3)
2877
2878 if (self.synpred70()) :
2879 alt33 = 1
2880
2881
2882 elif LA33 == 38:
2883 LA33_42 = self.input.LA(3)
2884
2885 if (self.synpred70()) :
2886 alt33 = 1
2887
2888
2889 elif LA33 == 39:
2890 LA33_43 = self.input.LA(3)
2891
2892 if (self.synpred70()) :
2893 alt33 = 1
2894
2895
2896 elif LA33 == 40:
2897 LA33_44 = self.input.LA(3)
2898
2899 if (self.synpred70()) :
2900 alt33 = 1
2901
2902
2903 elif LA33 == 41:
2904 LA33_45 = self.input.LA(3)
2905
2906 if (self.synpred70()) :
2907 alt33 = 1
2908
2909
2910 elif LA33 == 42:
2911 LA33_46 = self.input.LA(3)
2912
2913 if (self.synpred70()) :
2914 alt33 = 1
2915
2916
2917 elif LA33 == 45 or LA33 == 46:
2918 LA33_47 = self.input.LA(3)
2919
2920 if (self.synpred70()) :
2921 alt33 = 1
2922
2923
2924 elif LA33 == 48:
2925 LA33_48 = self.input.LA(3)
2926
2927 if (self.synpred70()) :
2928 alt33 = 1
2929
2930
2931 elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61:
2932 LA33_49 = self.input.LA(3)
2933
2934 if (self.synpred70()) :
2935 alt33 = 1
2936
2937
2938
2939 elif (LA33_0 == 64) :
2940 LA33 = self.input.LA(2)
2941 if LA33 == 65:
2942 LA33_51 = self.input.LA(3)
2943
2944 if (self.synpred70()) :
2945 alt33 = 1
2946
2947
2948 elif LA33 == 62:
2949 LA33_52 = self.input.LA(3)
2950
2951 if (self.synpred70()) :
2952 alt33 = 1
2953
2954
2955 elif LA33 == IDENTIFIER:
2956 LA33_53 = self.input.LA(3)
2957
2958 if (self.synpred70()) :
2959 alt33 = 1
2960
2961
2962 elif LA33 == HEX_LITERAL:
2963 LA33_54 = self.input.LA(3)
2964
2965 if (self.synpred70()) :
2966 alt33 = 1
2967
2968
2969 elif LA33 == OCTAL_LITERAL:
2970 LA33_55 = self.input.LA(3)
2971
2972 if (self.synpred70()) :
2973 alt33 = 1
2974
2975
2976 elif LA33 == DECIMAL_LITERAL:
2977 LA33_56 = self.input.LA(3)
2978
2979 if (self.synpred70()) :
2980 alt33 = 1
2981
2982
2983 elif LA33 == CHARACTER_LITERAL:
2984 LA33_57 = self.input.LA(3)
2985
2986 if (self.synpred70()) :
2987 alt33 = 1
2988
2989
2990 elif LA33 == STRING_LITERAL:
2991 LA33_58 = self.input.LA(3)
2992
2993 if (self.synpred70()) :
2994 alt33 = 1
2995
2996
2997 elif LA33 == FLOATING_POINT_LITERAL:
2998 LA33_59 = self.input.LA(3)
2999
3000 if (self.synpred70()) :
3001 alt33 = 1
3002
3003
3004 elif LA33 == 72:
3005 LA33_60 = self.input.LA(3)
3006
3007 if (self.synpred70()) :
3008 alt33 = 1
3009
3010
3011 elif LA33 == 73:
3012 LA33_61 = self.input.LA(3)
3013
3014 if (self.synpred70()) :
3015 alt33 = 1
3016
3017
3018 elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
3019 LA33_62 = self.input.LA(3)
3020
3021 if (self.synpred70()) :
3022 alt33 = 1
3023
3024
3025 elif LA33 == 74:
3026 LA33_63 = self.input.LA(3)
3027
3028 if (self.synpred70()) :
3029 alt33 = 1
3030
3031
3032
3033
3034
3035 if alt33 == 1:
3036 # C.g:0:0: declarator_suffix
3037 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
3038 self.declarator_suffix()
3039 self.following.pop()
3040 if self.failed:
3041 return
3042
3043
3044 else:
3045 if cnt33 >= 1:
3046 break #loop33
3047
3048 if self.backtracking > 0:
3049 self.failed = True
3050 return
3051
3052 eee = EarlyExitException(33, self.input)
3053 raise eee
3054
3055 cnt33 += 1
3056
3057
3058
3059
3060
3061 except RecognitionException as re:
3062 self.reportError(re)
3063 self.recover(self.input, re)
3064 finally:
3065 if self.backtracking > 0:
3066 self.memoize(self.input, 23, direct_declarator_StartIndex)
3067
3068 pass
3069
3070 return
3071
3072 # $ANTLR end direct_declarator
3073
3074
3075 # $ANTLR start declarator_suffix
3076 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3077 def declarator_suffix(self, ):
3078
3079 declarator_suffix_StartIndex = self.input.index()
3080 try:
3081 try:
3082 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3083 return
3084
3085 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3086 alt35 = 5
3087 LA35_0 = self.input.LA(1)
3088
3089 if (LA35_0 == 64) :
3090 LA35_1 = self.input.LA(2)
3091
3092 if (LA35_1 == 65) :
3093 alt35 = 2
3094 elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
3095 alt35 = 1
3096 else:
3097 if self.backtracking > 0:
3098 self.failed = True
3099 return
3100
3101 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3102
3103 raise nvae
3104
3105 elif (LA35_0 == 62) :
3106 LA35 = self.input.LA(2)
3107 if LA35 == 63:
3108 alt35 = 5
3109 elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66:
3110 alt35 = 3
3111 elif LA35 == IDENTIFIER:
3112 LA35_29 = self.input.LA(3)
3113
3114 if (self.synpred73()) :
3115 alt35 = 3
3116 elif (self.synpred74()) :
3117 alt35 = 4
3118 else:
3119 if self.backtracking > 0:
3120 self.failed = True
3121 return
3122
3123 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
3124
3125 raise nvae
3126
3127 else:
3128 if self.backtracking > 0:
3129 self.failed = True
3130 return
3131
3132 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3133
3134 raise nvae
3135
3136 else:
3137 if self.backtracking > 0:
3138 self.failed = True
3139 return
3140
3141 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3142
3143 raise nvae
3144
3145 if alt35 == 1:
3146 # C.g:308:6: '[' constant_expression ']'
3147 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
3148 if self.failed:
3149 return
3150 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
3151 self.constant_expression()
3152 self.following.pop()
3153 if self.failed:
3154 return
3155 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
3156 if self.failed:
3157 return
3158
3159
3160 elif alt35 == 2:
3161 # C.g:309:9: '[' ']'
3162 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
3163 if self.failed:
3164 return
3165 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
3166 if self.failed:
3167 return
3168
3169
3170 elif alt35 == 3:
3171 # C.g:310:9: '(' parameter_type_list ')'
3172 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
3173 if self.failed:
3174 return
3175 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
3176 self.parameter_type_list()
3177 self.following.pop()
3178 if self.failed:
3179 return
3180 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
3181 if self.failed:
3182 return
3183
3184
3185 elif alt35 == 4:
3186 # C.g:311:9: '(' identifier_list ')'
3187 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
3188 if self.failed:
3189 return
3190 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
3191 self.identifier_list()
3192 self.following.pop()
3193 if self.failed:
3194 return
3195 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
3196 if self.failed:
3197 return
3198
3199
3200 elif alt35 == 5:
3201 # C.g:312:9: '(' ')'
3202 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
3203 if self.failed:
3204 return
3205 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
3206 if self.failed:
3207 return
3208
3209
3210
3211 except RecognitionException as re:
3212 self.reportError(re)
3213 self.recover(self.input, re)
3214 finally:
3215 if self.backtracking > 0:
3216 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3217
3218 pass
3219
3220 return
3221
3222 # $ANTLR end declarator_suffix
3223
3224
3225 # $ANTLR start pointer
3226 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3227 def pointer(self, ):
3228
3229 pointer_StartIndex = self.input.index()
3230 try:
3231 try:
3232 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3233 return
3234
3235 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3236 alt38 = 3
3237 LA38_0 = self.input.LA(1)
3238
3239 if (LA38_0 == 66) :
3240 LA38 = self.input.LA(2)
3241 if LA38 == 66:
3242 LA38_2 = self.input.LA(3)
3243
3244 if (self.synpred78()) :
3245 alt38 = 2
3246 elif (True) :
3247 alt38 = 3
3248 else:
3249 if self.backtracking > 0:
3250 self.failed = True
3251 return
3252
3253 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3254
3255 raise nvae
3256
3257 elif LA38 == 58:
3258 LA38_3 = self.input.LA(3)
3259
3260 if (self.synpred77()) :
3261 alt38 = 1
3262 elif (True) :
3263 alt38 = 3
3264 else:
3265 if self.backtracking > 0:
3266 self.failed = True
3267 return
3268
3269 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3270
3271 raise nvae
3272
3273 elif LA38 == 59:
3274 LA38_4 = self.input.LA(3)
3275
3276 if (self.synpred77()) :
3277 alt38 = 1
3278 elif (True) :
3279 alt38 = 3
3280 else:
3281 if self.backtracking > 0:
3282 self.failed = True
3283 return
3284
3285 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3286
3287 raise nvae
3288
3289 elif LA38 == 60:
3290 LA38_5 = self.input.LA(3)
3291
3292 if (self.synpred77()) :
3293 alt38 = 1
3294 elif (True) :
3295 alt38 = 3
3296 else:
3297 if self.backtracking > 0:
3298 self.failed = True
3299 return
3300
3301 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
3302
3303 raise nvae
3304
3305 elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 62 or LA38 == 63 or LA38 == 64:
3306 alt38 = 3
3307 elif LA38 == 53:
3308 LA38_21 = self.input.LA(3)
3309
3310 if (self.synpred77()) :
3311 alt38 = 1
3312 elif (True) :
3313 alt38 = 3
3314 else:
3315 if self.backtracking > 0:
3316 self.failed = True
3317 return
3318
3319 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
3320
3321 raise nvae
3322
3323 elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57 or LA38 == 61:
3324 LA38_29 = self.input.LA(3)
3325
3326 if (self.synpred77()) :
3327 alt38 = 1
3328 elif (True) :
3329 alt38 = 3
3330 else:
3331 if self.backtracking > 0:
3332 self.failed = True
3333 return
3334
3335 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3336
3337 raise nvae
3338
3339 else:
3340 if self.backtracking > 0:
3341 self.failed = True
3342 return
3343
3344 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3345
3346 raise nvae
3347
3348 else:
3349 if self.backtracking > 0:
3350 self.failed = True
3351 return
3352
3353 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3354
3355 raise nvae
3356
3357 if alt38 == 1:
3358 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3359 self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
3360 if self.failed:
3361 return
3362 # C.g:316:8: ( type_qualifier )+
3363 cnt36 = 0
3364 while True: #loop36
3365 alt36 = 2
3366 LA36 = self.input.LA(1)
3367 if LA36 == 58:
3368 LA36_2 = self.input.LA(2)
3369
3370 if (self.synpred75()) :
3371 alt36 = 1
3372
3373
3374 elif LA36 == 59:
3375 LA36_3 = self.input.LA(2)
3376
3377 if (self.synpred75()) :
3378 alt36 = 1
3379
3380
3381 elif LA36 == 60:
3382 LA36_4 = self.input.LA(2)
3383
3384 if (self.synpred75()) :
3385 alt36 = 1
3386
3387
3388 elif LA36 == 53:
3389 LA36_20 = self.input.LA(2)
3390
3391 if (self.synpred75()) :
3392 alt36 = 1
3393
3394
3395 elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61:
3396 LA36_28 = self.input.LA(2)
3397
3398 if (self.synpred75()) :
3399 alt36 = 1
3400
3401
3402
3403 if alt36 == 1:
3404 # C.g:0:0: type_qualifier
3405 self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
3406 self.type_qualifier()
3407 self.following.pop()
3408 if self.failed:
3409 return
3410
3411
3412 else:
3413 if cnt36 >= 1:
3414 break #loop36
3415
3416 if self.backtracking > 0:
3417 self.failed = True
3418 return
3419
3420 eee = EarlyExitException(36, self.input)
3421 raise eee
3422
3423 cnt36 += 1
3424
3425
3426 # C.g:316:24: ( pointer )?
3427 alt37 = 2
3428 LA37_0 = self.input.LA(1)
3429
3430 if (LA37_0 == 66) :
3431 LA37_1 = self.input.LA(2)
3432
3433 if (self.synpred76()) :
3434 alt37 = 1
3435 if alt37 == 1:
3436 # C.g:0:0: pointer
3437 self.following.append(self.FOLLOW_pointer_in_pointer924)
3438 self.pointer()
3439 self.following.pop()
3440 if self.failed:
3441 return
3442
3443
3444
3445
3446
3447 elif alt38 == 2:
3448 # C.g:317:4: '*' pointer
3449 self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
3450 if self.failed:
3451 return
3452 self.following.append(self.FOLLOW_pointer_in_pointer932)
3453 self.pointer()
3454 self.following.pop()
3455 if self.failed:
3456 return
3457
3458
3459 elif alt38 == 3:
3460 # C.g:318:4: '*'
3461 self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
3462 if self.failed:
3463 return
3464
3465
3466
3467 except RecognitionException as re:
3468 self.reportError(re)
3469 self.recover(self.input, re)
3470 finally:
3471 if self.backtracking > 0:
3472 self.memoize(self.input, 25, pointer_StartIndex)
3473
3474 pass
3475
3476 return
3477
3478 # $ANTLR end pointer
3479
3480
3481 # $ANTLR start parameter_type_list
3482 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3483 def parameter_type_list(self, ):
3484
3485 parameter_type_list_StartIndex = self.input.index()
3486 try:
3487 try:
3488 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3489 return
3490
3491 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3492 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3493 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
3494 self.parameter_list()
3495 self.following.pop()
3496 if self.failed:
3497 return
3498 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3499 alt40 = 2
3500 LA40_0 = self.input.LA(1)
3501
3502 if (LA40_0 == 27) :
3503 alt40 = 1
3504 if alt40 == 1:
3505 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3506 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
3507 if self.failed:
3508 return
3509 # C.g:322:24: ( 'OPTIONAL' )?
3510 alt39 = 2
3511 LA39_0 = self.input.LA(1)
3512
3513 if (LA39_0 == 53) :
3514 alt39 = 1
3515 if alt39 == 1:
3516 # C.g:322:25: 'OPTIONAL'
3517 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
3518 if self.failed:
3519 return
3520
3521
3522
3523 self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
3524 if self.failed:
3525 return
3526
3527
3528
3529
3530
3531
3532
3533 except RecognitionException as re:
3534 self.reportError(re)
3535 self.recover(self.input, re)
3536 finally:
3537 if self.backtracking > 0:
3538 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3539
3540 pass
3541
3542 return
3543
3544 # $ANTLR end parameter_type_list
3545
3546
3547 # $ANTLR start parameter_list
3548 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3549 def parameter_list(self, ):
3550
3551 parameter_list_StartIndex = self.input.index()
3552 try:
3553 try:
3554 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3555 return
3556
3557 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3558 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3559 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
3560 self.parameter_declaration()
3561 self.following.pop()
3562 if self.failed:
3563 return
3564 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3565 while True: #loop42
3566 alt42 = 2
3567 LA42_0 = self.input.LA(1)
3568
3569 if (LA42_0 == 27) :
3570 LA42_1 = self.input.LA(2)
3571
3572 if (LA42_1 == 53) :
3573 LA42_3 = self.input.LA(3)
3574
3575 if (self.synpred82()) :
3576 alt42 = 1
3577
3578
3579 elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) :
3580 alt42 = 1
3581
3582
3583
3584
3585 if alt42 == 1:
3586 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3587 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
3588 if self.failed:
3589 return
3590 # C.g:326:31: ( 'OPTIONAL' )?
3591 alt41 = 2
3592 LA41_0 = self.input.LA(1)
3593
3594 if (LA41_0 == 53) :
3595 LA41_1 = self.input.LA(2)
3596
3597 if (self.synpred81()) :
3598 alt41 = 1
3599 if alt41 == 1:
3600 # C.g:326:32: 'OPTIONAL'
3601 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
3602 if self.failed:
3603 return
3604
3605
3606
3607 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
3608 self.parameter_declaration()
3609 self.following.pop()
3610 if self.failed:
3611 return
3612
3613
3614 else:
3615 break #loop42
3616
3617
3618
3619
3620
3621
3622 except RecognitionException as re:
3623 self.reportError(re)
3624 self.recover(self.input, re)
3625 finally:
3626 if self.backtracking > 0:
3627 self.memoize(self.input, 27, parameter_list_StartIndex)
3628
3629 pass
3630
3631 return
3632
3633 # $ANTLR end parameter_list
3634
3635
3636 # $ANTLR start parameter_declaration
3637 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3638 def parameter_declaration(self, ):
3639
3640 parameter_declaration_StartIndex = self.input.index()
3641 try:
3642 try:
3643 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3644 return
3645
3646 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3647 alt46 = 2
3648 LA46 = self.input.LA(1)
3649 if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61:
3650 alt46 = 1
3651 elif LA46 == IDENTIFIER:
3652 LA46_13 = self.input.LA(2)
3653
3654 if (self.synpred86()) :
3655 alt46 = 1
3656 elif (True) :
3657 alt46 = 2
3658 else:
3659 if self.backtracking > 0:
3660 self.failed = True
3661 return
3662
3663 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3664
3665 raise nvae
3666
3667 elif LA46 == 66:
3668 alt46 = 2
3669 else:
3670 if self.backtracking > 0:
3671 self.failed = True
3672 return
3673
3674 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3675
3676 raise nvae
3677
3678 if alt46 == 1:
3679 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3680 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
3681 self.declaration_specifiers()
3682 self.following.pop()
3683 if self.failed:
3684 return
3685 # C.g:330:27: ( declarator | abstract_declarator )*
3686 while True: #loop43
3687 alt43 = 3
3688 LA43 = self.input.LA(1)
3689 if LA43 == 66:
3690 LA43_5 = self.input.LA(2)
3691
3692 if (self.synpred83()) :
3693 alt43 = 1
3694 elif (self.synpred84()) :
3695 alt43 = 2
3696
3697
3698 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3699 alt43 = 1
3700 elif LA43 == 62:
3701 LA43 = self.input.LA(2)
3702 if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64:
3703 alt43 = 2
3704 elif LA43 == IDENTIFIER:
3705 LA43_37 = self.input.LA(3)
3706
3707 if (self.synpred83()) :
3708 alt43 = 1
3709 elif (self.synpred84()) :
3710 alt43 = 2
3711
3712
3713 elif LA43 == 58:
3714 LA43_38 = self.input.LA(3)
3715
3716 if (self.synpred83()) :
3717 alt43 = 1
3718 elif (self.synpred84()) :
3719 alt43 = 2
3720
3721
3722 elif LA43 == 66:
3723 LA43_39 = self.input.LA(3)
3724
3725 if (self.synpred83()) :
3726 alt43 = 1
3727 elif (self.synpred84()) :
3728 alt43 = 2
3729
3730
3731 elif LA43 == 59:
3732 LA43_40 = self.input.LA(3)
3733
3734 if (self.synpred83()) :
3735 alt43 = 1
3736 elif (self.synpred84()) :
3737 alt43 = 2
3738
3739
3740 elif LA43 == 60:
3741 LA43_41 = self.input.LA(3)
3742
3743 if (self.synpred83()) :
3744 alt43 = 1
3745 elif (self.synpred84()) :
3746 alt43 = 2
3747
3748
3749 elif LA43 == 62:
3750 LA43_43 = self.input.LA(3)
3751
3752 if (self.synpred83()) :
3753 alt43 = 1
3754 elif (self.synpred84()) :
3755 alt43 = 2
3756
3757
3758
3759 elif LA43 == 64:
3760 alt43 = 2
3761
3762 if alt43 == 1:
3763 # C.g:330:28: declarator
3764 self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
3765 self.declarator()
3766 self.following.pop()
3767 if self.failed:
3768 return
3769
3770
3771 elif alt43 == 2:
3772 # C.g:330:39: abstract_declarator
3773 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
3774 self.abstract_declarator()
3775 self.following.pop()
3776 if self.failed:
3777 return
3778
3779
3780 else:
3781 break #loop43
3782
3783
3784 # C.g:330:61: ( 'OPTIONAL' )?
3785 alt44 = 2
3786 LA44_0 = self.input.LA(1)
3787
3788 if (LA44_0 == 53) :
3789 alt44 = 1
3790 if alt44 == 1:
3791 # C.g:330:62: 'OPTIONAL'
3792 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
3793 if self.failed:
3794 return
3795
3796
3797
3798
3799
3800 elif alt46 == 2:
3801 # C.g:332:4: ( pointer )* IDENTIFIER
3802 # C.g:332:4: ( pointer )*
3803 while True: #loop45
3804 alt45 = 2
3805 LA45_0 = self.input.LA(1)
3806
3807 if (LA45_0 == 66) :
3808 alt45 = 1
3809
3810
3811 if alt45 == 1:
3812 # C.g:0:0: pointer
3813 self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
3814 self.pointer()
3815 self.following.pop()
3816 if self.failed:
3817 return
3818
3819
3820 else:
3821 break #loop45
3822
3823
3824 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
3825 if self.failed:
3826 return
3827
3828
3829
3830 except RecognitionException as re:
3831 self.reportError(re)
3832 self.recover(self.input, re)
3833 finally:
3834 if self.backtracking > 0:
3835 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3836
3837 pass
3838
3839 return
3840
3841 # $ANTLR end parameter_declaration
3842
3843
3844 # $ANTLR start identifier_list
3845 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3846 def identifier_list(self, ):
3847
3848 identifier_list_StartIndex = self.input.index()
3849 try:
3850 try:
3851 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3852 return
3853
3854 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3855 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3856 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
3857 if self.failed:
3858 return
3859 # C.g:337:2: ( ',' IDENTIFIER )*
3860 while True: #loop47
3861 alt47 = 2
3862 LA47_0 = self.input.LA(1)
3863
3864 if (LA47_0 == 27) :
3865 alt47 = 1
3866
3867
3868 if alt47 == 1:
3869 # C.g:337:3: ',' IDENTIFIER
3870 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
3871 if self.failed:
3872 return
3873 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
3874 if self.failed:
3875 return
3876
3877
3878 else:
3879 break #loop47
3880
3881
3882
3883
3884
3885
3886 except RecognitionException as re:
3887 self.reportError(re)
3888 self.recover(self.input, re)
3889 finally:
3890 if self.backtracking > 0:
3891 self.memoize(self.input, 29, identifier_list_StartIndex)
3892
3893 pass
3894
3895 return
3896
3897 # $ANTLR end identifier_list
3898
3899
3900 # $ANTLR start type_name
3901 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3902 def type_name(self, ):
3903
3904 type_name_StartIndex = self.input.index()
3905 try:
3906 try:
3907 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3908 return
3909
3910 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3911 alt49 = 2
3912 LA49_0 = self.input.LA(1)
3913
3914 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
3915 alt49 = 1
3916 elif (LA49_0 == IDENTIFIER) :
3917 LA49_13 = self.input.LA(2)
3918
3919 if (self.synpred90()) :
3920 alt49 = 1
3921 elif (True) :
3922 alt49 = 2
3923 else:
3924 if self.backtracking > 0:
3925 self.failed = True
3926 return
3927
3928 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3929
3930 raise nvae
3931
3932 else:
3933 if self.backtracking > 0:
3934 self.failed = True
3935 return
3936
3937 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3938
3939 raise nvae
3940
3941 if alt49 == 1:
3942 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3943 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
3944 self.specifier_qualifier_list()
3945 self.following.pop()
3946 if self.failed:
3947 return
3948 # C.g:341:29: ( abstract_declarator )?
3949 alt48 = 2
3950 LA48_0 = self.input.LA(1)
3951
3952 if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
3953 alt48 = 1
3954 if alt48 == 1:
3955 # C.g:0:0: abstract_declarator
3956 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
3957 self.abstract_declarator()
3958 self.following.pop()
3959 if self.failed:
3960 return
3961
3962
3963
3964
3965
3966 elif alt49 == 2:
3967 # C.g:342:4: type_id
3968 self.following.append(self.FOLLOW_type_id_in_type_name1054)
3969 self.type_id()
3970 self.following.pop()
3971 if self.failed:
3972 return
3973
3974
3975
3976 except RecognitionException as re:
3977 self.reportError(re)
3978 self.recover(self.input, re)
3979 finally:
3980 if self.backtracking > 0:
3981 self.memoize(self.input, 30, type_name_StartIndex)
3982
3983 pass
3984
3985 return
3986
3987 # $ANTLR end type_name
3988
3989
3990 # $ANTLR start abstract_declarator
3991 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3992 def abstract_declarator(self, ):
3993
3994 abstract_declarator_StartIndex = self.input.index()
3995 try:
3996 try:
3997 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
3998 return
3999
4000 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4001 alt51 = 2
4002 LA51_0 = self.input.LA(1)
4003
4004 if (LA51_0 == 66) :
4005 alt51 = 1
4006 elif (LA51_0 == 62 or LA51_0 == 64) :
4007 alt51 = 2
4008 else:
4009 if self.backtracking > 0:
4010 self.failed = True
4011 return
4012
4013 nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4014
4015 raise nvae
4016
4017 if alt51 == 1:
4018 # C.g:346:4: pointer ( direct_abstract_declarator )?
4019 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
4020 self.pointer()
4021 self.following.pop()
4022 if self.failed:
4023 return
4024 # C.g:346:12: ( direct_abstract_declarator )?
4025 alt50 = 2
4026 LA50_0 = self.input.LA(1)
4027
4028 if (LA50_0 == 62) :
4029 LA50 = self.input.LA(2)
4030 if LA50 == 63:
4031 LA50_12 = self.input.LA(3)
4032
4033 if (self.synpred91()) :
4034 alt50 = 1
4035 elif LA50 == 58:
4036 LA50_13 = self.input.LA(3)
4037
4038 if (self.synpred91()) :
4039 alt50 = 1
4040 elif LA50 == 66:
4041 LA50_14 = self.input.LA(3)
4042
4043 if (self.synpred91()) :
4044 alt50 = 1
4045 elif LA50 == 59:
4046 LA50_15 = self.input.LA(3)
4047
4048 if (self.synpred91()) :
4049 alt50 = 1
4050 elif LA50 == 60:
4051 LA50_16 = self.input.LA(3)
4052
4053 if (self.synpred91()) :
4054 alt50 = 1
4055 elif LA50 == IDENTIFIER:
4056 LA50_17 = self.input.LA(3)
4057
4058 if (self.synpred91()) :
4059 alt50 = 1
4060 elif LA50 == 62:
4061 LA50_18 = self.input.LA(3)
4062
4063 if (self.synpred91()) :
4064 alt50 = 1
4065 elif LA50 == 64:
4066 LA50_19 = self.input.LA(3)
4067
4068 if (self.synpred91()) :
4069 alt50 = 1
4070 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4071 LA50_20 = self.input.LA(3)
4072
4073 if (self.synpred91()) :
4074 alt50 = 1
4075 elif LA50 == 34:
4076 LA50_21 = self.input.LA(3)
4077
4078 if (self.synpred91()) :
4079 alt50 = 1
4080 elif LA50 == 35:
4081 LA50_22 = self.input.LA(3)
4082
4083 if (self.synpred91()) :
4084 alt50 = 1
4085 elif LA50 == 36:
4086 LA50_23 = self.input.LA(3)
4087
4088 if (self.synpred91()) :
4089 alt50 = 1
4090 elif LA50 == 37:
4091 LA50_24 = self.input.LA(3)
4092
4093 if (self.synpred91()) :
4094 alt50 = 1
4095 elif LA50 == 38:
4096 LA50_25 = self.input.LA(3)
4097
4098 if (self.synpred91()) :
4099 alt50 = 1
4100 elif LA50 == 39:
4101 LA50_26 = self.input.LA(3)
4102
4103 if (self.synpred91()) :
4104 alt50 = 1
4105 elif LA50 == 40:
4106 LA50_27 = self.input.LA(3)
4107
4108 if (self.synpred91()) :
4109 alt50 = 1
4110 elif LA50 == 41:
4111 LA50_28 = self.input.LA(3)
4112
4113 if (self.synpred91()) :
4114 alt50 = 1
4115 elif LA50 == 42:
4116 LA50_29 = self.input.LA(3)
4117
4118 if (self.synpred91()) :
4119 alt50 = 1
4120 elif LA50 == 45 or LA50 == 46:
4121 LA50_30 = self.input.LA(3)
4122
4123 if (self.synpred91()) :
4124 alt50 = 1
4125 elif LA50 == 48:
4126 LA50_31 = self.input.LA(3)
4127
4128 if (self.synpred91()) :
4129 alt50 = 1
4130 elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61:
4131 LA50_32 = self.input.LA(3)
4132
4133 if (self.synpred91()) :
4134 alt50 = 1
4135 elif (LA50_0 == 64) :
4136 LA50 = self.input.LA(2)
4137 if LA50 == 65:
4138 LA50_33 = self.input.LA(3)
4139
4140 if (self.synpred91()) :
4141 alt50 = 1
4142 elif LA50 == 62:
4143 LA50_34 = self.input.LA(3)
4144
4145 if (self.synpred91()) :
4146 alt50 = 1
4147 elif LA50 == IDENTIFIER:
4148 LA50_35 = self.input.LA(3)
4149
4150 if (self.synpred91()) :
4151 alt50 = 1
4152 elif LA50 == HEX_LITERAL:
4153 LA50_36 = self.input.LA(3)
4154
4155 if (self.synpred91()) :
4156 alt50 = 1
4157 elif LA50 == OCTAL_LITERAL:
4158 LA50_37 = self.input.LA(3)
4159
4160 if (self.synpred91()) :
4161 alt50 = 1
4162 elif LA50 == DECIMAL_LITERAL:
4163 LA50_38 = self.input.LA(3)
4164
4165 if (self.synpred91()) :
4166 alt50 = 1
4167 elif LA50 == CHARACTER_LITERAL:
4168 LA50_39 = self.input.LA(3)
4169
4170 if (self.synpred91()) :
4171 alt50 = 1
4172 elif LA50 == STRING_LITERAL:
4173 LA50_40 = self.input.LA(3)
4174
4175 if (self.synpred91()) :
4176 alt50 = 1
4177 elif LA50 == FLOATING_POINT_LITERAL:
4178 LA50_41 = self.input.LA(3)
4179
4180 if (self.synpred91()) :
4181 alt50 = 1
4182 elif LA50 == 72:
4183 LA50_42 = self.input.LA(3)
4184
4185 if (self.synpred91()) :
4186 alt50 = 1
4187 elif LA50 == 73:
4188 LA50_43 = self.input.LA(3)
4189
4190 if (self.synpred91()) :
4191 alt50 = 1
4192 elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
4193 LA50_44 = self.input.LA(3)
4194
4195 if (self.synpred91()) :
4196 alt50 = 1
4197 elif LA50 == 74:
4198 LA50_45 = self.input.LA(3)
4199
4200 if (self.synpred91()) :
4201 alt50 = 1
4202 if alt50 == 1:
4203 # C.g:0:0: direct_abstract_declarator
4204 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
4205 self.direct_abstract_declarator()
4206 self.following.pop()
4207 if self.failed:
4208 return
4209
4210
4211
4212
4213
4214 elif alt51 == 2:
4215 # C.g:347:4: direct_abstract_declarator
4216 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
4217 self.direct_abstract_declarator()
4218 self.following.pop()
4219 if self.failed:
4220 return
4221
4222
4223
4224 except RecognitionException as re:
4225 self.reportError(re)
4226 self.recover(self.input, re)
4227 finally:
4228 if self.backtracking > 0:
4229 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4230
4231 pass
4232
4233 return
4234
4235 # $ANTLR end abstract_declarator
4236
4237
4238 # $ANTLR start direct_abstract_declarator
4239 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4240 def direct_abstract_declarator(self, ):
4241
4242 direct_abstract_declarator_StartIndex = self.input.index()
4243 try:
4244 try:
4245 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4246 return
4247
4248 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4249 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4250 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4251 alt52 = 2
4252 LA52_0 = self.input.LA(1)
4253
4254 if (LA52_0 == 62) :
4255 LA52 = self.input.LA(2)
4256 if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 61 or LA52 == 63:
4257 alt52 = 2
4258 elif LA52 == 66:
4259 LA52_18 = self.input.LA(3)
4260
4261 if (self.synpred93()) :
4262 alt52 = 1
4263 elif (True) :
4264 alt52 = 2
4265 else:
4266 if self.backtracking > 0:
4267 self.failed = True
4268 return
4269
4270 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4271
4272 raise nvae
4273
4274 elif LA52 == 62 or LA52 == 64:
4275 alt52 = 1
4276 else:
4277 if self.backtracking > 0:
4278 self.failed = True
4279 return
4280
4281 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4282
4283 raise nvae
4284
4285 elif (LA52_0 == 64) :
4286 alt52 = 2
4287 else:
4288 if self.backtracking > 0:
4289 self.failed = True
4290 return
4291
4292 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4293
4294 raise nvae
4295
4296 if alt52 == 1:
4297 # C.g:351:6: '(' abstract_declarator ')'
4298 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
4299 if self.failed:
4300 return
4301 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
4302 self.abstract_declarator()
4303 self.following.pop()
4304 if self.failed:
4305 return
4306 self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
4307 if self.failed:
4308 return
4309
4310
4311 elif alt52 == 2:
4312 # C.g:351:36: abstract_declarator_suffix
4313 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
4314 self.abstract_declarator_suffix()
4315 self.following.pop()
4316 if self.failed:
4317 return
4318
4319
4320
4321 # C.g:351:65: ( abstract_declarator_suffix )*
4322 while True: #loop53
4323 alt53 = 2
4324 LA53_0 = self.input.LA(1)
4325
4326 if (LA53_0 == 62) :
4327 LA53 = self.input.LA(2)
4328 if LA53 == 63:
4329 LA53_12 = self.input.LA(3)
4330
4331 if (self.synpred94()) :
4332 alt53 = 1
4333
4334
4335 elif LA53 == 58:
4336 LA53_13 = self.input.LA(3)
4337
4338 if (self.synpred94()) :
4339 alt53 = 1
4340
4341
4342 elif LA53 == 66:
4343 LA53_14 = self.input.LA(3)
4344
4345 if (self.synpred94()) :
4346 alt53 = 1
4347
4348
4349 elif LA53 == 59:
4350 LA53_15 = self.input.LA(3)
4351
4352 if (self.synpred94()) :
4353 alt53 = 1
4354
4355
4356 elif LA53 == 60:
4357 LA53_16 = self.input.LA(3)
4358
4359 if (self.synpred94()) :
4360 alt53 = 1
4361
4362
4363 elif LA53 == IDENTIFIER:
4364 LA53_17 = self.input.LA(3)
4365
4366 if (self.synpred94()) :
4367 alt53 = 1
4368
4369
4370 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4371 LA53_19 = self.input.LA(3)
4372
4373 if (self.synpred94()) :
4374 alt53 = 1
4375
4376
4377 elif LA53 == 34:
4378 LA53_20 = self.input.LA(3)
4379
4380 if (self.synpred94()) :
4381 alt53 = 1
4382
4383
4384 elif LA53 == 35:
4385 LA53_21 = self.input.LA(3)
4386
4387 if (self.synpred94()) :
4388 alt53 = 1
4389
4390
4391 elif LA53 == 36:
4392 LA53_22 = self.input.LA(3)
4393
4394 if (self.synpred94()) :
4395 alt53 = 1
4396
4397
4398 elif LA53 == 37:
4399 LA53_23 = self.input.LA(3)
4400
4401 if (self.synpred94()) :
4402 alt53 = 1
4403
4404
4405 elif LA53 == 38:
4406 LA53_24 = self.input.LA(3)
4407
4408 if (self.synpred94()) :
4409 alt53 = 1
4410
4411
4412 elif LA53 == 39:
4413 LA53_25 = self.input.LA(3)
4414
4415 if (self.synpred94()) :
4416 alt53 = 1
4417
4418
4419 elif LA53 == 40:
4420 LA53_26 = self.input.LA(3)
4421
4422 if (self.synpred94()) :
4423 alt53 = 1
4424
4425
4426 elif LA53 == 41:
4427 LA53_27 = self.input.LA(3)
4428
4429 if (self.synpred94()) :
4430 alt53 = 1
4431
4432
4433 elif LA53 == 42:
4434 LA53_28 = self.input.LA(3)
4435
4436 if (self.synpred94()) :
4437 alt53 = 1
4438
4439
4440 elif LA53 == 45 or LA53 == 46:
4441 LA53_29 = self.input.LA(3)
4442
4443 if (self.synpred94()) :
4444 alt53 = 1
4445
4446
4447 elif LA53 == 48:
4448 LA53_30 = self.input.LA(3)
4449
4450 if (self.synpred94()) :
4451 alt53 = 1
4452
4453
4454 elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61:
4455 LA53_31 = self.input.LA(3)
4456
4457 if (self.synpred94()) :
4458 alt53 = 1
4459
4460
4461
4462 elif (LA53_0 == 64) :
4463 LA53 = self.input.LA(2)
4464 if LA53 == 65:
4465 LA53_33 = self.input.LA(3)
4466
4467 if (self.synpred94()) :
4468 alt53 = 1
4469
4470
4471 elif LA53 == 62:
4472 LA53_34 = self.input.LA(3)
4473
4474 if (self.synpred94()) :
4475 alt53 = 1
4476
4477
4478 elif LA53 == IDENTIFIER:
4479 LA53_35 = self.input.LA(3)
4480
4481 if (self.synpred94()) :
4482 alt53 = 1
4483
4484
4485 elif LA53 == HEX_LITERAL:
4486 LA53_36 = self.input.LA(3)
4487
4488 if (self.synpred94()) :
4489 alt53 = 1
4490
4491
4492 elif LA53 == OCTAL_LITERAL:
4493 LA53_37 = self.input.LA(3)
4494
4495 if (self.synpred94()) :
4496 alt53 = 1
4497
4498
4499 elif LA53 == DECIMAL_LITERAL:
4500 LA53_38 = self.input.LA(3)
4501
4502 if (self.synpred94()) :
4503 alt53 = 1
4504
4505
4506 elif LA53 == CHARACTER_LITERAL:
4507 LA53_39 = self.input.LA(3)
4508
4509 if (self.synpred94()) :
4510 alt53 = 1
4511
4512
4513 elif LA53 == STRING_LITERAL:
4514 LA53_40 = self.input.LA(3)
4515
4516 if (self.synpred94()) :
4517 alt53 = 1
4518
4519
4520 elif LA53 == FLOATING_POINT_LITERAL:
4521 LA53_41 = self.input.LA(3)
4522
4523 if (self.synpred94()) :
4524 alt53 = 1
4525
4526
4527 elif LA53 == 72:
4528 LA53_42 = self.input.LA(3)
4529
4530 if (self.synpred94()) :
4531 alt53 = 1
4532
4533
4534 elif LA53 == 73:
4535 LA53_43 = self.input.LA(3)
4536
4537 if (self.synpred94()) :
4538 alt53 = 1
4539
4540
4541 elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
4542 LA53_44 = self.input.LA(3)
4543
4544 if (self.synpred94()) :
4545 alt53 = 1
4546
4547
4548 elif LA53 == 74:
4549 LA53_45 = self.input.LA(3)
4550
4551 if (self.synpred94()) :
4552 alt53 = 1
4553
4554
4555
4556
4557
4558 if alt53 == 1:
4559 # C.g:0:0: abstract_declarator_suffix
4560 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
4561 self.abstract_declarator_suffix()
4562 self.following.pop()
4563 if self.failed:
4564 return
4565
4566
4567 else:
4568 break #loop53
4569
4570
4571
4572
4573
4574
4575 except RecognitionException as re:
4576 self.reportError(re)
4577 self.recover(self.input, re)
4578 finally:
4579 if self.backtracking > 0:
4580 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4581
4582 pass
4583
4584 return
4585
4586 # $ANTLR end direct_abstract_declarator
4587
4588
4589 # $ANTLR start abstract_declarator_suffix
4590 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4591 def abstract_declarator_suffix(self, ):
4592
4593 abstract_declarator_suffix_StartIndex = self.input.index()
4594 try:
4595 try:
4596 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4597 return
4598
4599 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4600 alt54 = 4
4601 LA54_0 = self.input.LA(1)
4602
4603 if (LA54_0 == 64) :
4604 LA54_1 = self.input.LA(2)
4605
4606 if (LA54_1 == 65) :
4607 alt54 = 1
4608 elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
4609 alt54 = 2
4610 else:
4611 if self.backtracking > 0:
4612 self.failed = True
4613 return
4614
4615 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4616
4617 raise nvae
4618
4619 elif (LA54_0 == 62) :
4620 LA54_2 = self.input.LA(2)
4621
4622 if (LA54_2 == 63) :
4623 alt54 = 3
4624 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
4625 alt54 = 4
4626 else:
4627 if self.backtracking > 0:
4628 self.failed = True
4629 return
4630
4631 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4632
4633 raise nvae
4634
4635 else:
4636 if self.backtracking > 0:
4637 self.failed = True
4638 return
4639
4640 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4641
4642 raise nvae
4643
4644 if alt54 == 1:
4645 # C.g:355:4: '[' ']'
4646 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
4647 if self.failed:
4648 return
4649 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
4650 if self.failed:
4651 return
4652
4653
4654 elif alt54 == 2:
4655 # C.g:356:4: '[' constant_expression ']'
4656 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
4657 if self.failed:
4658 return
4659 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
4660 self.constant_expression()
4661 self.following.pop()
4662 if self.failed:
4663 return
4664 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
4665 if self.failed:
4666 return
4667
4668
4669 elif alt54 == 3:
4670 # C.g:357:4: '(' ')'
4671 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
4672 if self.failed:
4673 return
4674 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
4675 if self.failed:
4676 return
4677
4678
4679 elif alt54 == 4:
4680 # C.g:358:4: '(' parameter_type_list ')'
4681 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
4682 if self.failed:
4683 return
4684 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
4685 self.parameter_type_list()
4686 self.following.pop()
4687 if self.failed:
4688 return
4689 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
4690 if self.failed:
4691 return
4692
4693
4694
4695 except RecognitionException as re:
4696 self.reportError(re)
4697 self.recover(self.input, re)
4698 finally:
4699 if self.backtracking > 0:
4700 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4701
4702 pass
4703
4704 return
4705
4706 # $ANTLR end abstract_declarator_suffix
4707
4708
4709 # $ANTLR start initializer
4710 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4711 def initializer(self, ):
4712
4713 initializer_StartIndex = self.input.index()
4714 try:
4715 try:
4716 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4717 return
4718
4719 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4720 alt56 = 2
4721 LA56_0 = self.input.LA(1)
4722
4723 if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
4724 alt56 = 1
4725 elif (LA56_0 == 43) :
4726 alt56 = 2
4727 else:
4728 if self.backtracking > 0:
4729 self.failed = True
4730 return
4731
4732 nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4733
4734 raise nvae
4735
4736 if alt56 == 1:
4737 # C.g:363:4: assignment_expression
4738 self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
4739 self.assignment_expression()
4740 self.following.pop()
4741 if self.failed:
4742 return
4743
4744
4745 elif alt56 == 2:
4746 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4747 self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
4748 if self.failed:
4749 return
4750 self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
4751 self.initializer_list()
4752 self.following.pop()
4753 if self.failed:
4754 return
4755 # C.g:364:25: ( ',' )?
4756 alt55 = 2
4757 LA55_0 = self.input.LA(1)
4758
4759 if (LA55_0 == 27) :
4760 alt55 = 1
4761 if alt55 == 1:
4762 # C.g:0:0: ','
4763 self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
4764 if self.failed:
4765 return
4766
4767
4768
4769 self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
4770 if self.failed:
4771 return
4772
4773
4774
4775 except RecognitionException as re:
4776 self.reportError(re)
4777 self.recover(self.input, re)
4778 finally:
4779 if self.backtracking > 0:
4780 self.memoize(self.input, 34, initializer_StartIndex)
4781
4782 pass
4783
4784 return
4785
4786 # $ANTLR end initializer
4787
4788
4789 # $ANTLR start initializer_list
4790 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4791 def initializer_list(self, ):
4792
4793 initializer_list_StartIndex = self.input.index()
4794 try:
4795 try:
4796 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4797 return
4798
4799 # C.g:368:2: ( initializer ( ',' initializer )* )
4800 # C.g:368:4: initializer ( ',' initializer )*
4801 self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
4802 self.initializer()
4803 self.following.pop()
4804 if self.failed:
4805 return
4806 # C.g:368:16: ( ',' initializer )*
4807 while True: #loop57
4808 alt57 = 2
4809 LA57_0 = self.input.LA(1)
4810
4811 if (LA57_0 == 27) :
4812 LA57_1 = self.input.LA(2)
4813
4814 if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
4815 alt57 = 1
4816
4817
4818
4819
4820 if alt57 == 1:
4821 # C.g:368:17: ',' initializer
4822 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
4823 if self.failed:
4824 return
4825 self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
4826 self.initializer()
4827 self.following.pop()
4828 if self.failed:
4829 return
4830
4831
4832 else:
4833 break #loop57
4834
4835
4836
4837
4838
4839
4840 except RecognitionException as re:
4841 self.reportError(re)
4842 self.recover(self.input, re)
4843 finally:
4844 if self.backtracking > 0:
4845 self.memoize(self.input, 35, initializer_list_StartIndex)
4846
4847 pass
4848
4849 return
4850
4851 # $ANTLR end initializer_list
4852
4853 class argument_expression_list_return(object):
4854 def __init__(self):
4855 self.start = None
4856 self.stop = None
4857
4858
4859
4860 # $ANTLR start argument_expression_list
4861 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4862 def argument_expression_list(self, ):
4863
4864 retval = self.argument_expression_list_return()
4865 retval.start = self.input.LT(1)
4866 argument_expression_list_StartIndex = self.input.index()
4867 try:
4868 try:
4869 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4870 return retval
4871
4872 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4873 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4874 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
4875 self.assignment_expression()
4876 self.following.pop()
4877 if self.failed:
4878 return retval
4879 # C.g:374:28: ( 'OPTIONAL' )?
4880 alt58 = 2
4881 LA58_0 = self.input.LA(1)
4882
4883 if (LA58_0 == 53) :
4884 alt58 = 1
4885 if alt58 == 1:
4886 # C.g:374:29: 'OPTIONAL'
4887 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
4888 if self.failed:
4889 return retval
4890
4891
4892
4893 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4894 while True: #loop60
4895 alt60 = 2
4896 LA60_0 = self.input.LA(1)
4897
4898 if (LA60_0 == 27) :
4899 alt60 = 1
4900
4901
4902 if alt60 == 1:
4903 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4904 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
4905 if self.failed:
4906 return retval
4907 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
4908 self.assignment_expression()
4909 self.following.pop()
4910 if self.failed:
4911 return retval
4912 # C.g:374:69: ( 'OPTIONAL' )?
4913 alt59 = 2
4914 LA59_0 = self.input.LA(1)
4915
4916 if (LA59_0 == 53) :
4917 alt59 = 1
4918 if alt59 == 1:
4919 # C.g:374:70: 'OPTIONAL'
4920 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
4921 if self.failed:
4922 return retval
4923
4924
4925
4926
4927
4928 else:
4929 break #loop60
4930
4931
4932
4933
4934
4935 retval.stop = self.input.LT(-1)
4936
4937
4938 except RecognitionException as re:
4939 self.reportError(re)
4940 self.recover(self.input, re)
4941 finally:
4942 if self.backtracking > 0:
4943 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4944
4945 pass
4946
4947 return retval
4948
4949 # $ANTLR end argument_expression_list
4950
4951
4952 # $ANTLR start additive_expression
4953 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4954 def additive_expression(self, ):
4955
4956 additive_expression_StartIndex = self.input.index()
4957 try:
4958 try:
4959 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4960 return
4961
4962 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4963 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4964 # C.g:378:4: ( multiplicative_expression )
4965 # C.g:378:5: multiplicative_expression
4966 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
4967 self.multiplicative_expression()
4968 self.following.pop()
4969 if self.failed:
4970 return
4971
4972
4973
4974 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4975 while True: #loop61
4976 alt61 = 3
4977 LA61_0 = self.input.LA(1)
4978
4979 if (LA61_0 == 68) :
4980 alt61 = 1
4981 elif (LA61_0 == 69) :
4982 alt61 = 2
4983
4984
4985 if alt61 == 1:
4986 # C.g:378:33: '+' multiplicative_expression
4987 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
4988 if self.failed:
4989 return
4990 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
4991 self.multiplicative_expression()
4992 self.following.pop()
4993 if self.failed:
4994 return
4995
4996
4997 elif alt61 == 2:
4998 # C.g:378:65: '-' multiplicative_expression
4999 self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
5000 if self.failed:
5001 return
5002 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
5003 self.multiplicative_expression()
5004 self.following.pop()
5005 if self.failed:
5006 return
5007
5008
5009 else:
5010 break #loop61
5011
5012
5013
5014
5015
5016
5017 except RecognitionException as re:
5018 self.reportError(re)
5019 self.recover(self.input, re)
5020 finally:
5021 if self.backtracking > 0:
5022 self.memoize(self.input, 37, additive_expression_StartIndex)
5023
5024 pass
5025
5026 return
5027
5028 # $ANTLR end additive_expression
5029
5030
5031 # $ANTLR start multiplicative_expression
5032 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5033 def multiplicative_expression(self, ):
5034
5035 multiplicative_expression_StartIndex = self.input.index()
5036 try:
5037 try:
5038 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5039 return
5040
5041 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5042 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5043 # C.g:382:4: ( cast_expression )
5044 # C.g:382:5: cast_expression
5045 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
5046 self.cast_expression()
5047 self.following.pop()
5048 if self.failed:
5049 return
5050
5051
5052
5053 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5054 while True: #loop62
5055 alt62 = 4
5056 LA62 = self.input.LA(1)
5057 if LA62 == 66:
5058 alt62 = 1
5059 elif LA62 == 70:
5060 alt62 = 2
5061 elif LA62 == 71:
5062 alt62 = 3
5063
5064 if alt62 == 1:
5065 # C.g:382:23: '*' cast_expression
5066 self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
5067 if self.failed:
5068 return
5069 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
5070 self.cast_expression()
5071 self.following.pop()
5072 if self.failed:
5073 return
5074
5075
5076 elif alt62 == 2:
5077 # C.g:382:45: '/' cast_expression
5078 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
5079 if self.failed:
5080 return
5081 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
5082 self.cast_expression()
5083 self.following.pop()
5084 if self.failed:
5085 return
5086
5087
5088 elif alt62 == 3:
5089 # C.g:382:67: '%' cast_expression
5090 self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
5091 if self.failed:
5092 return
5093 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
5094 self.cast_expression()
5095 self.following.pop()
5096 if self.failed:
5097 return
5098
5099
5100 else:
5101 break #loop62
5102
5103
5104
5105
5106
5107
5108 except RecognitionException as re:
5109 self.reportError(re)
5110 self.recover(self.input, re)
5111 finally:
5112 if self.backtracking > 0:
5113 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5114
5115 pass
5116
5117 return
5118
5119 # $ANTLR end multiplicative_expression
5120
5121
5122 # $ANTLR start cast_expression
5123 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5124 def cast_expression(self, ):
5125
5126 cast_expression_StartIndex = self.input.index()
5127 try:
5128 try:
5129 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5130 return
5131
5132 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5133 alt63 = 2
5134 LA63_0 = self.input.LA(1)
5135
5136 if (LA63_0 == 62) :
5137 LA63 = self.input.LA(2)
5138 if LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60 or LA63 == 61:
5139 alt63 = 1
5140 elif LA63 == IDENTIFIER:
5141 LA63_25 = self.input.LA(3)
5142
5143 if (self.synpred109()) :
5144 alt63 = 1
5145 elif (True) :
5146 alt63 = 2
5147 else:
5148 if self.backtracking > 0:
5149 self.failed = True
5150 return
5151
5152 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
5153
5154 raise nvae
5155
5156 elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
5157 alt63 = 2
5158 else:
5159 if self.backtracking > 0:
5160 self.failed = True
5161 return
5162
5163 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5164
5165 raise nvae
5166
5167 elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
5168 alt63 = 2
5169 else:
5170 if self.backtracking > 0:
5171 self.failed = True
5172 return
5173
5174 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5175
5176 raise nvae
5177
5178 if alt63 == 1:
5179 # C.g:386:4: '(' type_name ')' cast_expression
5180 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
5181 if self.failed:
5182 return
5183 self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
5184 self.type_name()
5185 self.following.pop()
5186 if self.failed:
5187 return
5188 self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
5189 if self.failed:
5190 return
5191 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
5192 self.cast_expression()
5193 self.following.pop()
5194 if self.failed:
5195 return
5196
5197
5198 elif alt63 == 2:
5199 # C.g:387:4: unary_expression
5200 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
5201 self.unary_expression()
5202 self.following.pop()
5203 if self.failed:
5204 return
5205
5206
5207
5208 except RecognitionException as re:
5209 self.reportError(re)
5210 self.recover(self.input, re)
5211 finally:
5212 if self.backtracking > 0:
5213 self.memoize(self.input, 39, cast_expression_StartIndex)
5214
5215 pass
5216
5217 return
5218
5219 # $ANTLR end cast_expression
5220
5221
5222 # $ANTLR start unary_expression
5223 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5224 def unary_expression(self, ):
5225
5226 unary_expression_StartIndex = self.input.index()
5227 try:
5228 try:
5229 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5230 return
5231
5232 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5233 alt64 = 6
5234 LA64 = self.input.LA(1)
5235 if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 62:
5236 alt64 = 1
5237 elif LA64 == 72:
5238 alt64 = 2
5239 elif LA64 == 73:
5240 alt64 = 3
5241 elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
5242 alt64 = 4
5243 elif LA64 == 74:
5244 LA64_12 = self.input.LA(2)
5245
5246 if (LA64_12 == 62) :
5247 LA64_13 = self.input.LA(3)
5248
5249 if (self.synpred114()) :
5250 alt64 = 5
5251 elif (True) :
5252 alt64 = 6
5253 else:
5254 if self.backtracking > 0:
5255 self.failed = True
5256 return
5257
5258 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
5259
5260 raise nvae
5261
5262 elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
5263 alt64 = 5
5264 else:
5265 if self.backtracking > 0:
5266 self.failed = True
5267 return
5268
5269 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
5270
5271 raise nvae
5272
5273 else:
5274 if self.backtracking > 0:
5275 self.failed = True
5276 return
5277
5278 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
5279
5280 raise nvae
5281
5282 if alt64 == 1:
5283 # C.g:391:4: postfix_expression
5284 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
5285 self.postfix_expression()
5286 self.following.pop()
5287 if self.failed:
5288 return
5289
5290
5291 elif alt64 == 2:
5292 # C.g:392:4: '++' unary_expression
5293 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
5294 if self.failed:
5295 return
5296 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
5297 self.unary_expression()
5298 self.following.pop()
5299 if self.failed:
5300 return
5301
5302
5303 elif alt64 == 3:
5304 # C.g:393:4: '--' unary_expression
5305 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
5306 if self.failed:
5307 return
5308 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
5309 self.unary_expression()
5310 self.following.pop()
5311 if self.failed:
5312 return
5313
5314
5315 elif alt64 == 4:
5316 # C.g:394:4: unary_operator cast_expression
5317 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
5318 self.unary_operator()
5319 self.following.pop()
5320 if self.failed:
5321 return
5322 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
5323 self.cast_expression()
5324 self.following.pop()
5325 if self.failed:
5326 return
5327
5328
5329 elif alt64 == 5:
5330 # C.g:395:4: 'sizeof' unary_expression
5331 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
5332 if self.failed:
5333 return
5334 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
5335 self.unary_expression()
5336 self.following.pop()
5337 if self.failed:
5338 return
5339
5340
5341 elif alt64 == 6:
5342 # C.g:396:4: 'sizeof' '(' type_name ')'
5343 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
5344 if self.failed:
5345 return
5346 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
5347 if self.failed:
5348 return
5349 self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
5350 self.type_name()
5351 self.following.pop()
5352 if self.failed:
5353 return
5354 self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
5355 if self.failed:
5356 return
5357
5358
5359
5360 except RecognitionException as re:
5361 self.reportError(re)
5362 self.recover(self.input, re)
5363 finally:
5364 if self.backtracking > 0:
5365 self.memoize(self.input, 40, unary_expression_StartIndex)
5366
5367 pass
5368
5369 return
5370
5371 # $ANTLR end unary_expression
5372
5373
5374 # $ANTLR start postfix_expression
5375 # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5376 def postfix_expression(self, ):
5377 self.postfix_expression_stack.append(postfix_expression_scope())
5378 postfix_expression_StartIndex = self.input.index()
5379 a = None
5380 b = None
5381 x = None
5382 y = None
5383 z = None
5384 p = None
5385
5386 c = None
5387
5388
5389
5390 self.postfix_expression_stack[-1].FuncCallText = ''
5391
5392 try:
5393 try:
5394 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5395 return
5396
5397 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5398 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5399 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
5400 p = self.primary_expression()
5401 self.following.pop()
5402 if self.failed:
5403 return
5404 if self.backtracking == 0:
5405 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start, p.stop)
5406
5407 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5408 while True: #loop65
5409 alt65 = 10
5410 LA65 = self.input.LA(1)
5411 if LA65 == 66:
5412 LA65_1 = self.input.LA(2)
5413
5414 if (LA65_1 == IDENTIFIER) :
5415 LA65_30 = self.input.LA(3)
5416
5417 if (self.synpred120()) :
5418 alt65 = 6
5419
5420
5421
5422
5423 elif LA65 == 64:
5424 alt65 = 1
5425 elif LA65 == 62:
5426 LA65 = self.input.LA(2)
5427 if LA65 == 63:
5428 alt65 = 2
5429 elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60 or LA65 == 61:
5430 alt65 = 4
5431 elif LA65 == IDENTIFIER:
5432 LA65_55 = self.input.LA(3)
5433
5434 if (self.synpred117()) :
5435 alt65 = 3
5436 elif (self.synpred118()) :
5437 alt65 = 4
5438
5439
5440 elif LA65 == 66:
5441 LA65_57 = self.input.LA(3)
5442
5443 if (self.synpred117()) :
5444 alt65 = 3
5445 elif (self.synpred118()) :
5446 alt65 = 4
5447
5448
5449 elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
5450 alt65 = 3
5451
5452 elif LA65 == 75:
5453 alt65 = 5
5454 elif LA65 == 76:
5455 alt65 = 7
5456 elif LA65 == 72:
5457 alt65 = 8
5458 elif LA65 == 73:
5459 alt65 = 9
5460
5461 if alt65 == 1:
5462 # C.g:407:13: '[' expression ']'
5463 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
5464 if self.failed:
5465 return
5466 self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
5467 self.expression()
5468 self.following.pop()
5469 if self.failed:
5470 return
5471 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
5472 if self.failed:
5473 return
5474
5475
5476 elif alt65 == 2:
5477 # C.g:408:13: '(' a= ')'
5478 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
5479 if self.failed:
5480 return
5481 a = self.input.LT(1)
5482 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
5483 if self.failed:
5484 return
5485 if self.backtracking == 0:
5486 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5487
5488
5489
5490 elif alt65 == 3:
5491 # C.g:409:13: '(' c= argument_expression_list b= ')'
5492 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
5493 if self.failed:
5494 return
5495 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
5496 c = self.argument_expression_list()
5497 self.following.pop()
5498 if self.failed:
5499 return
5500 b = self.input.LT(1)
5501 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
5502 if self.failed:
5503 return
5504 if self.backtracking == 0:
5505 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))
5506
5507
5508
5509 elif alt65 == 4:
5510 # C.g:410:13: '(' macro_parameter_list ')'
5511 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
5512 if self.failed:
5513 return
5514 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
5515 self.macro_parameter_list()
5516 self.following.pop()
5517 if self.failed:
5518 return
5519 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
5520 if self.failed:
5521 return
5522
5523
5524 elif alt65 == 5:
5525 # C.g:411:13: '.' x= IDENTIFIER
5526 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
5527 if self.failed:
5528 return
5529 x = self.input.LT(1)
5530 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
5531 if self.failed:
5532 return
5533 if self.backtracking == 0:
5534 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5535
5536
5537
5538 elif alt65 == 6:
5539 # C.g:412:13: '*' y= IDENTIFIER
5540 self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
5541 if self.failed:
5542 return
5543 y = self.input.LT(1)
5544 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
5545 if self.failed:
5546 return
5547 if self.backtracking == 0:
5548 self.postfix_expression_stack[-1].FuncCallText = y.text
5549
5550
5551
5552 elif alt65 == 7:
5553 # C.g:413:13: '->' z= IDENTIFIER
5554 self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
5555 if self.failed:
5556 return
5557 z = self.input.LT(1)
5558 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
5559 if self.failed:
5560 return
5561 if self.backtracking == 0:
5562 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5563
5564
5565
5566 elif alt65 == 8:
5567 # C.g:414:13: '++'
5568 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
5569 if self.failed:
5570 return
5571
5572
5573 elif alt65 == 9:
5574 # C.g:415:13: '--'
5575 self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
5576 if self.failed:
5577 return
5578
5579
5580 else:
5581 break #loop65
5582
5583
5584
5585
5586
5587
5588 except RecognitionException as re:
5589 self.reportError(re)
5590 self.recover(self.input, re)
5591 finally:
5592 if self.backtracking > 0:
5593 self.memoize(self.input, 41, postfix_expression_StartIndex)
5594
5595 self.postfix_expression_stack.pop()
5596 pass
5597
5598 return
5599
5600 # $ANTLR end postfix_expression
5601
5602
5603 # $ANTLR start macro_parameter_list
5604 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5605 def macro_parameter_list(self, ):
5606
5607 macro_parameter_list_StartIndex = self.input.index()
5608 try:
5609 try:
5610 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5611 return
5612
5613 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5614 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5615 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
5616 self.parameter_declaration()
5617 self.following.pop()
5618 if self.failed:
5619 return
5620 # C.g:420:26: ( ',' parameter_declaration )*
5621 while True: #loop66
5622 alt66 = 2
5623 LA66_0 = self.input.LA(1)
5624
5625 if (LA66_0 == 27) :
5626 alt66 = 1
5627
5628
5629 if alt66 == 1:
5630 # C.g:420:27: ',' parameter_declaration
5631 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
5632 if self.failed:
5633 return
5634 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
5635 self.parameter_declaration()
5636 self.following.pop()
5637 if self.failed:
5638 return
5639
5640
5641 else:
5642 break #loop66
5643
5644
5645
5646
5647
5648
5649 except RecognitionException as re:
5650 self.reportError(re)
5651 self.recover(self.input, re)
5652 finally:
5653 if self.backtracking > 0:
5654 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5655
5656 pass
5657
5658 return
5659
5660 # $ANTLR end macro_parameter_list
5661
5662
5663 # $ANTLR start unary_operator
5664 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5665 def unary_operator(self, ):
5666
5667 unary_operator_StartIndex = self.input.index()
5668 try:
5669 try:
5670 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5671 return
5672
5673 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5674 # C.g:
5675 if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
5676 self.input.consume();
5677 self.errorRecovery = False
5678 self.failed = False
5679
5680 else:
5681 if self.backtracking > 0:
5682 self.failed = True
5683 return
5684
5685 mse = MismatchedSetException(None, self.input)
5686 self.recoverFromMismatchedSet(
5687 self.input, mse, self.FOLLOW_set_in_unary_operator0
5688 )
5689 raise mse
5690
5691
5692
5693
5694
5695
5696 except RecognitionException as re:
5697 self.reportError(re)
5698 self.recover(self.input, re)
5699 finally:
5700 if self.backtracking > 0:
5701 self.memoize(self.input, 43, unary_operator_StartIndex)
5702
5703 pass
5704
5705 return
5706
5707 # $ANTLR end unary_operator
5708
5709 class primary_expression_return(object):
5710 def __init__(self):
5711 self.start = None
5712 self.stop = None
5713
5714
5715
5716 # $ANTLR start primary_expression
5717 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5718 def primary_expression(self, ):
5719
5720 retval = self.primary_expression_return()
5721 retval.start = self.input.LT(1)
5722 primary_expression_StartIndex = self.input.index()
5723 try:
5724 try:
5725 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5726 return retval
5727
5728 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5729 alt67 = 3
5730 LA67 = self.input.LA(1)
5731 if LA67 == IDENTIFIER:
5732 LA67_1 = self.input.LA(2)
5733
5734 if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
5735 alt67 = 1
5736 elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5737 alt67 = 2
5738 else:
5739 if self.backtracking > 0:
5740 self.failed = True
5741 return retval
5742
5743 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5744
5745 raise nvae
5746
5747 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:
5748 alt67 = 2
5749 elif LA67 == 62:
5750 alt67 = 3
5751 else:
5752 if self.backtracking > 0:
5753 self.failed = True
5754 return retval
5755
5756 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5757
5758 raise nvae
5759
5760 if alt67 == 1:
5761 # C.g:433:4: IDENTIFIER
5762 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
5763 if self.failed:
5764 return retval
5765
5766
5767 elif alt67 == 2:
5768 # C.g:434:4: constant
5769 self.following.append(self.FOLLOW_constant_in_primary_expression1618)
5770 self.constant()
5771 self.following.pop()
5772 if self.failed:
5773 return retval
5774
5775
5776 elif alt67 == 3:
5777 # C.g:435:4: '(' expression ')'
5778 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
5779 if self.failed:
5780 return retval
5781 self.following.append(self.FOLLOW_expression_in_primary_expression1625)
5782 self.expression()
5783 self.following.pop()
5784 if self.failed:
5785 return retval
5786 self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
5787 if self.failed:
5788 return retval
5789
5790
5791 retval.stop = self.input.LT(-1)
5792
5793
5794 except RecognitionException as re:
5795 self.reportError(re)
5796 self.recover(self.input, re)
5797 finally:
5798 if self.backtracking > 0:
5799 self.memoize(self.input, 44, primary_expression_StartIndex)
5800
5801 pass
5802
5803 return retval
5804
5805 # $ANTLR end primary_expression
5806
5807
5808 # $ANTLR start constant
5809 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5810 def constant(self, ):
5811
5812 constant_StartIndex = self.input.index()
5813 try:
5814 try:
5815 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5816 return
5817
5818 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5819 alt72 = 6
5820 LA72 = self.input.LA(1)
5821 if LA72 == HEX_LITERAL:
5822 alt72 = 1
5823 elif LA72 == OCTAL_LITERAL:
5824 alt72 = 2
5825 elif LA72 == DECIMAL_LITERAL:
5826 alt72 = 3
5827 elif LA72 == CHARACTER_LITERAL:
5828 alt72 = 4
5829 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5830 alt72 = 5
5831 elif LA72 == FLOATING_POINT_LITERAL:
5832 alt72 = 6
5833 else:
5834 if self.backtracking > 0:
5835 self.failed = True
5836 return
5837
5838 nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5839
5840 raise nvae
5841
5842 if alt72 == 1:
5843 # C.g:439:9: HEX_LITERAL
5844 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
5845 if self.failed:
5846 return
5847
5848
5849 elif alt72 == 2:
5850 # C.g:440:9: OCTAL_LITERAL
5851 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
5852 if self.failed:
5853 return
5854
5855
5856 elif alt72 == 3:
5857 # C.g:441:9: DECIMAL_LITERAL
5858 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
5859 if self.failed:
5860 return
5861
5862
5863 elif alt72 == 4:
5864 # C.g:442:7: CHARACTER_LITERAL
5865 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
5866 if self.failed:
5867 return
5868
5869
5870 elif alt72 == 5:
5871 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5872 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5873 cnt70 = 0
5874 while True: #loop70
5875 alt70 = 2
5876 LA70_0 = self.input.LA(1)
5877
5878 if (LA70_0 == IDENTIFIER) :
5879 LA70_1 = self.input.LA(2)
5880
5881 if (LA70_1 == STRING_LITERAL) :
5882 alt70 = 1
5883 elif (LA70_1 == IDENTIFIER) :
5884 LA70_33 = self.input.LA(3)
5885
5886 if (self.synpred138()) :
5887 alt70 = 1
5888
5889
5890
5891
5892 elif (LA70_0 == STRING_LITERAL) :
5893 alt70 = 1
5894
5895
5896 if alt70 == 1:
5897 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5898 # C.g:443:8: ( IDENTIFIER )*
5899 while True: #loop68
5900 alt68 = 2
5901 LA68_0 = self.input.LA(1)
5902
5903 if (LA68_0 == IDENTIFIER) :
5904 alt68 = 1
5905
5906
5907 if alt68 == 1:
5908 # C.g:0:0: IDENTIFIER
5909 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
5910 if self.failed:
5911 return
5912
5913
5914 else:
5915 break #loop68
5916
5917
5918 # C.g:443:20: ( STRING_LITERAL )+
5919 cnt69 = 0
5920 while True: #loop69
5921 alt69 = 2
5922 LA69_0 = self.input.LA(1)
5923
5924 if (LA69_0 == STRING_LITERAL) :
5925 LA69_31 = self.input.LA(2)
5926
5927 if (self.synpred137()) :
5928 alt69 = 1
5929
5930
5931
5932
5933 if alt69 == 1:
5934 # C.g:0:0: STRING_LITERAL
5935 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
5936 if self.failed:
5937 return
5938
5939
5940 else:
5941 if cnt69 >= 1:
5942 break #loop69
5943
5944 if self.backtracking > 0:
5945 self.failed = True
5946 return
5947
5948 eee = EarlyExitException(69, self.input)
5949 raise eee
5950
5951 cnt69 += 1
5952
5953
5954
5955
5956 else:
5957 if cnt70 >= 1:
5958 break #loop70
5959
5960 if self.backtracking > 0:
5961 self.failed = True
5962 return
5963
5964 eee = EarlyExitException(70, self.input)
5965 raise eee
5966
5967 cnt70 += 1
5968
5969
5970 # C.g:443:38: ( IDENTIFIER )*
5971 while True: #loop71
5972 alt71 = 2
5973 LA71_0 = self.input.LA(1)
5974
5975 if (LA71_0 == IDENTIFIER) :
5976 alt71 = 1
5977
5978
5979 if alt71 == 1:
5980 # C.g:0:0: IDENTIFIER
5981 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
5982 if self.failed:
5983 return
5984
5985
5986 else:
5987 break #loop71
5988
5989
5990
5991
5992 elif alt72 == 6:
5993 # C.g:444:9: FLOATING_POINT_LITERAL
5994 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
5995 if self.failed:
5996 return
5997
5998
5999
6000 except RecognitionException as re:
6001 self.reportError(re)
6002 self.recover(self.input, re)
6003 finally:
6004 if self.backtracking > 0:
6005 self.memoize(self.input, 45, constant_StartIndex)
6006
6007 pass
6008
6009 return
6010
6011 # $ANTLR end constant
6012
6013 class expression_return(object):
6014 def __init__(self):
6015 self.start = None
6016 self.stop = None
6017
6018
6019
6020 # $ANTLR start expression
6021 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6022 def expression(self, ):
6023
6024 retval = self.expression_return()
6025 retval.start = self.input.LT(1)
6026 expression_StartIndex = self.input.index()
6027 try:
6028 try:
6029 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6030 return retval
6031
6032 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6033 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6034 self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
6035 self.assignment_expression()
6036 self.following.pop()
6037 if self.failed:
6038 return retval
6039 # C.g:450:26: ( ',' assignment_expression )*
6040 while True: #loop73
6041 alt73 = 2
6042 LA73_0 = self.input.LA(1)
6043
6044 if (LA73_0 == 27) :
6045 alt73 = 1
6046
6047
6048 if alt73 == 1:
6049 # C.g:450:27: ',' assignment_expression
6050 self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
6051 if self.failed:
6052 return retval
6053 self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
6054 self.assignment_expression()
6055 self.following.pop()
6056 if self.failed:
6057 return retval
6058
6059
6060 else:
6061 break #loop73
6062
6063
6064
6065
6066
6067 retval.stop = self.input.LT(-1)
6068
6069
6070 except RecognitionException as re:
6071 self.reportError(re)
6072 self.recover(self.input, re)
6073 finally:
6074 if self.backtracking > 0:
6075 self.memoize(self.input, 46, expression_StartIndex)
6076
6077 pass
6078
6079 return retval
6080
6081 # $ANTLR end expression
6082
6083
6084 # $ANTLR start constant_expression
6085 # C.g:453:1: constant_expression : conditional_expression ;
6086 def constant_expression(self, ):
6087
6088 constant_expression_StartIndex = self.input.index()
6089 try:
6090 try:
6091 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6092 return
6093
6094 # C.g:454:2: ( conditional_expression )
6095 # C.g:454:4: conditional_expression
6096 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
6097 self.conditional_expression()
6098 self.following.pop()
6099 if self.failed:
6100 return
6101
6102
6103
6104
6105 except RecognitionException as re:
6106 self.reportError(re)
6107 self.recover(self.input, re)
6108 finally:
6109 if self.backtracking > 0:
6110 self.memoize(self.input, 47, constant_expression_StartIndex)
6111
6112 pass
6113
6114 return
6115
6116 # $ANTLR end constant_expression
6117
6118
6119 # $ANTLR start assignment_expression
6120 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6121 def assignment_expression(self, ):
6122
6123 assignment_expression_StartIndex = self.input.index()
6124 try:
6125 try:
6126 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6127 return
6128
6129 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6130 alt74 = 2
6131 LA74 = self.input.LA(1)
6132 if LA74 == IDENTIFIER:
6133 LA74 = self.input.LA(2)
6134 if LA74 == 64:
6135 LA74_13 = self.input.LA(3)
6136
6137 if (self.synpred142()) :
6138 alt74 = 1
6139 elif (True) :
6140 alt74 = 2
6141 else:
6142 if self.backtracking > 0:
6143 self.failed = True
6144 return
6145
6146 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6147
6148 raise nvae
6149
6150 elif LA74 == 62:
6151 LA74_14 = self.input.LA(3)
6152
6153 if (self.synpred142()) :
6154 alt74 = 1
6155 elif (True) :
6156 alt74 = 2
6157 else:
6158 if self.backtracking > 0:
6159 self.failed = True
6160 return
6161
6162 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6163
6164 raise nvae
6165
6166 elif LA74 == 75:
6167 LA74_15 = self.input.LA(3)
6168
6169 if (self.synpred142()) :
6170 alt74 = 1
6171 elif (True) :
6172 alt74 = 2
6173 else:
6174 if self.backtracking > 0:
6175 self.failed = True
6176 return
6177
6178 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6179
6180 raise nvae
6181
6182 elif LA74 == 66:
6183 LA74_16 = self.input.LA(3)
6184
6185 if (self.synpred142()) :
6186 alt74 = 1
6187 elif (True) :
6188 alt74 = 2
6189 else:
6190 if self.backtracking > 0:
6191 self.failed = True
6192 return
6193
6194 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6195
6196 raise nvae
6197
6198 elif LA74 == 76:
6199 LA74_17 = self.input.LA(3)
6200
6201 if (self.synpred142()) :
6202 alt74 = 1
6203 elif (True) :
6204 alt74 = 2
6205 else:
6206 if self.backtracking > 0:
6207 self.failed = True
6208 return
6209
6210 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6211
6212 raise nvae
6213
6214 elif LA74 == 72:
6215 LA74_18 = self.input.LA(3)
6216
6217 if (self.synpred142()) :
6218 alt74 = 1
6219 elif (True) :
6220 alt74 = 2
6221 else:
6222 if self.backtracking > 0:
6223 self.failed = True
6224 return
6225
6226 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6227
6228 raise nvae
6229
6230 elif LA74 == 73:
6231 LA74_19 = self.input.LA(3)
6232
6233 if (self.synpred142()) :
6234 alt74 = 1
6235 elif (True) :
6236 alt74 = 2
6237 else:
6238 if self.backtracking > 0:
6239 self.failed = True
6240 return
6241
6242 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6243
6244 raise nvae
6245
6246 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6247 alt74 = 1
6248 elif LA74 == STRING_LITERAL:
6249 LA74_21 = self.input.LA(3)
6250
6251 if (self.synpred142()) :
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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6261
6262 raise nvae
6263
6264 elif LA74 == IDENTIFIER:
6265 LA74_22 = self.input.LA(3)
6266
6267 if (self.synpred142()) :
6268 alt74 = 1
6269 elif (True) :
6270 alt74 = 2
6271 else:
6272 if self.backtracking > 0:
6273 self.failed = True
6274 return
6275
6276 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
6277
6278 raise nvae
6279
6280 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6281 alt74 = 2
6282 else:
6283 if self.backtracking > 0:
6284 self.failed = True
6285 return
6286
6287 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6288
6289 raise nvae
6290
6291 elif LA74 == HEX_LITERAL:
6292 LA74 = self.input.LA(2)
6293 if LA74 == 64:
6294 LA74_44 = self.input.LA(3)
6295
6296 if (self.synpred142()) :
6297 alt74 = 1
6298 elif (True) :
6299 alt74 = 2
6300 else:
6301 if self.backtracking > 0:
6302 self.failed = True
6303 return
6304
6305 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6306
6307 raise nvae
6308
6309 elif LA74 == 62:
6310 LA74_45 = self.input.LA(3)
6311
6312 if (self.synpred142()) :
6313 alt74 = 1
6314 elif (True) :
6315 alt74 = 2
6316 else:
6317 if self.backtracking > 0:
6318 self.failed = True
6319 return
6320
6321 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6322
6323 raise nvae
6324
6325 elif LA74 == 75:
6326 LA74_46 = self.input.LA(3)
6327
6328 if (self.synpred142()) :
6329 alt74 = 1
6330 elif (True) :
6331 alt74 = 2
6332 else:
6333 if self.backtracking > 0:
6334 self.failed = True
6335 return
6336
6337 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6338
6339 raise nvae
6340
6341 elif LA74 == 66:
6342 LA74_47 = self.input.LA(3)
6343
6344 if (self.synpred142()) :
6345 alt74 = 1
6346 elif (True) :
6347 alt74 = 2
6348 else:
6349 if self.backtracking > 0:
6350 self.failed = True
6351 return
6352
6353 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6354
6355 raise nvae
6356
6357 elif LA74 == 76:
6358 LA74_48 = self.input.LA(3)
6359
6360 if (self.synpred142()) :
6361 alt74 = 1
6362 elif (True) :
6363 alt74 = 2
6364 else:
6365 if self.backtracking > 0:
6366 self.failed = True
6367 return
6368
6369 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6370
6371 raise nvae
6372
6373 elif LA74 == 72:
6374 LA74_49 = self.input.LA(3)
6375
6376 if (self.synpred142()) :
6377 alt74 = 1
6378 elif (True) :
6379 alt74 = 2
6380 else:
6381 if self.backtracking > 0:
6382 self.failed = True
6383 return
6384
6385 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6386
6387 raise nvae
6388
6389 elif LA74 == 73:
6390 LA74_50 = self.input.LA(3)
6391
6392 if (self.synpred142()) :
6393 alt74 = 1
6394 elif (True) :
6395 alt74 = 2
6396 else:
6397 if self.backtracking > 0:
6398 self.failed = True
6399 return
6400
6401 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6402
6403 raise nvae
6404
6405 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6406 alt74 = 2
6407 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6408 alt74 = 1
6409 else:
6410 if self.backtracking > 0:
6411 self.failed = True
6412 return
6413
6414 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6415
6416 raise nvae
6417
6418 elif LA74 == OCTAL_LITERAL:
6419 LA74 = self.input.LA(2)
6420 if LA74 == 64:
6421 LA74_73 = self.input.LA(3)
6422
6423 if (self.synpred142()) :
6424 alt74 = 1
6425 elif (True) :
6426 alt74 = 2
6427 else:
6428 if self.backtracking > 0:
6429 self.failed = True
6430 return
6431
6432 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6433
6434 raise nvae
6435
6436 elif LA74 == 62:
6437 LA74_74 = self.input.LA(3)
6438
6439 if (self.synpred142()) :
6440 alt74 = 1
6441 elif (True) :
6442 alt74 = 2
6443 else:
6444 if self.backtracking > 0:
6445 self.failed = True
6446 return
6447
6448 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6449
6450 raise nvae
6451
6452 elif LA74 == 75:
6453 LA74_75 = self.input.LA(3)
6454
6455 if (self.synpred142()) :
6456 alt74 = 1
6457 elif (True) :
6458 alt74 = 2
6459 else:
6460 if self.backtracking > 0:
6461 self.failed = True
6462 return
6463
6464 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6465
6466 raise nvae
6467
6468 elif LA74 == 66:
6469 LA74_76 = self.input.LA(3)
6470
6471 if (self.synpred142()) :
6472 alt74 = 1
6473 elif (True) :
6474 alt74 = 2
6475 else:
6476 if self.backtracking > 0:
6477 self.failed = True
6478 return
6479
6480 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6481
6482 raise nvae
6483
6484 elif LA74 == 76:
6485 LA74_77 = self.input.LA(3)
6486
6487 if (self.synpred142()) :
6488 alt74 = 1
6489 elif (True) :
6490 alt74 = 2
6491 else:
6492 if self.backtracking > 0:
6493 self.failed = True
6494 return
6495
6496 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6497
6498 raise nvae
6499
6500 elif LA74 == 72:
6501 LA74_78 = self.input.LA(3)
6502
6503 if (self.synpred142()) :
6504 alt74 = 1
6505 elif (True) :
6506 alt74 = 2
6507 else:
6508 if self.backtracking > 0:
6509 self.failed = True
6510 return
6511
6512 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6513
6514 raise nvae
6515
6516 elif LA74 == 73:
6517 LA74_79 = self.input.LA(3)
6518
6519 if (self.synpred142()) :
6520 alt74 = 1
6521 elif (True) :
6522 alt74 = 2
6523 else:
6524 if self.backtracking > 0:
6525 self.failed = True
6526 return
6527
6528 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6529
6530 raise nvae
6531
6532 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6533 alt74 = 1
6534 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6535 alt74 = 2
6536 else:
6537 if self.backtracking > 0:
6538 self.failed = True
6539 return
6540
6541 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6542
6543 raise nvae
6544
6545 elif LA74 == DECIMAL_LITERAL:
6546 LA74 = self.input.LA(2)
6547 if LA74 == 64:
6548 LA74_102 = self.input.LA(3)
6549
6550 if (self.synpred142()) :
6551 alt74 = 1
6552 elif (True) :
6553 alt74 = 2
6554 else:
6555 if self.backtracking > 0:
6556 self.failed = True
6557 return
6558
6559 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6560
6561 raise nvae
6562
6563 elif LA74 == 62:
6564 LA74_103 = self.input.LA(3)
6565
6566 if (self.synpred142()) :
6567 alt74 = 1
6568 elif (True) :
6569 alt74 = 2
6570 else:
6571 if self.backtracking > 0:
6572 self.failed = True
6573 return
6574
6575 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6576
6577 raise nvae
6578
6579 elif LA74 == 75:
6580 LA74_104 = self.input.LA(3)
6581
6582 if (self.synpred142()) :
6583 alt74 = 1
6584 elif (True) :
6585 alt74 = 2
6586 else:
6587 if self.backtracking > 0:
6588 self.failed = True
6589 return
6590
6591 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6592
6593 raise nvae
6594
6595 elif LA74 == 66:
6596 LA74_105 = self.input.LA(3)
6597
6598 if (self.synpred142()) :
6599 alt74 = 1
6600 elif (True) :
6601 alt74 = 2
6602 else:
6603 if self.backtracking > 0:
6604 self.failed = True
6605 return
6606
6607 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6608
6609 raise nvae
6610
6611 elif LA74 == 76:
6612 LA74_106 = self.input.LA(3)
6613
6614 if (self.synpred142()) :
6615 alt74 = 1
6616 elif (True) :
6617 alt74 = 2
6618 else:
6619 if self.backtracking > 0:
6620 self.failed = True
6621 return
6622
6623 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6624
6625 raise nvae
6626
6627 elif LA74 == 72:
6628 LA74_107 = self.input.LA(3)
6629
6630 if (self.synpred142()) :
6631 alt74 = 1
6632 elif (True) :
6633 alt74 = 2
6634 else:
6635 if self.backtracking > 0:
6636 self.failed = True
6637 return
6638
6639 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6640
6641 raise nvae
6642
6643 elif LA74 == 73:
6644 LA74_108 = self.input.LA(3)
6645
6646 if (self.synpred142()) :
6647 alt74 = 1
6648 elif (True) :
6649 alt74 = 2
6650 else:
6651 if self.backtracking > 0:
6652 self.failed = True
6653 return
6654
6655 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6656
6657 raise nvae
6658
6659 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6660 alt74 = 2
6661 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6662 alt74 = 1
6663 else:
6664 if self.backtracking > 0:
6665 self.failed = True
6666 return
6667
6668 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6669
6670 raise nvae
6671
6672 elif LA74 == CHARACTER_LITERAL:
6673 LA74 = self.input.LA(2)
6674 if LA74 == 64:
6675 LA74_131 = self.input.LA(3)
6676
6677 if (self.synpred142()) :
6678 alt74 = 1
6679 elif (True) :
6680 alt74 = 2
6681 else:
6682 if self.backtracking > 0:
6683 self.failed = True
6684 return
6685
6686 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6687
6688 raise nvae
6689
6690 elif LA74 == 62:
6691 LA74_132 = self.input.LA(3)
6692
6693 if (self.synpred142()) :
6694 alt74 = 1
6695 elif (True) :
6696 alt74 = 2
6697 else:
6698 if self.backtracking > 0:
6699 self.failed = True
6700 return
6701
6702 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6703
6704 raise nvae
6705
6706 elif LA74 == 75:
6707 LA74_133 = self.input.LA(3)
6708
6709 if (self.synpred142()) :
6710 alt74 = 1
6711 elif (True) :
6712 alt74 = 2
6713 else:
6714 if self.backtracking > 0:
6715 self.failed = True
6716 return
6717
6718 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6719
6720 raise nvae
6721
6722 elif LA74 == 66:
6723 LA74_134 = self.input.LA(3)
6724
6725 if (self.synpred142()) :
6726 alt74 = 1
6727 elif (True) :
6728 alt74 = 2
6729 else:
6730 if self.backtracking > 0:
6731 self.failed = True
6732 return
6733
6734 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6735
6736 raise nvae
6737
6738 elif LA74 == 76:
6739 LA74_135 = self.input.LA(3)
6740
6741 if (self.synpred142()) :
6742 alt74 = 1
6743 elif (True) :
6744 alt74 = 2
6745 else:
6746 if self.backtracking > 0:
6747 self.failed = True
6748 return
6749
6750 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6751
6752 raise nvae
6753
6754 elif LA74 == 72:
6755 LA74_136 = self.input.LA(3)
6756
6757 if (self.synpred142()) :
6758 alt74 = 1
6759 elif (True) :
6760 alt74 = 2
6761 else:
6762 if self.backtracking > 0:
6763 self.failed = True
6764 return
6765
6766 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6767
6768 raise nvae
6769
6770 elif LA74 == 73:
6771 LA74_137 = self.input.LA(3)
6772
6773 if (self.synpred142()) :
6774 alt74 = 1
6775 elif (True) :
6776 alt74 = 2
6777 else:
6778 if self.backtracking > 0:
6779 self.failed = True
6780 return
6781
6782 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6783
6784 raise nvae
6785
6786 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6787 alt74 = 2
6788 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6789 alt74 = 1
6790 else:
6791 if self.backtracking > 0:
6792 self.failed = True
6793 return
6794
6795 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6796
6797 raise nvae
6798
6799 elif LA74 == STRING_LITERAL:
6800 LA74 = self.input.LA(2)
6801 if LA74 == IDENTIFIER:
6802 LA74_160 = self.input.LA(3)
6803
6804 if (self.synpred142()) :
6805 alt74 = 1
6806 elif (True) :
6807 alt74 = 2
6808 else:
6809 if self.backtracking > 0:
6810 self.failed = True
6811 return
6812
6813 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6814
6815 raise nvae
6816
6817 elif LA74 == 64:
6818 LA74_161 = self.input.LA(3)
6819
6820 if (self.synpred142()) :
6821 alt74 = 1
6822 elif (True) :
6823 alt74 = 2
6824 else:
6825 if self.backtracking > 0:
6826 self.failed = True
6827 return
6828
6829 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6830
6831 raise nvae
6832
6833 elif LA74 == 62:
6834 LA74_162 = self.input.LA(3)
6835
6836 if (self.synpred142()) :
6837 alt74 = 1
6838 elif (True) :
6839 alt74 = 2
6840 else:
6841 if self.backtracking > 0:
6842 self.failed = True
6843 return
6844
6845 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6846
6847 raise nvae
6848
6849 elif LA74 == 75:
6850 LA74_163 = self.input.LA(3)
6851
6852 if (self.synpred142()) :
6853 alt74 = 1
6854 elif (True) :
6855 alt74 = 2
6856 else:
6857 if self.backtracking > 0:
6858 self.failed = True
6859 return
6860
6861 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6862
6863 raise nvae
6864
6865 elif LA74 == 66:
6866 LA74_164 = self.input.LA(3)
6867
6868 if (self.synpred142()) :
6869 alt74 = 1
6870 elif (True) :
6871 alt74 = 2
6872 else:
6873 if self.backtracking > 0:
6874 self.failed = True
6875 return
6876
6877 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6878
6879 raise nvae
6880
6881 elif LA74 == 76:
6882 LA74_165 = self.input.LA(3)
6883
6884 if (self.synpred142()) :
6885 alt74 = 1
6886 elif (True) :
6887 alt74 = 2
6888 else:
6889 if self.backtracking > 0:
6890 self.failed = True
6891 return
6892
6893 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6894
6895 raise nvae
6896
6897 elif LA74 == 72:
6898 LA74_166 = self.input.LA(3)
6899
6900 if (self.synpred142()) :
6901 alt74 = 1
6902 elif (True) :
6903 alt74 = 2
6904 else:
6905 if self.backtracking > 0:
6906 self.failed = True
6907 return
6908
6909 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6910
6911 raise nvae
6912
6913 elif LA74 == 73:
6914 LA74_167 = self.input.LA(3)
6915
6916 if (self.synpred142()) :
6917 alt74 = 1
6918 elif (True) :
6919 alt74 = 2
6920 else:
6921 if self.backtracking > 0:
6922 self.failed = True
6923 return
6924
6925 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6926
6927 raise nvae
6928
6929 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6930 alt74 = 2
6931 elif LA74 == STRING_LITERAL:
6932 LA74_189 = self.input.LA(3)
6933
6934 if (self.synpred142()) :
6935 alt74 = 1
6936 elif (True) :
6937 alt74 = 2
6938 else:
6939 if self.backtracking > 0:
6940 self.failed = True
6941 return
6942
6943 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
6944
6945 raise nvae
6946
6947 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6948 alt74 = 1
6949 else:
6950 if self.backtracking > 0:
6951 self.failed = True
6952 return
6953
6954 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6955
6956 raise nvae
6957
6958 elif LA74 == FLOATING_POINT_LITERAL:
6959 LA74 = self.input.LA(2)
6960 if LA74 == 64:
6961 LA74_191 = self.input.LA(3)
6962
6963 if (self.synpred142()) :
6964 alt74 = 1
6965 elif (True) :
6966 alt74 = 2
6967 else:
6968 if self.backtracking > 0:
6969 self.failed = True
6970 return
6971
6972 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6973
6974 raise nvae
6975
6976 elif LA74 == 62:
6977 LA74_192 = self.input.LA(3)
6978
6979 if (self.synpred142()) :
6980 alt74 = 1
6981 elif (True) :
6982 alt74 = 2
6983 else:
6984 if self.backtracking > 0:
6985 self.failed = True
6986 return
6987
6988 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6989
6990 raise nvae
6991
6992 elif LA74 == 75:
6993 LA74_193 = self.input.LA(3)
6994
6995 if (self.synpred142()) :
6996 alt74 = 1
6997 elif (True) :
6998 alt74 = 2
6999 else:
7000 if self.backtracking > 0:
7001 self.failed = True
7002 return
7003
7004 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
7005
7006 raise nvae
7007
7008 elif LA74 == 66:
7009 LA74_194 = self.input.LA(3)
7010
7011 if (self.synpred142()) :
7012 alt74 = 1
7013 elif (True) :
7014 alt74 = 2
7015 else:
7016 if self.backtracking > 0:
7017 self.failed = True
7018 return
7019
7020 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7021
7022 raise nvae
7023
7024 elif LA74 == 76:
7025 LA74_195 = self.input.LA(3)
7026
7027 if (self.synpred142()) :
7028 alt74 = 1
7029 elif (True) :
7030 alt74 = 2
7031 else:
7032 if self.backtracking > 0:
7033 self.failed = True
7034 return
7035
7036 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7037
7038 raise nvae
7039
7040 elif LA74 == 72:
7041 LA74_196 = self.input.LA(3)
7042
7043 if (self.synpred142()) :
7044 alt74 = 1
7045 elif (True) :
7046 alt74 = 2
7047 else:
7048 if self.backtracking > 0:
7049 self.failed = True
7050 return
7051
7052 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7053
7054 raise nvae
7055
7056 elif LA74 == 73:
7057 LA74_197 = self.input.LA(3)
7058
7059 if (self.synpred142()) :
7060 alt74 = 1
7061 elif (True) :
7062 alt74 = 2
7063 else:
7064 if self.backtracking > 0:
7065 self.failed = True
7066 return
7067
7068 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7069
7070 raise nvae
7071
7072 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
7073 alt74 = 2
7074 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
7075 alt74 = 1
7076 else:
7077 if self.backtracking > 0:
7078 self.failed = True
7079 return
7080
7081 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7082
7083 raise nvae
7084
7085 elif LA74 == 62:
7086 LA74 = self.input.LA(2)
7087 if LA74 == IDENTIFIER:
7088 LA74_220 = self.input.LA(3)
7089
7090 if (self.synpred142()) :
7091 alt74 = 1
7092 elif (True) :
7093 alt74 = 2
7094 else:
7095 if self.backtracking > 0:
7096 self.failed = True
7097 return
7098
7099 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7100
7101 raise nvae
7102
7103 elif LA74 == HEX_LITERAL:
7104 LA74_221 = self.input.LA(3)
7105
7106 if (self.synpred142()) :
7107 alt74 = 1
7108 elif (True) :
7109 alt74 = 2
7110 else:
7111 if self.backtracking > 0:
7112 self.failed = True
7113 return
7114
7115 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7116
7117 raise nvae
7118
7119 elif LA74 == OCTAL_LITERAL:
7120 LA74_222 = self.input.LA(3)
7121
7122 if (self.synpred142()) :
7123 alt74 = 1
7124 elif (True) :
7125 alt74 = 2
7126 else:
7127 if self.backtracking > 0:
7128 self.failed = True
7129 return
7130
7131 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7132
7133 raise nvae
7134
7135 elif LA74 == DECIMAL_LITERAL:
7136 LA74_223 = self.input.LA(3)
7137
7138 if (self.synpred142()) :
7139 alt74 = 1
7140 elif (True) :
7141 alt74 = 2
7142 else:
7143 if self.backtracking > 0:
7144 self.failed = True
7145 return
7146
7147 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7148
7149 raise nvae
7150
7151 elif LA74 == CHARACTER_LITERAL:
7152 LA74_224 = self.input.LA(3)
7153
7154 if (self.synpred142()) :
7155 alt74 = 1
7156 elif (True) :
7157 alt74 = 2
7158 else:
7159 if self.backtracking > 0:
7160 self.failed = True
7161 return
7162
7163 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7164
7165 raise nvae
7166
7167 elif LA74 == STRING_LITERAL:
7168 LA74_225 = self.input.LA(3)
7169
7170 if (self.synpred142()) :
7171 alt74 = 1
7172 elif (True) :
7173 alt74 = 2
7174 else:
7175 if self.backtracking > 0:
7176 self.failed = True
7177 return
7178
7179 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7180
7181 raise nvae
7182
7183 elif LA74 == FLOATING_POINT_LITERAL:
7184 LA74_226 = self.input.LA(3)
7185
7186 if (self.synpred142()) :
7187 alt74 = 1
7188 elif (True) :
7189 alt74 = 2
7190 else:
7191 if self.backtracking > 0:
7192 self.failed = True
7193 return
7194
7195 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7196
7197 raise nvae
7198
7199 elif LA74 == 62:
7200 LA74_227 = self.input.LA(3)
7201
7202 if (self.synpred142()) :
7203 alt74 = 1
7204 elif (True) :
7205 alt74 = 2
7206 else:
7207 if self.backtracking > 0:
7208 self.failed = True
7209 return
7210
7211 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7212
7213 raise nvae
7214
7215 elif LA74 == 72:
7216 LA74_228 = self.input.LA(3)
7217
7218 if (self.synpred142()) :
7219 alt74 = 1
7220 elif (True) :
7221 alt74 = 2
7222 else:
7223 if self.backtracking > 0:
7224 self.failed = True
7225 return
7226
7227 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7228
7229 raise nvae
7230
7231 elif LA74 == 73:
7232 LA74_229 = self.input.LA(3)
7233
7234 if (self.synpred142()) :
7235 alt74 = 1
7236 elif (True) :
7237 alt74 = 2
7238 else:
7239 if self.backtracking > 0:
7240 self.failed = True
7241 return
7242
7243 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7244
7245 raise nvae
7246
7247 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7248 LA74_230 = self.input.LA(3)
7249
7250 if (self.synpred142()) :
7251 alt74 = 1
7252 elif (True) :
7253 alt74 = 2
7254 else:
7255 if self.backtracking > 0:
7256 self.failed = True
7257 return
7258
7259 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7260
7261 raise nvae
7262
7263 elif LA74 == 74:
7264 LA74_231 = self.input.LA(3)
7265
7266 if (self.synpred142()) :
7267 alt74 = 1
7268 elif (True) :
7269 alt74 = 2
7270 else:
7271 if self.backtracking > 0:
7272 self.failed = True
7273 return
7274
7275 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7276
7277 raise nvae
7278
7279 elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61:
7280 alt74 = 2
7281 else:
7282 if self.backtracking > 0:
7283 self.failed = True
7284 return
7285
7286 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7287
7288 raise nvae
7289
7290 elif LA74 == 72:
7291 LA74 = self.input.LA(2)
7292 if LA74 == IDENTIFIER:
7293 LA74_244 = self.input.LA(3)
7294
7295 if (self.synpred142()) :
7296 alt74 = 1
7297 elif (True) :
7298 alt74 = 2
7299 else:
7300 if self.backtracking > 0:
7301 self.failed = True
7302 return
7303
7304 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7305
7306 raise nvae
7307
7308 elif LA74 == HEX_LITERAL:
7309 LA74_245 = self.input.LA(3)
7310
7311 if (self.synpred142()) :
7312 alt74 = 1
7313 elif (True) :
7314 alt74 = 2
7315 else:
7316 if self.backtracking > 0:
7317 self.failed = True
7318 return
7319
7320 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7321
7322 raise nvae
7323
7324 elif LA74 == OCTAL_LITERAL:
7325 LA74_246 = self.input.LA(3)
7326
7327 if (self.synpred142()) :
7328 alt74 = 1
7329 elif (True) :
7330 alt74 = 2
7331 else:
7332 if self.backtracking > 0:
7333 self.failed = True
7334 return
7335
7336 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7337
7338 raise nvae
7339
7340 elif LA74 == DECIMAL_LITERAL:
7341 LA74_247 = self.input.LA(3)
7342
7343 if (self.synpred142()) :
7344 alt74 = 1
7345 elif (True) :
7346 alt74 = 2
7347 else:
7348 if self.backtracking > 0:
7349 self.failed = True
7350 return
7351
7352 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7353
7354 raise nvae
7355
7356 elif LA74 == CHARACTER_LITERAL:
7357 LA74_248 = self.input.LA(3)
7358
7359 if (self.synpred142()) :
7360 alt74 = 1
7361 elif (True) :
7362 alt74 = 2
7363 else:
7364 if self.backtracking > 0:
7365 self.failed = True
7366 return
7367
7368 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7369
7370 raise nvae
7371
7372 elif LA74 == STRING_LITERAL:
7373 LA74_249 = self.input.LA(3)
7374
7375 if (self.synpred142()) :
7376 alt74 = 1
7377 elif (True) :
7378 alt74 = 2
7379 else:
7380 if self.backtracking > 0:
7381 self.failed = True
7382 return
7383
7384 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7385
7386 raise nvae
7387
7388 elif LA74 == FLOATING_POINT_LITERAL:
7389 LA74_250 = self.input.LA(3)
7390
7391 if (self.synpred142()) :
7392 alt74 = 1
7393 elif (True) :
7394 alt74 = 2
7395 else:
7396 if self.backtracking > 0:
7397 self.failed = True
7398 return
7399
7400 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7401
7402 raise nvae
7403
7404 elif LA74 == 62:
7405 LA74_251 = self.input.LA(3)
7406
7407 if (self.synpred142()) :
7408 alt74 = 1
7409 elif (True) :
7410 alt74 = 2
7411 else:
7412 if self.backtracking > 0:
7413 self.failed = True
7414 return
7415
7416 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7417
7418 raise nvae
7419
7420 elif LA74 == 72:
7421 LA74_252 = self.input.LA(3)
7422
7423 if (self.synpred142()) :
7424 alt74 = 1
7425 elif (True) :
7426 alt74 = 2
7427 else:
7428 if self.backtracking > 0:
7429 self.failed = True
7430 return
7431
7432 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7433
7434 raise nvae
7435
7436 elif LA74 == 73:
7437 LA74_253 = self.input.LA(3)
7438
7439 if (self.synpred142()) :
7440 alt74 = 1
7441 elif (True) :
7442 alt74 = 2
7443 else:
7444 if self.backtracking > 0:
7445 self.failed = True
7446 return
7447
7448 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7449
7450 raise nvae
7451
7452 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7453 LA74_254 = self.input.LA(3)
7454
7455 if (self.synpred142()) :
7456 alt74 = 1
7457 elif (True) :
7458 alt74 = 2
7459 else:
7460 if self.backtracking > 0:
7461 self.failed = True
7462 return
7463
7464 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7465
7466 raise nvae
7467
7468 elif LA74 == 74:
7469 LA74_255 = self.input.LA(3)
7470
7471 if (self.synpred142()) :
7472 alt74 = 1
7473 elif (True) :
7474 alt74 = 2
7475 else:
7476 if self.backtracking > 0:
7477 self.failed = True
7478 return
7479
7480 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7481
7482 raise nvae
7483
7484 else:
7485 if self.backtracking > 0:
7486 self.failed = True
7487 return
7488
7489 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7490
7491 raise nvae
7492
7493 elif LA74 == 73:
7494 LA74 = self.input.LA(2)
7495 if LA74 == IDENTIFIER:
7496 LA74_256 = self.input.LA(3)
7497
7498 if (self.synpred142()) :
7499 alt74 = 1
7500 elif (True) :
7501 alt74 = 2
7502 else:
7503 if self.backtracking > 0:
7504 self.failed = True
7505 return
7506
7507 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7508
7509 raise nvae
7510
7511 elif LA74 == HEX_LITERAL:
7512 LA74_257 = self.input.LA(3)
7513
7514 if (self.synpred142()) :
7515 alt74 = 1
7516 elif (True) :
7517 alt74 = 2
7518 else:
7519 if self.backtracking > 0:
7520 self.failed = True
7521 return
7522
7523 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7524
7525 raise nvae
7526
7527 elif LA74 == OCTAL_LITERAL:
7528 LA74_258 = self.input.LA(3)
7529
7530 if (self.synpred142()) :
7531 alt74 = 1
7532 elif (True) :
7533 alt74 = 2
7534 else:
7535 if self.backtracking > 0:
7536 self.failed = True
7537 return
7538
7539 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7540
7541 raise nvae
7542
7543 elif LA74 == DECIMAL_LITERAL:
7544 LA74_259 = self.input.LA(3)
7545
7546 if (self.synpred142()) :
7547 alt74 = 1
7548 elif (True) :
7549 alt74 = 2
7550 else:
7551 if self.backtracking > 0:
7552 self.failed = True
7553 return
7554
7555 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7556
7557 raise nvae
7558
7559 elif LA74 == CHARACTER_LITERAL:
7560 LA74_260 = self.input.LA(3)
7561
7562 if (self.synpred142()) :
7563 alt74 = 1
7564 elif (True) :
7565 alt74 = 2
7566 else:
7567 if self.backtracking > 0:
7568 self.failed = True
7569 return
7570
7571 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7572
7573 raise nvae
7574
7575 elif LA74 == STRING_LITERAL:
7576 LA74_261 = self.input.LA(3)
7577
7578 if (self.synpred142()) :
7579 alt74 = 1
7580 elif (True) :
7581 alt74 = 2
7582 else:
7583 if self.backtracking > 0:
7584 self.failed = True
7585 return
7586
7587 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7588
7589 raise nvae
7590
7591 elif LA74 == FLOATING_POINT_LITERAL:
7592 LA74_262 = self.input.LA(3)
7593
7594 if (self.synpred142()) :
7595 alt74 = 1
7596 elif (True) :
7597 alt74 = 2
7598 else:
7599 if self.backtracking > 0:
7600 self.failed = True
7601 return
7602
7603 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7604
7605 raise nvae
7606
7607 elif LA74 == 62:
7608 LA74_263 = self.input.LA(3)
7609
7610 if (self.synpred142()) :
7611 alt74 = 1
7612 elif (True) :
7613 alt74 = 2
7614 else:
7615 if self.backtracking > 0:
7616 self.failed = True
7617 return
7618
7619 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7620
7621 raise nvae
7622
7623 elif LA74 == 72:
7624 LA74_264 = self.input.LA(3)
7625
7626 if (self.synpred142()) :
7627 alt74 = 1
7628 elif (True) :
7629 alt74 = 2
7630 else:
7631 if self.backtracking > 0:
7632 self.failed = True
7633 return
7634
7635 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7636
7637 raise nvae
7638
7639 elif LA74 == 73:
7640 LA74_265 = self.input.LA(3)
7641
7642 if (self.synpred142()) :
7643 alt74 = 1
7644 elif (True) :
7645 alt74 = 2
7646 else:
7647 if self.backtracking > 0:
7648 self.failed = True
7649 return
7650
7651 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7652
7653 raise nvae
7654
7655 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7656 LA74_266 = self.input.LA(3)
7657
7658 if (self.synpred142()) :
7659 alt74 = 1
7660 elif (True) :
7661 alt74 = 2
7662 else:
7663 if self.backtracking > 0:
7664 self.failed = True
7665 return
7666
7667 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7668
7669 raise nvae
7670
7671 elif LA74 == 74:
7672 LA74_267 = self.input.LA(3)
7673
7674 if (self.synpred142()) :
7675 alt74 = 1
7676 elif (True) :
7677 alt74 = 2
7678 else:
7679 if self.backtracking > 0:
7680 self.failed = True
7681 return
7682
7683 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7684
7685 raise nvae
7686
7687 else:
7688 if self.backtracking > 0:
7689 self.failed = True
7690 return
7691
7692 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7693
7694 raise nvae
7695
7696 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7697 LA74 = self.input.LA(2)
7698 if LA74 == 62:
7699 LA74_268 = self.input.LA(3)
7700
7701 if (self.synpred142()) :
7702 alt74 = 1
7703 elif (True) :
7704 alt74 = 2
7705 else:
7706 if self.backtracking > 0:
7707 self.failed = True
7708 return
7709
7710 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7711
7712 raise nvae
7713
7714 elif LA74 == IDENTIFIER:
7715 LA74_269 = self.input.LA(3)
7716
7717 if (self.synpred142()) :
7718 alt74 = 1
7719 elif (True) :
7720 alt74 = 2
7721 else:
7722 if self.backtracking > 0:
7723 self.failed = True
7724 return
7725
7726 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7727
7728 raise nvae
7729
7730 elif LA74 == HEX_LITERAL:
7731 LA74_270 = self.input.LA(3)
7732
7733 if (self.synpred142()) :
7734 alt74 = 1
7735 elif (True) :
7736 alt74 = 2
7737 else:
7738 if self.backtracking > 0:
7739 self.failed = True
7740 return
7741
7742 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7743
7744 raise nvae
7745
7746 elif LA74 == OCTAL_LITERAL:
7747 LA74_271 = self.input.LA(3)
7748
7749 if (self.synpred142()) :
7750 alt74 = 1
7751 elif (True) :
7752 alt74 = 2
7753 else:
7754 if self.backtracking > 0:
7755 self.failed = True
7756 return
7757
7758 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7759
7760 raise nvae
7761
7762 elif LA74 == DECIMAL_LITERAL:
7763 LA74_272 = self.input.LA(3)
7764
7765 if (self.synpred142()) :
7766 alt74 = 1
7767 elif (True) :
7768 alt74 = 2
7769 else:
7770 if self.backtracking > 0:
7771 self.failed = True
7772 return
7773
7774 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7775
7776 raise nvae
7777
7778 elif LA74 == CHARACTER_LITERAL:
7779 LA74_273 = self.input.LA(3)
7780
7781 if (self.synpred142()) :
7782 alt74 = 1
7783 elif (True) :
7784 alt74 = 2
7785 else:
7786 if self.backtracking > 0:
7787 self.failed = True
7788 return
7789
7790 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7791
7792 raise nvae
7793
7794 elif LA74 == STRING_LITERAL:
7795 LA74_274 = self.input.LA(3)
7796
7797 if (self.synpred142()) :
7798 alt74 = 1
7799 elif (True) :
7800 alt74 = 2
7801 else:
7802 if self.backtracking > 0:
7803 self.failed = True
7804 return
7805
7806 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7807
7808 raise nvae
7809
7810 elif LA74 == FLOATING_POINT_LITERAL:
7811 LA74_275 = self.input.LA(3)
7812
7813 if (self.synpred142()) :
7814 alt74 = 1
7815 elif (True) :
7816 alt74 = 2
7817 else:
7818 if self.backtracking > 0:
7819 self.failed = True
7820 return
7821
7822 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7823
7824 raise nvae
7825
7826 elif LA74 == 72:
7827 LA74_276 = self.input.LA(3)
7828
7829 if (self.synpred142()) :
7830 alt74 = 1
7831 elif (True) :
7832 alt74 = 2
7833 else:
7834 if self.backtracking > 0:
7835 self.failed = True
7836 return
7837
7838 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7839
7840 raise nvae
7841
7842 elif LA74 == 73:
7843 LA74_277 = self.input.LA(3)
7844
7845 if (self.synpred142()) :
7846 alt74 = 1
7847 elif (True) :
7848 alt74 = 2
7849 else:
7850 if self.backtracking > 0:
7851 self.failed = True
7852 return
7853
7854 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7855
7856 raise nvae
7857
7858 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7859 LA74_278 = self.input.LA(3)
7860
7861 if (self.synpred142()) :
7862 alt74 = 1
7863 elif (True) :
7864 alt74 = 2
7865 else:
7866 if self.backtracking > 0:
7867 self.failed = True
7868 return
7869
7870 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7871
7872 raise nvae
7873
7874 elif LA74 == 74:
7875 LA74_279 = self.input.LA(3)
7876
7877 if (self.synpred142()) :
7878 alt74 = 1
7879 elif (True) :
7880 alt74 = 2
7881 else:
7882 if self.backtracking > 0:
7883 self.failed = True
7884 return
7885
7886 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7887
7888 raise nvae
7889
7890 else:
7891 if self.backtracking > 0:
7892 self.failed = True
7893 return
7894
7895 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7896
7897 raise nvae
7898
7899 elif LA74 == 74:
7900 LA74 = self.input.LA(2)
7901 if LA74 == 62:
7902 LA74_280 = self.input.LA(3)
7903
7904 if (self.synpred142()) :
7905 alt74 = 1
7906 elif (True) :
7907 alt74 = 2
7908 else:
7909 if self.backtracking > 0:
7910 self.failed = True
7911 return
7912
7913 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7914
7915 raise nvae
7916
7917 elif LA74 == IDENTIFIER:
7918 LA74_281 = self.input.LA(3)
7919
7920 if (self.synpred142()) :
7921 alt74 = 1
7922 elif (True) :
7923 alt74 = 2
7924 else:
7925 if self.backtracking > 0:
7926 self.failed = True
7927 return
7928
7929 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7930
7931 raise nvae
7932
7933 elif LA74 == HEX_LITERAL:
7934 LA74_282 = self.input.LA(3)
7935
7936 if (self.synpred142()) :
7937 alt74 = 1
7938 elif (True) :
7939 alt74 = 2
7940 else:
7941 if self.backtracking > 0:
7942 self.failed = True
7943 return
7944
7945 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7946
7947 raise nvae
7948
7949 elif LA74 == OCTAL_LITERAL:
7950 LA74_283 = self.input.LA(3)
7951
7952 if (self.synpred142()) :
7953 alt74 = 1
7954 elif (True) :
7955 alt74 = 2
7956 else:
7957 if self.backtracking > 0:
7958 self.failed = True
7959 return
7960
7961 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7962
7963 raise nvae
7964
7965 elif LA74 == DECIMAL_LITERAL:
7966 LA74_284 = self.input.LA(3)
7967
7968 if (self.synpred142()) :
7969 alt74 = 1
7970 elif (True) :
7971 alt74 = 2
7972 else:
7973 if self.backtracking > 0:
7974 self.failed = True
7975 return
7976
7977 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7978
7979 raise nvae
7980
7981 elif LA74 == CHARACTER_LITERAL:
7982 LA74_285 = self.input.LA(3)
7983
7984 if (self.synpred142()) :
7985 alt74 = 1
7986 elif (True) :
7987 alt74 = 2
7988 else:
7989 if self.backtracking > 0:
7990 self.failed = True
7991 return
7992
7993 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7994
7995 raise nvae
7996
7997 elif LA74 == STRING_LITERAL:
7998 LA74_286 = self.input.LA(3)
7999
8000 if (self.synpred142()) :
8001 alt74 = 1
8002 elif (True) :
8003 alt74 = 2
8004 else:
8005 if self.backtracking > 0:
8006 self.failed = True
8007 return
8008
8009 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
8010
8011 raise nvae
8012
8013 elif LA74 == FLOATING_POINT_LITERAL:
8014 LA74_287 = self.input.LA(3)
8015
8016 if (self.synpred142()) :
8017 alt74 = 1
8018 elif (True) :
8019 alt74 = 2
8020 else:
8021 if self.backtracking > 0:
8022 self.failed = True
8023 return
8024
8025 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8026
8027 raise nvae
8028
8029 elif LA74 == 72:
8030 LA74_288 = self.input.LA(3)
8031
8032 if (self.synpred142()) :
8033 alt74 = 1
8034 elif (True) :
8035 alt74 = 2
8036 else:
8037 if self.backtracking > 0:
8038 self.failed = True
8039 return
8040
8041 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8042
8043 raise nvae
8044
8045 elif LA74 == 73:
8046 LA74_289 = self.input.LA(3)
8047
8048 if (self.synpred142()) :
8049 alt74 = 1
8050 elif (True) :
8051 alt74 = 2
8052 else:
8053 if self.backtracking > 0:
8054 self.failed = True
8055 return
8056
8057 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8058
8059 raise nvae
8060
8061 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
8062 LA74_290 = self.input.LA(3)
8063
8064 if (self.synpred142()) :
8065 alt74 = 1
8066 elif (True) :
8067 alt74 = 2
8068 else:
8069 if self.backtracking > 0:
8070 self.failed = True
8071 return
8072
8073 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8074
8075 raise nvae
8076
8077 elif LA74 == 74:
8078 LA74_291 = self.input.LA(3)
8079
8080 if (self.synpred142()) :
8081 alt74 = 1
8082 elif (True) :
8083 alt74 = 2
8084 else:
8085 if self.backtracking > 0:
8086 self.failed = True
8087 return
8088
8089 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8090
8091 raise nvae
8092
8093 else:
8094 if self.backtracking > 0:
8095 self.failed = True
8096 return
8097
8098 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8099
8100 raise nvae
8101
8102 else:
8103 if self.backtracking > 0:
8104 self.failed = True
8105 return
8106
8107 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8108
8109 raise nvae
8110
8111 if alt74 == 1:
8112 # C.g:458:4: lvalue assignment_operator assignment_expression
8113 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
8114 self.lvalue()
8115 self.following.pop()
8116 if self.failed:
8117 return
8118 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
8119 self.assignment_operator()
8120 self.following.pop()
8121 if self.failed:
8122 return
8123 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
8124 self.assignment_expression()
8125 self.following.pop()
8126 if self.failed:
8127 return
8128
8129
8130 elif alt74 == 2:
8131 # C.g:459:4: conditional_expression
8132 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
8133 self.conditional_expression()
8134 self.following.pop()
8135 if self.failed:
8136 return
8137
8138
8139
8140 except RecognitionException as re:
8141 self.reportError(re)
8142 self.recover(self.input, re)
8143 finally:
8144 if self.backtracking > 0:
8145 self.memoize(self.input, 48, assignment_expression_StartIndex)
8146
8147 pass
8148
8149 return
8150
8151 # $ANTLR end assignment_expression
8152
8153
8154 # $ANTLR start lvalue
8155 # C.g:462:1: lvalue : unary_expression ;
8156 def lvalue(self, ):
8157
8158 lvalue_StartIndex = self.input.index()
8159 try:
8160 try:
8161 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8162 return
8163
8164 # C.g:463:2: ( unary_expression )
8165 # C.g:463:4: unary_expression
8166 self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
8167 self.unary_expression()
8168 self.following.pop()
8169 if self.failed:
8170 return
8171
8172
8173
8174
8175 except RecognitionException as re:
8176 self.reportError(re)
8177 self.recover(self.input, re)
8178 finally:
8179 if self.backtracking > 0:
8180 self.memoize(self.input, 49, lvalue_StartIndex)
8181
8182 pass
8183
8184 return
8185
8186 # $ANTLR end lvalue
8187
8188
8189 # $ANTLR start assignment_operator
8190 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8191 def assignment_operator(self, ):
8192
8193 assignment_operator_StartIndex = self.input.index()
8194 try:
8195 try:
8196 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8197 return
8198
8199 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8200 # C.g:
8201 if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
8202 self.input.consume();
8203 self.errorRecovery = False
8204 self.failed = False
8205
8206 else:
8207 if self.backtracking > 0:
8208 self.failed = True
8209 return
8210
8211 mse = MismatchedSetException(None, self.input)
8212 self.recoverFromMismatchedSet(
8213 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8214 )
8215 raise mse
8216
8217
8218
8219
8220
8221
8222 except RecognitionException as re:
8223 self.reportError(re)
8224 self.recover(self.input, re)
8225 finally:
8226 if self.backtracking > 0:
8227 self.memoize(self.input, 50, assignment_operator_StartIndex)
8228
8229 pass
8230
8231 return
8232
8233 # $ANTLR end assignment_operator
8234
8235
8236 # $ANTLR start conditional_expression
8237 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8238 def conditional_expression(self, ):
8239
8240 conditional_expression_StartIndex = self.input.index()
8241 e = None
8242
8243
8244 try:
8245 try:
8246 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8247 return
8248
8249 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8250 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8251 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
8252 e = self.logical_or_expression()
8253 self.following.pop()
8254 if self.failed:
8255 return
8256 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8257 alt75 = 2
8258 LA75_0 = self.input.LA(1)
8259
8260 if (LA75_0 == 90) :
8261 alt75 = 1
8262 if alt75 == 1:
8263 # C.g:481:29: '?' expression ':' conditional_expression
8264 self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
8265 if self.failed:
8266 return
8267 self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
8268 self.expression()
8269 self.following.pop()
8270 if self.failed:
8271 return
8272 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
8273 if self.failed:
8274 return
8275 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
8276 self.conditional_expression()
8277 self.following.pop()
8278 if self.failed:
8279 return
8280 if self.backtracking == 0:
8281 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
8282
8283
8284
8285
8286
8287
8288
8289
8290 except RecognitionException as re:
8291 self.reportError(re)
8292 self.recover(self.input, re)
8293 finally:
8294 if self.backtracking > 0:
8295 self.memoize(self.input, 51, conditional_expression_StartIndex)
8296
8297 pass
8298
8299 return
8300
8301 # $ANTLR end conditional_expression
8302
8303 class logical_or_expression_return(object):
8304 def __init__(self):
8305 self.start = None
8306 self.stop = None
8307
8308
8309
8310 # $ANTLR start logical_or_expression
8311 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8312 def logical_or_expression(self, ):
8313
8314 retval = self.logical_or_expression_return()
8315 retval.start = self.input.LT(1)
8316 logical_or_expression_StartIndex = self.input.index()
8317 try:
8318 try:
8319 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8320 return retval
8321
8322 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8323 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8324 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
8325 self.logical_and_expression()
8326 self.following.pop()
8327 if self.failed:
8328 return retval
8329 # C.g:485:27: ( '||' logical_and_expression )*
8330 while True: #loop76
8331 alt76 = 2
8332 LA76_0 = self.input.LA(1)
8333
8334 if (LA76_0 == 91) :
8335 alt76 = 1
8336
8337
8338 if alt76 == 1:
8339 # C.g:485:28: '||' logical_and_expression
8340 self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
8341 if self.failed:
8342 return retval
8343 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
8344 self.logical_and_expression()
8345 self.following.pop()
8346 if self.failed:
8347 return retval
8348
8349
8350 else:
8351 break #loop76
8352
8353
8354
8355
8356
8357 retval.stop = self.input.LT(-1)
8358
8359
8360 except RecognitionException as re:
8361 self.reportError(re)
8362 self.recover(self.input, re)
8363 finally:
8364 if self.backtracking > 0:
8365 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8366
8367 pass
8368
8369 return retval
8370
8371 # $ANTLR end logical_or_expression
8372
8373
8374 # $ANTLR start logical_and_expression
8375 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8376 def logical_and_expression(self, ):
8377
8378 logical_and_expression_StartIndex = self.input.index()
8379 try:
8380 try:
8381 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8382 return
8383
8384 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8385 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8386 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
8387 self.inclusive_or_expression()
8388 self.following.pop()
8389 if self.failed:
8390 return
8391 # C.g:489:28: ( '&&' inclusive_or_expression )*
8392 while True: #loop77
8393 alt77 = 2
8394 LA77_0 = self.input.LA(1)
8395
8396 if (LA77_0 == 92) :
8397 alt77 = 1
8398
8399
8400 if alt77 == 1:
8401 # C.g:489:29: '&&' inclusive_or_expression
8402 self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
8403 if self.failed:
8404 return
8405 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
8406 self.inclusive_or_expression()
8407 self.following.pop()
8408 if self.failed:
8409 return
8410
8411
8412 else:
8413 break #loop77
8414
8415
8416
8417
8418
8419
8420 except RecognitionException as re:
8421 self.reportError(re)
8422 self.recover(self.input, re)
8423 finally:
8424 if self.backtracking > 0:
8425 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8426
8427 pass
8428
8429 return
8430
8431 # $ANTLR end logical_and_expression
8432
8433
8434 # $ANTLR start inclusive_or_expression
8435 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8436 def inclusive_or_expression(self, ):
8437
8438 inclusive_or_expression_StartIndex = self.input.index()
8439 try:
8440 try:
8441 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8442 return
8443
8444 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8445 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8446 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
8447 self.exclusive_or_expression()
8448 self.following.pop()
8449 if self.failed:
8450 return
8451 # C.g:493:28: ( '|' exclusive_or_expression )*
8452 while True: #loop78
8453 alt78 = 2
8454 LA78_0 = self.input.LA(1)
8455
8456 if (LA78_0 == 93) :
8457 alt78 = 1
8458
8459
8460 if alt78 == 1:
8461 # C.g:493:29: '|' exclusive_or_expression
8462 self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
8463 if self.failed:
8464 return
8465 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
8466 self.exclusive_or_expression()
8467 self.following.pop()
8468 if self.failed:
8469 return
8470
8471
8472 else:
8473 break #loop78
8474
8475
8476
8477
8478
8479
8480 except RecognitionException as re:
8481 self.reportError(re)
8482 self.recover(self.input, re)
8483 finally:
8484 if self.backtracking > 0:
8485 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8486
8487 pass
8488
8489 return
8490
8491 # $ANTLR end inclusive_or_expression
8492
8493
8494 # $ANTLR start exclusive_or_expression
8495 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8496 def exclusive_or_expression(self, ):
8497
8498 exclusive_or_expression_StartIndex = self.input.index()
8499 try:
8500 try:
8501 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8502 return
8503
8504 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8505 # C.g:497:4: and_expression ( '^' and_expression )*
8506 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
8507 self.and_expression()
8508 self.following.pop()
8509 if self.failed:
8510 return
8511 # C.g:497:19: ( '^' and_expression )*
8512 while True: #loop79
8513 alt79 = 2
8514 LA79_0 = self.input.LA(1)
8515
8516 if (LA79_0 == 94) :
8517 alt79 = 1
8518
8519
8520 if alt79 == 1:
8521 # C.g:497:20: '^' and_expression
8522 self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
8523 if self.failed:
8524 return
8525 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
8526 self.and_expression()
8527 self.following.pop()
8528 if self.failed:
8529 return
8530
8531
8532 else:
8533 break #loop79
8534
8535
8536
8537
8538
8539
8540 except RecognitionException as re:
8541 self.reportError(re)
8542 self.recover(self.input, re)
8543 finally:
8544 if self.backtracking > 0:
8545 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8546
8547 pass
8548
8549 return
8550
8551 # $ANTLR end exclusive_or_expression
8552
8553
8554 # $ANTLR start and_expression
8555 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8556 def and_expression(self, ):
8557
8558 and_expression_StartIndex = self.input.index()
8559 try:
8560 try:
8561 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8562 return
8563
8564 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8565 # C.g:501:4: equality_expression ( '&' equality_expression )*
8566 self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
8567 self.equality_expression()
8568 self.following.pop()
8569 if self.failed:
8570 return
8571 # C.g:501:24: ( '&' equality_expression )*
8572 while True: #loop80
8573 alt80 = 2
8574 LA80_0 = self.input.LA(1)
8575
8576 if (LA80_0 == 77) :
8577 alt80 = 1
8578
8579
8580 if alt80 == 1:
8581 # C.g:501:25: '&' equality_expression
8582 self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
8583 if self.failed:
8584 return
8585 self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
8586 self.equality_expression()
8587 self.following.pop()
8588 if self.failed:
8589 return
8590
8591
8592 else:
8593 break #loop80
8594
8595
8596
8597
8598
8599
8600 except RecognitionException as re:
8601 self.reportError(re)
8602 self.recover(self.input, re)
8603 finally:
8604 if self.backtracking > 0:
8605 self.memoize(self.input, 56, and_expression_StartIndex)
8606
8607 pass
8608
8609 return
8610
8611 # $ANTLR end and_expression
8612
8613
8614 # $ANTLR start equality_expression
8615 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8616 def equality_expression(self, ):
8617
8618 equality_expression_StartIndex = self.input.index()
8619 try:
8620 try:
8621 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8622 return
8623
8624 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8625 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8626 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
8627 self.relational_expression()
8628 self.following.pop()
8629 if self.failed:
8630 return
8631 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8632 while True: #loop81
8633 alt81 = 2
8634 LA81_0 = self.input.LA(1)
8635
8636 if ((95 <= LA81_0 <= 96)) :
8637 alt81 = 1
8638
8639
8640 if alt81 == 1:
8641 # C.g:504:27: ( '==' | '!=' ) relational_expression
8642 if (95 <= self.input.LA(1) <= 96):
8643 self.input.consume();
8644 self.errorRecovery = False
8645 self.failed = False
8646
8647 else:
8648 if self.backtracking > 0:
8649 self.failed = True
8650 return
8651
8652 mse = MismatchedSetException(None, self.input)
8653 self.recoverFromMismatchedSet(
8654 self.input, mse, self.FOLLOW_set_in_equality_expression1955
8655 )
8656 raise mse
8657
8658
8659 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
8660 self.relational_expression()
8661 self.following.pop()
8662 if self.failed:
8663 return
8664
8665
8666 else:
8667 break #loop81
8668
8669
8670
8671
8672
8673
8674 except RecognitionException as re:
8675 self.reportError(re)
8676 self.recover(self.input, re)
8677 finally:
8678 if self.backtracking > 0:
8679 self.memoize(self.input, 57, equality_expression_StartIndex)
8680
8681 pass
8682
8683 return
8684
8685 # $ANTLR end equality_expression
8686
8687
8688 # $ANTLR start relational_expression
8689 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8690 def relational_expression(self, ):
8691
8692 relational_expression_StartIndex = self.input.index()
8693 try:
8694 try:
8695 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8696 return
8697
8698 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8699 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8700 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
8701 self.shift_expression()
8702 self.following.pop()
8703 if self.failed:
8704 return
8705 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8706 while True: #loop82
8707 alt82 = 2
8708 LA82_0 = self.input.LA(1)
8709
8710 if ((97 <= LA82_0 <= 100)) :
8711 alt82 = 1
8712
8713
8714 if alt82 == 1:
8715 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8716 if (97 <= self.input.LA(1) <= 100):
8717 self.input.consume();
8718 self.errorRecovery = False
8719 self.failed = False
8720
8721 else:
8722 if self.backtracking > 0:
8723 self.failed = True
8724 return
8725
8726 mse = MismatchedSetException(None, self.input)
8727 self.recoverFromMismatchedSet(
8728 self.input, mse, self.FOLLOW_set_in_relational_expression1978
8729 )
8730 raise mse
8731
8732
8733 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
8734 self.shift_expression()
8735 self.following.pop()
8736 if self.failed:
8737 return
8738
8739
8740 else:
8741 break #loop82
8742
8743
8744
8745
8746
8747
8748 except RecognitionException as re:
8749 self.reportError(re)
8750 self.recover(self.input, re)
8751 finally:
8752 if self.backtracking > 0:
8753 self.memoize(self.input, 58, relational_expression_StartIndex)
8754
8755 pass
8756
8757 return
8758
8759 # $ANTLR end relational_expression
8760
8761
8762 # $ANTLR start shift_expression
8763 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8764 def shift_expression(self, ):
8765
8766 shift_expression_StartIndex = self.input.index()
8767 try:
8768 try:
8769 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8770 return
8771
8772 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8773 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8774 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
8775 self.additive_expression()
8776 self.following.pop()
8777 if self.failed:
8778 return
8779 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8780 while True: #loop83
8781 alt83 = 2
8782 LA83_0 = self.input.LA(1)
8783
8784 if ((101 <= LA83_0 <= 102)) :
8785 alt83 = 1
8786
8787
8788 if alt83 == 1:
8789 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8790 if (101 <= self.input.LA(1) <= 102):
8791 self.input.consume();
8792 self.errorRecovery = False
8793 self.failed = False
8794
8795 else:
8796 if self.backtracking > 0:
8797 self.failed = True
8798 return
8799
8800 mse = MismatchedSetException(None, self.input)
8801 self.recoverFromMismatchedSet(
8802 self.input, mse, self.FOLLOW_set_in_shift_expression2004
8803 )
8804 raise mse
8805
8806
8807 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
8808 self.additive_expression()
8809 self.following.pop()
8810 if self.failed:
8811 return
8812
8813
8814 else:
8815 break #loop83
8816
8817
8818
8819
8820
8821
8822 except RecognitionException as re:
8823 self.reportError(re)
8824 self.recover(self.input, re)
8825 finally:
8826 if self.backtracking > 0:
8827 self.memoize(self.input, 59, shift_expression_StartIndex)
8828
8829 pass
8830
8831 return
8832
8833 # $ANTLR end shift_expression
8834
8835
8836 # $ANTLR start statement
8837 # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8838 def statement(self, ):
8839
8840 statement_StartIndex = self.input.index()
8841 try:
8842 try:
8843 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8844 return
8845
8846 # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8847 alt84 = 11
8848 LA84 = self.input.LA(1)
8849 if LA84 == IDENTIFIER:
8850 LA84 = self.input.LA(2)
8851 if LA84 == 62:
8852 LA84_43 = self.input.LA(3)
8853
8854 if (self.synpred169()) :
8855 alt84 = 3
8856 elif (self.synpred173()) :
8857 alt84 = 7
8858 elif (self.synpred174()) :
8859 alt84 = 8
8860 elif (True) :
8861 alt84 = 11
8862 else:
8863 if self.backtracking > 0:
8864 self.failed = True
8865 return
8866
8867 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
8868
8869 raise nvae
8870
8871 elif LA84 == 47:
8872 alt84 = 1
8873 elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102:
8874 alt84 = 3
8875 elif LA84 == 66:
8876 LA84_47 = self.input.LA(3)
8877
8878 if (self.synpred169()) :
8879 alt84 = 3
8880 elif (True) :
8881 alt84 = 11
8882 else:
8883 if self.backtracking > 0:
8884 self.failed = True
8885 return
8886
8887 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
8888
8889 raise nvae
8890
8891 elif LA84 == IDENTIFIER:
8892 LA84_53 = self.input.LA(3)
8893
8894 if (self.synpred169()) :
8895 alt84 = 3
8896 elif (True) :
8897 alt84 = 11
8898 else:
8899 if self.backtracking > 0:
8900 self.failed = True
8901 return
8902
8903 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
8904
8905 raise nvae
8906
8907 elif LA84 == 25:
8908 LA84_68 = self.input.LA(3)
8909
8910 if (self.synpred169()) :
8911 alt84 = 3
8912 elif (True) :
8913 alt84 = 11
8914 else:
8915 if self.backtracking > 0:
8916 self.failed = True
8917 return
8918
8919 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input)
8920
8921 raise nvae
8922
8923 elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8924 alt84 = 11
8925 else:
8926 if self.backtracking > 0:
8927 self.failed = True
8928 return
8929
8930 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
8931
8932 raise nvae
8933
8934 elif LA84 == 106 or LA84 == 107:
8935 alt84 = 1
8936 elif LA84 == 43:
8937 alt84 = 2
8938 elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
8939 alt84 = 3
8940 elif LA84 == 108 or LA84 == 110:
8941 alt84 = 4
8942 elif LA84 == 111 or LA84 == 112 or LA84 == 113:
8943 alt84 = 5
8944 elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
8945 alt84 = 6
8946 elif LA84 == 103:
8947 alt84 = 8
8948 elif LA84 == 104:
8949 alt84 = 9
8950 elif LA84 == 105:
8951 alt84 = 10
8952 elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8953 alt84 = 11
8954 else:
8955 if self.backtracking > 0:
8956 self.failed = True
8957 return
8958
8959 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
8960
8961 raise nvae
8962
8963 if alt84 == 1:
8964 # C.g:518:4: labeled_statement
8965 self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
8966 self.labeled_statement()
8967 self.following.pop()
8968 if self.failed:
8969 return
8970
8971
8972 elif alt84 == 2:
8973 # C.g:519:4: compound_statement
8974 self.following.append(self.FOLLOW_compound_statement_in_statement2030)
8975 self.compound_statement()
8976 self.following.pop()
8977 if self.failed:
8978 return
8979
8980
8981 elif alt84 == 3:
8982 # C.g:520:4: expression_statement
8983 self.following.append(self.FOLLOW_expression_statement_in_statement2035)
8984 self.expression_statement()
8985 self.following.pop()
8986 if self.failed:
8987 return
8988
8989
8990 elif alt84 == 4:
8991 # C.g:521:4: selection_statement
8992 self.following.append(self.FOLLOW_selection_statement_in_statement2040)
8993 self.selection_statement()
8994 self.following.pop()
8995 if self.failed:
8996 return
8997
8998
8999 elif alt84 == 5:
9000 # C.g:522:4: iteration_statement
9001 self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
9002 self.iteration_statement()
9003 self.following.pop()
9004 if self.failed:
9005 return
9006
9007
9008 elif alt84 == 6:
9009 # C.g:523:4: jump_statement
9010 self.following.append(self.FOLLOW_jump_statement_in_statement2050)
9011 self.jump_statement()
9012 self.following.pop()
9013 if self.failed:
9014 return
9015
9016
9017 elif alt84 == 7:
9018 # C.g:524:4: macro_statement
9019 self.following.append(self.FOLLOW_macro_statement_in_statement2055)
9020 self.macro_statement()
9021 self.following.pop()
9022 if self.failed:
9023 return
9024
9025
9026 elif alt84 == 8:
9027 # C.g:525:4: asm2_statement
9028 self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
9029 self.asm2_statement()
9030 self.following.pop()
9031 if self.failed:
9032 return
9033
9034
9035 elif alt84 == 9:
9036 # C.g:526:4: asm1_statement
9037 self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
9038 self.asm1_statement()
9039 self.following.pop()
9040 if self.failed:
9041 return
9042
9043
9044 elif alt84 == 10:
9045 # C.g:527:4: asm_statement
9046 self.following.append(self.FOLLOW_asm_statement_in_statement2070)
9047 self.asm_statement()
9048 self.following.pop()
9049 if self.failed:
9050 return
9051
9052
9053 elif alt84 == 11:
9054 # C.g:528:4: declaration
9055 self.following.append(self.FOLLOW_declaration_in_statement2075)
9056 self.declaration()
9057 self.following.pop()
9058 if self.failed:
9059 return
9060
9061
9062
9063 except RecognitionException as re:
9064 self.reportError(re)
9065 self.recover(self.input, re)
9066 finally:
9067 if self.backtracking > 0:
9068 self.memoize(self.input, 60, statement_StartIndex)
9069
9070 pass
9071
9072 return
9073
9074 # $ANTLR end statement
9075
9076
9077 # $ANTLR start asm2_statement
9078 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9079 def asm2_statement(self, ):
9080
9081 asm2_statement_StartIndex = self.input.index()
9082 try:
9083 try:
9084 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9085 return
9086
9087 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9088 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9089 # C.g:532:4: ( '__asm__' )?
9090 alt85 = 2
9091 LA85_0 = self.input.LA(1)
9092
9093 if (LA85_0 == 103) :
9094 alt85 = 1
9095 if alt85 == 1:
9096 # C.g:0:0: '__asm__'
9097 self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
9098 if self.failed:
9099 return
9100
9101
9102
9103 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
9104 if self.failed:
9105 return
9106 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
9107 if self.failed:
9108 return
9109 # C.g:532:30: (~ ( ';' ) )*
9110 while True: #loop86
9111 alt86 = 2
9112 LA86_0 = self.input.LA(1)
9113
9114 if (LA86_0 == 63) :
9115 LA86_1 = self.input.LA(2)
9116
9117 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
9118 alt86 = 1
9119
9120
9121 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
9122 alt86 = 1
9123
9124
9125 if alt86 == 1:
9126 # C.g:532:31: ~ ( ';' )
9127 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
9128 self.input.consume();
9129 self.errorRecovery = False
9130 self.failed = False
9131
9132 else:
9133 if self.backtracking > 0:
9134 self.failed = True
9135 return
9136
9137 mse = MismatchedSetException(None, self.input)
9138 self.recoverFromMismatchedSet(
9139 self.input, mse, self.FOLLOW_set_in_asm2_statement2094
9140 )
9141 raise mse
9142
9143
9144
9145
9146 else:
9147 break #loop86
9148
9149
9150 self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
9151 if self.failed:
9152 return
9153 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
9154 if self.failed:
9155 return
9156
9157
9158
9159
9160 except RecognitionException as re:
9161 self.reportError(re)
9162 self.recover(self.input, re)
9163 finally:
9164 if self.backtracking > 0:
9165 self.memoize(self.input, 61, asm2_statement_StartIndex)
9166
9167 pass
9168
9169 return
9170
9171 # $ANTLR end asm2_statement
9172
9173
9174 # $ANTLR start asm1_statement
9175 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9176 def asm1_statement(self, ):
9177
9178 asm1_statement_StartIndex = self.input.index()
9179 try:
9180 try:
9181 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9182 return
9183
9184 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9185 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9186 self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
9187 if self.failed:
9188 return
9189 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
9190 if self.failed:
9191 return
9192 # C.g:536:15: (~ ( '}' ) )*
9193 while True: #loop87
9194 alt87 = 2
9195 LA87_0 = self.input.LA(1)
9196
9197 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
9198 alt87 = 1
9199
9200
9201 if alt87 == 1:
9202 # C.g:536:16: ~ ( '}' )
9203 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9204 self.input.consume();
9205 self.errorRecovery = False
9206 self.failed = False
9207
9208 else:
9209 if self.backtracking > 0:
9210 self.failed = True
9211 return
9212
9213 mse = MismatchedSetException(None, self.input)
9214 self.recoverFromMismatchedSet(
9215 self.input, mse, self.FOLLOW_set_in_asm1_statement2120
9216 )
9217 raise mse
9218
9219
9220
9221
9222 else:
9223 break #loop87
9224
9225
9226 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
9227 if self.failed:
9228 return
9229
9230
9231
9232
9233 except RecognitionException as re:
9234 self.reportError(re)
9235 self.recover(self.input, re)
9236 finally:
9237 if self.backtracking > 0:
9238 self.memoize(self.input, 62, asm1_statement_StartIndex)
9239
9240 pass
9241
9242 return
9243
9244 # $ANTLR end asm1_statement
9245
9246
9247 # $ANTLR start asm_statement
9248 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9249 def asm_statement(self, ):
9250
9251 asm_statement_StartIndex = self.input.index()
9252 try:
9253 try:
9254 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9255 return
9256
9257 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9258 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9259 self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
9260 if self.failed:
9261 return
9262 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
9263 if self.failed:
9264 return
9265 # C.g:540:16: (~ ( '}' ) )*
9266 while True: #loop88
9267 alt88 = 2
9268 LA88_0 = self.input.LA(1)
9269
9270 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
9271 alt88 = 1
9272
9273
9274 if alt88 == 1:
9275 # C.g:540:17: ~ ( '}' )
9276 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9277 self.input.consume();
9278 self.errorRecovery = False
9279 self.failed = False
9280
9281 else:
9282 if self.backtracking > 0:
9283 self.failed = True
9284 return
9285
9286 mse = MismatchedSetException(None, self.input)
9287 self.recoverFromMismatchedSet(
9288 self.input, mse, self.FOLLOW_set_in_asm_statement2143
9289 )
9290 raise mse
9291
9292
9293
9294
9295 else:
9296 break #loop88
9297
9298
9299 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
9300 if self.failed:
9301 return
9302
9303
9304
9305
9306 except RecognitionException as re:
9307 self.reportError(re)
9308 self.recover(self.input, re)
9309 finally:
9310 if self.backtracking > 0:
9311 self.memoize(self.input, 63, asm_statement_StartIndex)
9312
9313 pass
9314
9315 return
9316
9317 # $ANTLR end asm_statement
9318
9319
9320 # $ANTLR start macro_statement
9321 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9322 def macro_statement(self, ):
9323
9324 macro_statement_StartIndex = self.input.index()
9325 try:
9326 try:
9327 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9328 return
9329
9330 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9331 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9332 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
9333 if self.failed:
9334 return
9335 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
9336 if self.failed:
9337 return
9338 # C.g:544:19: ( declaration )*
9339 while True: #loop89
9340 alt89 = 2
9341 LA89 = self.input.LA(1)
9342 if LA89 == IDENTIFIER:
9343 LA89 = self.input.LA(2)
9344 if LA89 == 62:
9345 LA89_45 = self.input.LA(3)
9346
9347 if (self.synpred181()) :
9348 alt89 = 1
9349
9350
9351 elif LA89 == IDENTIFIER:
9352 LA89_47 = self.input.LA(3)
9353
9354 if (self.synpred181()) :
9355 alt89 = 1
9356
9357
9358 elif LA89 == 66:
9359 LA89_50 = self.input.LA(3)
9360
9361 if (self.synpred181()) :
9362 alt89 = 1
9363
9364
9365 elif LA89 == 25:
9366 LA89_68 = self.input.LA(3)
9367
9368 if (self.synpred181()) :
9369 alt89 = 1
9370
9371
9372 elif LA89 == 58:
9373 LA89_71 = self.input.LA(3)
9374
9375 if (self.synpred181()) :
9376 alt89 = 1
9377
9378
9379 elif LA89 == 59:
9380 LA89_72 = self.input.LA(3)
9381
9382 if (self.synpred181()) :
9383 alt89 = 1
9384
9385
9386 elif LA89 == 60:
9387 LA89_73 = self.input.LA(3)
9388
9389 if (self.synpred181()) :
9390 alt89 = 1
9391
9392
9393 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9394 LA89_74 = self.input.LA(3)
9395
9396 if (self.synpred181()) :
9397 alt89 = 1
9398
9399
9400 elif LA89 == 34:
9401 LA89_75 = self.input.LA(3)
9402
9403 if (self.synpred181()) :
9404 alt89 = 1
9405
9406
9407 elif LA89 == 35:
9408 LA89_76 = self.input.LA(3)
9409
9410 if (self.synpred181()) :
9411 alt89 = 1
9412
9413
9414 elif LA89 == 36:
9415 LA89_77 = self.input.LA(3)
9416
9417 if (self.synpred181()) :
9418 alt89 = 1
9419
9420
9421 elif LA89 == 37:
9422 LA89_78 = self.input.LA(3)
9423
9424 if (self.synpred181()) :
9425 alt89 = 1
9426
9427
9428 elif LA89 == 38:
9429 LA89_79 = self.input.LA(3)
9430
9431 if (self.synpred181()) :
9432 alt89 = 1
9433
9434
9435 elif LA89 == 39:
9436 LA89_80 = self.input.LA(3)
9437
9438 if (self.synpred181()) :
9439 alt89 = 1
9440
9441
9442 elif LA89 == 40:
9443 LA89_81 = self.input.LA(3)
9444
9445 if (self.synpred181()) :
9446 alt89 = 1
9447
9448
9449 elif LA89 == 41:
9450 LA89_82 = self.input.LA(3)
9451
9452 if (self.synpred181()) :
9453 alt89 = 1
9454
9455
9456 elif LA89 == 42:
9457 LA89_83 = self.input.LA(3)
9458
9459 if (self.synpred181()) :
9460 alt89 = 1
9461
9462
9463 elif LA89 == 45 or LA89 == 46:
9464 LA89_84 = self.input.LA(3)
9465
9466 if (self.synpred181()) :
9467 alt89 = 1
9468
9469
9470 elif LA89 == 48:
9471 LA89_85 = self.input.LA(3)
9472
9473 if (self.synpred181()) :
9474 alt89 = 1
9475
9476
9477 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9478 LA89_86 = self.input.LA(3)
9479
9480 if (self.synpred181()) :
9481 alt89 = 1
9482
9483
9484
9485 elif LA89 == 26:
9486 LA89 = self.input.LA(2)
9487 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9488 LA89_87 = self.input.LA(3)
9489
9490 if (self.synpred181()) :
9491 alt89 = 1
9492
9493
9494 elif LA89 == 34:
9495 LA89_88 = self.input.LA(3)
9496
9497 if (self.synpred181()) :
9498 alt89 = 1
9499
9500
9501 elif LA89 == 35:
9502 LA89_89 = self.input.LA(3)
9503
9504 if (self.synpred181()) :
9505 alt89 = 1
9506
9507
9508 elif LA89 == 36:
9509 LA89_90 = self.input.LA(3)
9510
9511 if (self.synpred181()) :
9512 alt89 = 1
9513
9514
9515 elif LA89 == 37:
9516 LA89_91 = self.input.LA(3)
9517
9518 if (self.synpred181()) :
9519 alt89 = 1
9520
9521
9522 elif LA89 == 38:
9523 LA89_92 = self.input.LA(3)
9524
9525 if (self.synpred181()) :
9526 alt89 = 1
9527
9528
9529 elif LA89 == 39:
9530 LA89_93 = self.input.LA(3)
9531
9532 if (self.synpred181()) :
9533 alt89 = 1
9534
9535
9536 elif LA89 == 40:
9537 LA89_94 = self.input.LA(3)
9538
9539 if (self.synpred181()) :
9540 alt89 = 1
9541
9542
9543 elif LA89 == 41:
9544 LA89_95 = self.input.LA(3)
9545
9546 if (self.synpred181()) :
9547 alt89 = 1
9548
9549
9550 elif LA89 == 42:
9551 LA89_96 = self.input.LA(3)
9552
9553 if (self.synpred181()) :
9554 alt89 = 1
9555
9556
9557 elif LA89 == 45 or LA89 == 46:
9558 LA89_97 = self.input.LA(3)
9559
9560 if (self.synpred181()) :
9561 alt89 = 1
9562
9563
9564 elif LA89 == 48:
9565 LA89_98 = self.input.LA(3)
9566
9567 if (self.synpred181()) :
9568 alt89 = 1
9569
9570
9571 elif LA89 == IDENTIFIER:
9572 LA89_99 = self.input.LA(3)
9573
9574 if (self.synpred181()) :
9575 alt89 = 1
9576
9577
9578 elif LA89 == 58:
9579 LA89_100 = self.input.LA(3)
9580
9581 if (self.synpred181()) :
9582 alt89 = 1
9583
9584
9585 elif LA89 == 66:
9586 LA89_101 = self.input.LA(3)
9587
9588 if (self.synpred181()) :
9589 alt89 = 1
9590
9591
9592 elif LA89 == 59:
9593 LA89_102 = self.input.LA(3)
9594
9595 if (self.synpred181()) :
9596 alt89 = 1
9597
9598
9599 elif LA89 == 60:
9600 LA89_103 = self.input.LA(3)
9601
9602 if (self.synpred181()) :
9603 alt89 = 1
9604
9605
9606 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9607 LA89_104 = self.input.LA(3)
9608
9609 if (self.synpred181()) :
9610 alt89 = 1
9611
9612
9613 elif LA89 == 62:
9614 LA89_105 = self.input.LA(3)
9615
9616 if (self.synpred181()) :
9617 alt89 = 1
9618
9619
9620
9621 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9622 LA89 = self.input.LA(2)
9623 if LA89 == 66:
9624 LA89_106 = self.input.LA(3)
9625
9626 if (self.synpred181()) :
9627 alt89 = 1
9628
9629
9630 elif LA89 == 58:
9631 LA89_107 = self.input.LA(3)
9632
9633 if (self.synpred181()) :
9634 alt89 = 1
9635
9636
9637 elif LA89 == 59:
9638 LA89_108 = self.input.LA(3)
9639
9640 if (self.synpred181()) :
9641 alt89 = 1
9642
9643
9644 elif LA89 == 60:
9645 LA89_109 = self.input.LA(3)
9646
9647 if (self.synpred181()) :
9648 alt89 = 1
9649
9650
9651 elif LA89 == IDENTIFIER:
9652 LA89_110 = self.input.LA(3)
9653
9654 if (self.synpred181()) :
9655 alt89 = 1
9656
9657
9658 elif LA89 == 62:
9659 LA89_111 = self.input.LA(3)
9660
9661 if (self.synpred181()) :
9662 alt89 = 1
9663
9664
9665 elif LA89 == 25:
9666 LA89_112 = self.input.LA(3)
9667
9668 if (self.synpred181()) :
9669 alt89 = 1
9670
9671
9672 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9673 LA89_113 = self.input.LA(3)
9674
9675 if (self.synpred181()) :
9676 alt89 = 1
9677
9678
9679 elif LA89 == 34:
9680 LA89_114 = self.input.LA(3)
9681
9682 if (self.synpred181()) :
9683 alt89 = 1
9684
9685
9686 elif LA89 == 35:
9687 LA89_115 = self.input.LA(3)
9688
9689 if (self.synpred181()) :
9690 alt89 = 1
9691
9692
9693 elif LA89 == 36:
9694 LA89_116 = self.input.LA(3)
9695
9696 if (self.synpred181()) :
9697 alt89 = 1
9698
9699
9700 elif LA89 == 37:
9701 LA89_117 = self.input.LA(3)
9702
9703 if (self.synpred181()) :
9704 alt89 = 1
9705
9706
9707 elif LA89 == 38:
9708 LA89_118 = self.input.LA(3)
9709
9710 if (self.synpred181()) :
9711 alt89 = 1
9712
9713
9714 elif LA89 == 39:
9715 LA89_119 = self.input.LA(3)
9716
9717 if (self.synpred181()) :
9718 alt89 = 1
9719
9720
9721 elif LA89 == 40:
9722 LA89_120 = self.input.LA(3)
9723
9724 if (self.synpred181()) :
9725 alt89 = 1
9726
9727
9728 elif LA89 == 41:
9729 LA89_121 = self.input.LA(3)
9730
9731 if (self.synpred181()) :
9732 alt89 = 1
9733
9734
9735 elif LA89 == 42:
9736 LA89_122 = self.input.LA(3)
9737
9738 if (self.synpred181()) :
9739 alt89 = 1
9740
9741
9742 elif LA89 == 45 or LA89 == 46:
9743 LA89_123 = self.input.LA(3)
9744
9745 if (self.synpred181()) :
9746 alt89 = 1
9747
9748
9749 elif LA89 == 48:
9750 LA89_124 = self.input.LA(3)
9751
9752 if (self.synpred181()) :
9753 alt89 = 1
9754
9755
9756 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9757 LA89_125 = self.input.LA(3)
9758
9759 if (self.synpred181()) :
9760 alt89 = 1
9761
9762
9763
9764 elif LA89 == 34:
9765 LA89 = self.input.LA(2)
9766 if LA89 == 66:
9767 LA89_126 = self.input.LA(3)
9768
9769 if (self.synpred181()) :
9770 alt89 = 1
9771
9772
9773 elif LA89 == 58:
9774 LA89_127 = self.input.LA(3)
9775
9776 if (self.synpred181()) :
9777 alt89 = 1
9778
9779
9780 elif LA89 == 59:
9781 LA89_128 = self.input.LA(3)
9782
9783 if (self.synpred181()) :
9784 alt89 = 1
9785
9786
9787 elif LA89 == 60:
9788 LA89_129 = self.input.LA(3)
9789
9790 if (self.synpred181()) :
9791 alt89 = 1
9792
9793
9794 elif LA89 == IDENTIFIER:
9795 LA89_130 = self.input.LA(3)
9796
9797 if (self.synpred181()) :
9798 alt89 = 1
9799
9800
9801 elif LA89 == 62:
9802 LA89_131 = self.input.LA(3)
9803
9804 if (self.synpred181()) :
9805 alt89 = 1
9806
9807
9808 elif LA89 == 25:
9809 LA89_132 = self.input.LA(3)
9810
9811 if (self.synpred181()) :
9812 alt89 = 1
9813
9814
9815 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9816 LA89_133 = self.input.LA(3)
9817
9818 if (self.synpred181()) :
9819 alt89 = 1
9820
9821
9822 elif LA89 == 34:
9823 LA89_134 = self.input.LA(3)
9824
9825 if (self.synpred181()) :
9826 alt89 = 1
9827
9828
9829 elif LA89 == 35:
9830 LA89_135 = self.input.LA(3)
9831
9832 if (self.synpred181()) :
9833 alt89 = 1
9834
9835
9836 elif LA89 == 36:
9837 LA89_136 = self.input.LA(3)
9838
9839 if (self.synpred181()) :
9840 alt89 = 1
9841
9842
9843 elif LA89 == 37:
9844 LA89_137 = self.input.LA(3)
9845
9846 if (self.synpred181()) :
9847 alt89 = 1
9848
9849
9850 elif LA89 == 38:
9851 LA89_138 = self.input.LA(3)
9852
9853 if (self.synpred181()) :
9854 alt89 = 1
9855
9856
9857 elif LA89 == 39:
9858 LA89_139 = self.input.LA(3)
9859
9860 if (self.synpred181()) :
9861 alt89 = 1
9862
9863
9864 elif LA89 == 40:
9865 LA89_140 = self.input.LA(3)
9866
9867 if (self.synpred181()) :
9868 alt89 = 1
9869
9870
9871 elif LA89 == 41:
9872 LA89_141 = self.input.LA(3)
9873
9874 if (self.synpred181()) :
9875 alt89 = 1
9876
9877
9878 elif LA89 == 42:
9879 LA89_142 = self.input.LA(3)
9880
9881 if (self.synpred181()) :
9882 alt89 = 1
9883
9884
9885 elif LA89 == 45 or LA89 == 46:
9886 LA89_143 = self.input.LA(3)
9887
9888 if (self.synpred181()) :
9889 alt89 = 1
9890
9891
9892 elif LA89 == 48:
9893 LA89_144 = self.input.LA(3)
9894
9895 if (self.synpred181()) :
9896 alt89 = 1
9897
9898
9899 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9900 LA89_145 = self.input.LA(3)
9901
9902 if (self.synpred181()) :
9903 alt89 = 1
9904
9905
9906
9907 elif LA89 == 35:
9908 LA89 = self.input.LA(2)
9909 if LA89 == 66:
9910 LA89_146 = self.input.LA(3)
9911
9912 if (self.synpred181()) :
9913 alt89 = 1
9914
9915
9916 elif LA89 == 58:
9917 LA89_147 = self.input.LA(3)
9918
9919 if (self.synpred181()) :
9920 alt89 = 1
9921
9922
9923 elif LA89 == 59:
9924 LA89_148 = self.input.LA(3)
9925
9926 if (self.synpred181()) :
9927 alt89 = 1
9928
9929
9930 elif LA89 == 60:
9931 LA89_149 = self.input.LA(3)
9932
9933 if (self.synpred181()) :
9934 alt89 = 1
9935
9936
9937 elif LA89 == IDENTIFIER:
9938 LA89_150 = self.input.LA(3)
9939
9940 if (self.synpred181()) :
9941 alt89 = 1
9942
9943
9944 elif LA89 == 62:
9945 LA89_151 = self.input.LA(3)
9946
9947 if (self.synpred181()) :
9948 alt89 = 1
9949
9950
9951 elif LA89 == 25:
9952 LA89_152 = self.input.LA(3)
9953
9954 if (self.synpred181()) :
9955 alt89 = 1
9956
9957
9958 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9959 LA89_153 = self.input.LA(3)
9960
9961 if (self.synpred181()) :
9962 alt89 = 1
9963
9964
9965 elif LA89 == 34:
9966 LA89_154 = self.input.LA(3)
9967
9968 if (self.synpred181()) :
9969 alt89 = 1
9970
9971
9972 elif LA89 == 35:
9973 LA89_155 = self.input.LA(3)
9974
9975 if (self.synpred181()) :
9976 alt89 = 1
9977
9978
9979 elif LA89 == 36:
9980 LA89_156 = self.input.LA(3)
9981
9982 if (self.synpred181()) :
9983 alt89 = 1
9984
9985
9986 elif LA89 == 37:
9987 LA89_157 = self.input.LA(3)
9988
9989 if (self.synpred181()) :
9990 alt89 = 1
9991
9992
9993 elif LA89 == 38:
9994 LA89_158 = self.input.LA(3)
9995
9996 if (self.synpred181()) :
9997 alt89 = 1
9998
9999
10000 elif LA89 == 39:
10001 LA89_159 = self.input.LA(3)
10002
10003 if (self.synpred181()) :
10004 alt89 = 1
10005
10006
10007 elif LA89 == 40:
10008 LA89_160 = self.input.LA(3)
10009
10010 if (self.synpred181()) :
10011 alt89 = 1
10012
10013
10014 elif LA89 == 41:
10015 LA89_161 = self.input.LA(3)
10016
10017 if (self.synpred181()) :
10018 alt89 = 1
10019
10020
10021 elif LA89 == 42:
10022 LA89_162 = self.input.LA(3)
10023
10024 if (self.synpred181()) :
10025 alt89 = 1
10026
10027
10028 elif LA89 == 45 or LA89 == 46:
10029 LA89_163 = self.input.LA(3)
10030
10031 if (self.synpred181()) :
10032 alt89 = 1
10033
10034
10035 elif LA89 == 48:
10036 LA89_164 = self.input.LA(3)
10037
10038 if (self.synpred181()) :
10039 alt89 = 1
10040
10041
10042 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10043 LA89_165 = self.input.LA(3)
10044
10045 if (self.synpred181()) :
10046 alt89 = 1
10047
10048
10049
10050 elif LA89 == 36:
10051 LA89 = self.input.LA(2)
10052 if LA89 == 66:
10053 LA89_166 = self.input.LA(3)
10054
10055 if (self.synpred181()) :
10056 alt89 = 1
10057
10058
10059 elif LA89 == 58:
10060 LA89_167 = self.input.LA(3)
10061
10062 if (self.synpred181()) :
10063 alt89 = 1
10064
10065
10066 elif LA89 == 59:
10067 LA89_168 = self.input.LA(3)
10068
10069 if (self.synpred181()) :
10070 alt89 = 1
10071
10072
10073 elif LA89 == 60:
10074 LA89_169 = self.input.LA(3)
10075
10076 if (self.synpred181()) :
10077 alt89 = 1
10078
10079
10080 elif LA89 == IDENTIFIER:
10081 LA89_170 = self.input.LA(3)
10082
10083 if (self.synpred181()) :
10084 alt89 = 1
10085
10086
10087 elif LA89 == 62:
10088 LA89_171 = self.input.LA(3)
10089
10090 if (self.synpred181()) :
10091 alt89 = 1
10092
10093
10094 elif LA89 == 25:
10095 LA89_172 = self.input.LA(3)
10096
10097 if (self.synpred181()) :
10098 alt89 = 1
10099
10100
10101 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10102 LA89_173 = self.input.LA(3)
10103
10104 if (self.synpred181()) :
10105 alt89 = 1
10106
10107
10108 elif LA89 == 34:
10109 LA89_174 = self.input.LA(3)
10110
10111 if (self.synpred181()) :
10112 alt89 = 1
10113
10114
10115 elif LA89 == 35:
10116 LA89_175 = self.input.LA(3)
10117
10118 if (self.synpred181()) :
10119 alt89 = 1
10120
10121
10122 elif LA89 == 36:
10123 LA89_176 = self.input.LA(3)
10124
10125 if (self.synpred181()) :
10126 alt89 = 1
10127
10128
10129 elif LA89 == 37:
10130 LA89_177 = self.input.LA(3)
10131
10132 if (self.synpred181()) :
10133 alt89 = 1
10134
10135
10136 elif LA89 == 38:
10137 LA89_178 = self.input.LA(3)
10138
10139 if (self.synpred181()) :
10140 alt89 = 1
10141
10142
10143 elif LA89 == 39:
10144 LA89_179 = self.input.LA(3)
10145
10146 if (self.synpred181()) :
10147 alt89 = 1
10148
10149
10150 elif LA89 == 40:
10151 LA89_180 = self.input.LA(3)
10152
10153 if (self.synpred181()) :
10154 alt89 = 1
10155
10156
10157 elif LA89 == 41:
10158 LA89_181 = self.input.LA(3)
10159
10160 if (self.synpred181()) :
10161 alt89 = 1
10162
10163
10164 elif LA89 == 42:
10165 LA89_182 = self.input.LA(3)
10166
10167 if (self.synpred181()) :
10168 alt89 = 1
10169
10170
10171 elif LA89 == 45 or LA89 == 46:
10172 LA89_183 = self.input.LA(3)
10173
10174 if (self.synpred181()) :
10175 alt89 = 1
10176
10177
10178 elif LA89 == 48:
10179 LA89_184 = self.input.LA(3)
10180
10181 if (self.synpred181()) :
10182 alt89 = 1
10183
10184
10185 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10186 LA89_185 = self.input.LA(3)
10187
10188 if (self.synpred181()) :
10189 alt89 = 1
10190
10191
10192
10193 elif LA89 == 37:
10194 LA89 = self.input.LA(2)
10195 if LA89 == 66:
10196 LA89_186 = self.input.LA(3)
10197
10198 if (self.synpred181()) :
10199 alt89 = 1
10200
10201
10202 elif LA89 == 58:
10203 LA89_187 = self.input.LA(3)
10204
10205 if (self.synpred181()) :
10206 alt89 = 1
10207
10208
10209 elif LA89 == 59:
10210 LA89_188 = self.input.LA(3)
10211
10212 if (self.synpred181()) :
10213 alt89 = 1
10214
10215
10216 elif LA89 == 60:
10217 LA89_189 = self.input.LA(3)
10218
10219 if (self.synpred181()) :
10220 alt89 = 1
10221
10222
10223 elif LA89 == IDENTIFIER:
10224 LA89_190 = self.input.LA(3)
10225
10226 if (self.synpred181()) :
10227 alt89 = 1
10228
10229
10230 elif LA89 == 62:
10231 LA89_191 = self.input.LA(3)
10232
10233 if (self.synpred181()) :
10234 alt89 = 1
10235
10236
10237 elif LA89 == 25:
10238 LA89_192 = self.input.LA(3)
10239
10240 if (self.synpred181()) :
10241 alt89 = 1
10242
10243
10244 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10245 LA89_193 = self.input.LA(3)
10246
10247 if (self.synpred181()) :
10248 alt89 = 1
10249
10250
10251 elif LA89 == 34:
10252 LA89_194 = self.input.LA(3)
10253
10254 if (self.synpred181()) :
10255 alt89 = 1
10256
10257
10258 elif LA89 == 35:
10259 LA89_195 = self.input.LA(3)
10260
10261 if (self.synpred181()) :
10262 alt89 = 1
10263
10264
10265 elif LA89 == 36:
10266 LA89_196 = self.input.LA(3)
10267
10268 if (self.synpred181()) :
10269 alt89 = 1
10270
10271
10272 elif LA89 == 37:
10273 LA89_197 = self.input.LA(3)
10274
10275 if (self.synpred181()) :
10276 alt89 = 1
10277
10278
10279 elif LA89 == 38:
10280 LA89_198 = self.input.LA(3)
10281
10282 if (self.synpred181()) :
10283 alt89 = 1
10284
10285
10286 elif LA89 == 39:
10287 LA89_199 = self.input.LA(3)
10288
10289 if (self.synpred181()) :
10290 alt89 = 1
10291
10292
10293 elif LA89 == 40:
10294 LA89_200 = self.input.LA(3)
10295
10296 if (self.synpred181()) :
10297 alt89 = 1
10298
10299
10300 elif LA89 == 41:
10301 LA89_201 = self.input.LA(3)
10302
10303 if (self.synpred181()) :
10304 alt89 = 1
10305
10306
10307 elif LA89 == 42:
10308 LA89_202 = self.input.LA(3)
10309
10310 if (self.synpred181()) :
10311 alt89 = 1
10312
10313
10314 elif LA89 == 45 or LA89 == 46:
10315 LA89_203 = self.input.LA(3)
10316
10317 if (self.synpred181()) :
10318 alt89 = 1
10319
10320
10321 elif LA89 == 48:
10322 LA89_204 = self.input.LA(3)
10323
10324 if (self.synpred181()) :
10325 alt89 = 1
10326
10327
10328 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10329 LA89_205 = self.input.LA(3)
10330
10331 if (self.synpred181()) :
10332 alt89 = 1
10333
10334
10335
10336 elif LA89 == 38:
10337 LA89 = self.input.LA(2)
10338 if LA89 == 66:
10339 LA89_206 = self.input.LA(3)
10340
10341 if (self.synpred181()) :
10342 alt89 = 1
10343
10344
10345 elif LA89 == 58:
10346 LA89_207 = self.input.LA(3)
10347
10348 if (self.synpred181()) :
10349 alt89 = 1
10350
10351
10352 elif LA89 == 59:
10353 LA89_208 = self.input.LA(3)
10354
10355 if (self.synpred181()) :
10356 alt89 = 1
10357
10358
10359 elif LA89 == 60:
10360 LA89_209 = self.input.LA(3)
10361
10362 if (self.synpred181()) :
10363 alt89 = 1
10364
10365
10366 elif LA89 == IDENTIFIER:
10367 LA89_210 = self.input.LA(3)
10368
10369 if (self.synpred181()) :
10370 alt89 = 1
10371
10372
10373 elif LA89 == 62:
10374 LA89_211 = self.input.LA(3)
10375
10376 if (self.synpred181()) :
10377 alt89 = 1
10378
10379
10380 elif LA89 == 25:
10381 LA89_212 = self.input.LA(3)
10382
10383 if (self.synpred181()) :
10384 alt89 = 1
10385
10386
10387 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10388 LA89_213 = self.input.LA(3)
10389
10390 if (self.synpred181()) :
10391 alt89 = 1
10392
10393
10394 elif LA89 == 34:
10395 LA89_214 = self.input.LA(3)
10396
10397 if (self.synpred181()) :
10398 alt89 = 1
10399
10400
10401 elif LA89 == 35:
10402 LA89_215 = self.input.LA(3)
10403
10404 if (self.synpred181()) :
10405 alt89 = 1
10406
10407
10408 elif LA89 == 36:
10409 LA89_216 = self.input.LA(3)
10410
10411 if (self.synpred181()) :
10412 alt89 = 1
10413
10414
10415 elif LA89 == 37:
10416 LA89_217 = self.input.LA(3)
10417
10418 if (self.synpred181()) :
10419 alt89 = 1
10420
10421
10422 elif LA89 == 38:
10423 LA89_218 = self.input.LA(3)
10424
10425 if (self.synpred181()) :
10426 alt89 = 1
10427
10428
10429 elif LA89 == 39:
10430 LA89_219 = self.input.LA(3)
10431
10432 if (self.synpred181()) :
10433 alt89 = 1
10434
10435
10436 elif LA89 == 40:
10437 LA89_220 = self.input.LA(3)
10438
10439 if (self.synpred181()) :
10440 alt89 = 1
10441
10442
10443 elif LA89 == 41:
10444 LA89_221 = self.input.LA(3)
10445
10446 if (self.synpred181()) :
10447 alt89 = 1
10448
10449
10450 elif LA89 == 42:
10451 LA89_222 = self.input.LA(3)
10452
10453 if (self.synpred181()) :
10454 alt89 = 1
10455
10456
10457 elif LA89 == 45 or LA89 == 46:
10458 LA89_223 = self.input.LA(3)
10459
10460 if (self.synpred181()) :
10461 alt89 = 1
10462
10463
10464 elif LA89 == 48:
10465 LA89_224 = self.input.LA(3)
10466
10467 if (self.synpred181()) :
10468 alt89 = 1
10469
10470
10471 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10472 LA89_225 = self.input.LA(3)
10473
10474 if (self.synpred181()) :
10475 alt89 = 1
10476
10477
10478
10479 elif LA89 == 39:
10480 LA89 = self.input.LA(2)
10481 if LA89 == 66:
10482 LA89_226 = self.input.LA(3)
10483
10484 if (self.synpred181()) :
10485 alt89 = 1
10486
10487
10488 elif LA89 == 58:
10489 LA89_227 = self.input.LA(3)
10490
10491 if (self.synpred181()) :
10492 alt89 = 1
10493
10494
10495 elif LA89 == 59:
10496 LA89_228 = self.input.LA(3)
10497
10498 if (self.synpred181()) :
10499 alt89 = 1
10500
10501
10502 elif LA89 == 60:
10503 LA89_229 = self.input.LA(3)
10504
10505 if (self.synpred181()) :
10506 alt89 = 1
10507
10508
10509 elif LA89 == IDENTIFIER:
10510 LA89_230 = self.input.LA(3)
10511
10512 if (self.synpred181()) :
10513 alt89 = 1
10514
10515
10516 elif LA89 == 62:
10517 LA89_231 = self.input.LA(3)
10518
10519 if (self.synpred181()) :
10520 alt89 = 1
10521
10522
10523 elif LA89 == 25:
10524 LA89_232 = self.input.LA(3)
10525
10526 if (self.synpred181()) :
10527 alt89 = 1
10528
10529
10530 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10531 LA89_233 = self.input.LA(3)
10532
10533 if (self.synpred181()) :
10534 alt89 = 1
10535
10536
10537 elif LA89 == 34:
10538 LA89_234 = self.input.LA(3)
10539
10540 if (self.synpred181()) :
10541 alt89 = 1
10542
10543
10544 elif LA89 == 35:
10545 LA89_235 = self.input.LA(3)
10546
10547 if (self.synpred181()) :
10548 alt89 = 1
10549
10550
10551 elif LA89 == 36:
10552 LA89_236 = self.input.LA(3)
10553
10554 if (self.synpred181()) :
10555 alt89 = 1
10556
10557
10558 elif LA89 == 37:
10559 LA89_237 = self.input.LA(3)
10560
10561 if (self.synpred181()) :
10562 alt89 = 1
10563
10564
10565 elif LA89 == 38:
10566 LA89_238 = self.input.LA(3)
10567
10568 if (self.synpred181()) :
10569 alt89 = 1
10570
10571
10572 elif LA89 == 39:
10573 LA89_239 = self.input.LA(3)
10574
10575 if (self.synpred181()) :
10576 alt89 = 1
10577
10578
10579 elif LA89 == 40:
10580 LA89_240 = self.input.LA(3)
10581
10582 if (self.synpred181()) :
10583 alt89 = 1
10584
10585
10586 elif LA89 == 41:
10587 LA89_241 = self.input.LA(3)
10588
10589 if (self.synpred181()) :
10590 alt89 = 1
10591
10592
10593 elif LA89 == 42:
10594 LA89_242 = self.input.LA(3)
10595
10596 if (self.synpred181()) :
10597 alt89 = 1
10598
10599
10600 elif LA89 == 45 or LA89 == 46:
10601 LA89_243 = self.input.LA(3)
10602
10603 if (self.synpred181()) :
10604 alt89 = 1
10605
10606
10607 elif LA89 == 48:
10608 LA89_244 = self.input.LA(3)
10609
10610 if (self.synpred181()) :
10611 alt89 = 1
10612
10613
10614 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10615 LA89_245 = self.input.LA(3)
10616
10617 if (self.synpred181()) :
10618 alt89 = 1
10619
10620
10621
10622 elif LA89 == 40:
10623 LA89 = self.input.LA(2)
10624 if LA89 == 66:
10625 LA89_246 = self.input.LA(3)
10626
10627 if (self.synpred181()) :
10628 alt89 = 1
10629
10630
10631 elif LA89 == 58:
10632 LA89_247 = self.input.LA(3)
10633
10634 if (self.synpred181()) :
10635 alt89 = 1
10636
10637
10638 elif LA89 == 59:
10639 LA89_248 = self.input.LA(3)
10640
10641 if (self.synpred181()) :
10642 alt89 = 1
10643
10644
10645 elif LA89 == 60:
10646 LA89_249 = self.input.LA(3)
10647
10648 if (self.synpred181()) :
10649 alt89 = 1
10650
10651
10652 elif LA89 == IDENTIFIER:
10653 LA89_250 = self.input.LA(3)
10654
10655 if (self.synpred181()) :
10656 alt89 = 1
10657
10658
10659 elif LA89 == 62:
10660 LA89_251 = self.input.LA(3)
10661
10662 if (self.synpred181()) :
10663 alt89 = 1
10664
10665
10666 elif LA89 == 25:
10667 LA89_252 = self.input.LA(3)
10668
10669 if (self.synpred181()) :
10670 alt89 = 1
10671
10672
10673 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10674 LA89_253 = self.input.LA(3)
10675
10676 if (self.synpred181()) :
10677 alt89 = 1
10678
10679
10680 elif LA89 == 34:
10681 LA89_254 = self.input.LA(3)
10682
10683 if (self.synpred181()) :
10684 alt89 = 1
10685
10686
10687 elif LA89 == 35:
10688 LA89_255 = self.input.LA(3)
10689
10690 if (self.synpred181()) :
10691 alt89 = 1
10692
10693
10694 elif LA89 == 36:
10695 LA89_256 = self.input.LA(3)
10696
10697 if (self.synpred181()) :
10698 alt89 = 1
10699
10700
10701 elif LA89 == 37:
10702 LA89_257 = self.input.LA(3)
10703
10704 if (self.synpred181()) :
10705 alt89 = 1
10706
10707
10708 elif LA89 == 38:
10709 LA89_258 = self.input.LA(3)
10710
10711 if (self.synpred181()) :
10712 alt89 = 1
10713
10714
10715 elif LA89 == 39:
10716 LA89_259 = self.input.LA(3)
10717
10718 if (self.synpred181()) :
10719 alt89 = 1
10720
10721
10722 elif LA89 == 40:
10723 LA89_260 = self.input.LA(3)
10724
10725 if (self.synpred181()) :
10726 alt89 = 1
10727
10728
10729 elif LA89 == 41:
10730 LA89_261 = self.input.LA(3)
10731
10732 if (self.synpred181()) :
10733 alt89 = 1
10734
10735
10736 elif LA89 == 42:
10737 LA89_262 = self.input.LA(3)
10738
10739 if (self.synpred181()) :
10740 alt89 = 1
10741
10742
10743 elif LA89 == 45 or LA89 == 46:
10744 LA89_263 = self.input.LA(3)
10745
10746 if (self.synpred181()) :
10747 alt89 = 1
10748
10749
10750 elif LA89 == 48:
10751 LA89_264 = self.input.LA(3)
10752
10753 if (self.synpred181()) :
10754 alt89 = 1
10755
10756
10757 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10758 LA89_265 = self.input.LA(3)
10759
10760 if (self.synpred181()) :
10761 alt89 = 1
10762
10763
10764
10765 elif LA89 == 41:
10766 LA89 = self.input.LA(2)
10767 if LA89 == 66:
10768 LA89_266 = self.input.LA(3)
10769
10770 if (self.synpred181()) :
10771 alt89 = 1
10772
10773
10774 elif LA89 == 58:
10775 LA89_267 = self.input.LA(3)
10776
10777 if (self.synpred181()) :
10778 alt89 = 1
10779
10780
10781 elif LA89 == 59:
10782 LA89_268 = self.input.LA(3)
10783
10784 if (self.synpred181()) :
10785 alt89 = 1
10786
10787
10788 elif LA89 == 60:
10789 LA89_269 = self.input.LA(3)
10790
10791 if (self.synpred181()) :
10792 alt89 = 1
10793
10794
10795 elif LA89 == IDENTIFIER:
10796 LA89_270 = self.input.LA(3)
10797
10798 if (self.synpred181()) :
10799 alt89 = 1
10800
10801
10802 elif LA89 == 62:
10803 LA89_271 = self.input.LA(3)
10804
10805 if (self.synpred181()) :
10806 alt89 = 1
10807
10808
10809 elif LA89 == 25:
10810 LA89_272 = self.input.LA(3)
10811
10812 if (self.synpred181()) :
10813 alt89 = 1
10814
10815
10816 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10817 LA89_273 = self.input.LA(3)
10818
10819 if (self.synpred181()) :
10820 alt89 = 1
10821
10822
10823 elif LA89 == 34:
10824 LA89_274 = self.input.LA(3)
10825
10826 if (self.synpred181()) :
10827 alt89 = 1
10828
10829
10830 elif LA89 == 35:
10831 LA89_275 = self.input.LA(3)
10832
10833 if (self.synpred181()) :
10834 alt89 = 1
10835
10836
10837 elif LA89 == 36:
10838 LA89_276 = self.input.LA(3)
10839
10840 if (self.synpred181()) :
10841 alt89 = 1
10842
10843
10844 elif LA89 == 37:
10845 LA89_277 = self.input.LA(3)
10846
10847 if (self.synpred181()) :
10848 alt89 = 1
10849
10850
10851 elif LA89 == 38:
10852 LA89_278 = self.input.LA(3)
10853
10854 if (self.synpred181()) :
10855 alt89 = 1
10856
10857
10858 elif LA89 == 39:
10859 LA89_279 = self.input.LA(3)
10860
10861 if (self.synpred181()) :
10862 alt89 = 1
10863
10864
10865 elif LA89 == 40:
10866 LA89_280 = self.input.LA(3)
10867
10868 if (self.synpred181()) :
10869 alt89 = 1
10870
10871
10872 elif LA89 == 41:
10873 LA89_281 = self.input.LA(3)
10874
10875 if (self.synpred181()) :
10876 alt89 = 1
10877
10878
10879 elif LA89 == 42:
10880 LA89_282 = self.input.LA(3)
10881
10882 if (self.synpred181()) :
10883 alt89 = 1
10884
10885
10886 elif LA89 == 45 or LA89 == 46:
10887 LA89_283 = self.input.LA(3)
10888
10889 if (self.synpred181()) :
10890 alt89 = 1
10891
10892
10893 elif LA89 == 48:
10894 LA89_284 = self.input.LA(3)
10895
10896 if (self.synpred181()) :
10897 alt89 = 1
10898
10899
10900 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10901 LA89_285 = self.input.LA(3)
10902
10903 if (self.synpred181()) :
10904 alt89 = 1
10905
10906
10907
10908 elif LA89 == 42:
10909 LA89 = self.input.LA(2)
10910 if LA89 == 66:
10911 LA89_286 = self.input.LA(3)
10912
10913 if (self.synpred181()) :
10914 alt89 = 1
10915
10916
10917 elif LA89 == 58:
10918 LA89_287 = self.input.LA(3)
10919
10920 if (self.synpred181()) :
10921 alt89 = 1
10922
10923
10924 elif LA89 == 59:
10925 LA89_288 = self.input.LA(3)
10926
10927 if (self.synpred181()) :
10928 alt89 = 1
10929
10930
10931 elif LA89 == 60:
10932 LA89_289 = self.input.LA(3)
10933
10934 if (self.synpred181()) :
10935 alt89 = 1
10936
10937
10938 elif LA89 == IDENTIFIER:
10939 LA89_290 = self.input.LA(3)
10940
10941 if (self.synpred181()) :
10942 alt89 = 1
10943
10944
10945 elif LA89 == 62:
10946 LA89_291 = self.input.LA(3)
10947
10948 if (self.synpred181()) :
10949 alt89 = 1
10950
10951
10952 elif LA89 == 25:
10953 LA89_292 = self.input.LA(3)
10954
10955 if (self.synpred181()) :
10956 alt89 = 1
10957
10958
10959 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10960 LA89_293 = self.input.LA(3)
10961
10962 if (self.synpred181()) :
10963 alt89 = 1
10964
10965
10966 elif LA89 == 34:
10967 LA89_294 = self.input.LA(3)
10968
10969 if (self.synpred181()) :
10970 alt89 = 1
10971
10972
10973 elif LA89 == 35:
10974 LA89_295 = self.input.LA(3)
10975
10976 if (self.synpred181()) :
10977 alt89 = 1
10978
10979
10980 elif LA89 == 36:
10981 LA89_296 = self.input.LA(3)
10982
10983 if (self.synpred181()) :
10984 alt89 = 1
10985
10986
10987 elif LA89 == 37:
10988 LA89_297 = self.input.LA(3)
10989
10990 if (self.synpred181()) :
10991 alt89 = 1
10992
10993
10994 elif LA89 == 38:
10995 LA89_298 = self.input.LA(3)
10996
10997 if (self.synpred181()) :
10998 alt89 = 1
10999
11000
11001 elif LA89 == 39:
11002 LA89_299 = self.input.LA(3)
11003
11004 if (self.synpred181()) :
11005 alt89 = 1
11006
11007
11008 elif LA89 == 40:
11009 LA89_300 = self.input.LA(3)
11010
11011 if (self.synpred181()) :
11012 alt89 = 1
11013
11014
11015 elif LA89 == 41:
11016 LA89_301 = self.input.LA(3)
11017
11018 if (self.synpred181()) :
11019 alt89 = 1
11020
11021
11022 elif LA89 == 42:
11023 LA89_302 = self.input.LA(3)
11024
11025 if (self.synpred181()) :
11026 alt89 = 1
11027
11028
11029 elif LA89 == 45 or LA89 == 46:
11030 LA89_303 = self.input.LA(3)
11031
11032 if (self.synpred181()) :
11033 alt89 = 1
11034
11035
11036 elif LA89 == 48:
11037 LA89_304 = self.input.LA(3)
11038
11039 if (self.synpred181()) :
11040 alt89 = 1
11041
11042
11043 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11044 LA89_305 = self.input.LA(3)
11045
11046 if (self.synpred181()) :
11047 alt89 = 1
11048
11049
11050
11051 elif LA89 == 45 or LA89 == 46:
11052 LA89_40 = self.input.LA(2)
11053
11054 if (LA89_40 == IDENTIFIER) :
11055 LA89_306 = self.input.LA(3)
11056
11057 if (self.synpred181()) :
11058 alt89 = 1
11059
11060
11061 elif (LA89_40 == 43) :
11062 LA89_307 = self.input.LA(3)
11063
11064 if (self.synpred181()) :
11065 alt89 = 1
11066
11067
11068
11069
11070 elif LA89 == 48:
11071 LA89_41 = self.input.LA(2)
11072
11073 if (LA89_41 == 43) :
11074 LA89_308 = self.input.LA(3)
11075
11076 if (self.synpred181()) :
11077 alt89 = 1
11078
11079
11080 elif (LA89_41 == IDENTIFIER) :
11081 LA89_309 = self.input.LA(3)
11082
11083 if (self.synpred181()) :
11084 alt89 = 1
11085
11086
11087
11088
11089 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61:
11090 LA89 = self.input.LA(2)
11091 if LA89 == 66:
11092 LA89_310 = self.input.LA(3)
11093
11094 if (self.synpred181()) :
11095 alt89 = 1
11096
11097
11098 elif LA89 == 58:
11099 LA89_311 = self.input.LA(3)
11100
11101 if (self.synpred181()) :
11102 alt89 = 1
11103
11104
11105 elif LA89 == 59:
11106 LA89_312 = self.input.LA(3)
11107
11108 if (self.synpred181()) :
11109 alt89 = 1
11110
11111
11112 elif LA89 == 60:
11113 LA89_313 = self.input.LA(3)
11114
11115 if (self.synpred181()) :
11116 alt89 = 1
11117
11118
11119 elif LA89 == IDENTIFIER:
11120 LA89_314 = self.input.LA(3)
11121
11122 if (self.synpred181()) :
11123 alt89 = 1
11124
11125
11126 elif LA89 == 62:
11127 LA89_315 = self.input.LA(3)
11128
11129 if (self.synpred181()) :
11130 alt89 = 1
11131
11132
11133 elif LA89 == 25:
11134 LA89_316 = self.input.LA(3)
11135
11136 if (self.synpred181()) :
11137 alt89 = 1
11138
11139
11140 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11141 LA89_317 = self.input.LA(3)
11142
11143 if (self.synpred181()) :
11144 alt89 = 1
11145
11146
11147 elif LA89 == 34:
11148 LA89_318 = self.input.LA(3)
11149
11150 if (self.synpred181()) :
11151 alt89 = 1
11152
11153
11154 elif LA89 == 35:
11155 LA89_319 = self.input.LA(3)
11156
11157 if (self.synpred181()) :
11158 alt89 = 1
11159
11160
11161 elif LA89 == 36:
11162 LA89_320 = self.input.LA(3)
11163
11164 if (self.synpred181()) :
11165 alt89 = 1
11166
11167
11168 elif LA89 == 37:
11169 LA89_321 = self.input.LA(3)
11170
11171 if (self.synpred181()) :
11172 alt89 = 1
11173
11174
11175 elif LA89 == 38:
11176 LA89_322 = self.input.LA(3)
11177
11178 if (self.synpred181()) :
11179 alt89 = 1
11180
11181
11182 elif LA89 == 39:
11183 LA89_323 = self.input.LA(3)
11184
11185 if (self.synpred181()) :
11186 alt89 = 1
11187
11188
11189 elif LA89 == 40:
11190 LA89_324 = self.input.LA(3)
11191
11192 if (self.synpred181()) :
11193 alt89 = 1
11194
11195
11196 elif LA89 == 41:
11197 LA89_325 = self.input.LA(3)
11198
11199 if (self.synpred181()) :
11200 alt89 = 1
11201
11202
11203 elif LA89 == 42:
11204 LA89_326 = self.input.LA(3)
11205
11206 if (self.synpred181()) :
11207 alt89 = 1
11208
11209
11210 elif LA89 == 45 or LA89 == 46:
11211 LA89_327 = self.input.LA(3)
11212
11213 if (self.synpred181()) :
11214 alt89 = 1
11215
11216
11217 elif LA89 == 48:
11218 LA89_328 = self.input.LA(3)
11219
11220 if (self.synpred181()) :
11221 alt89 = 1
11222
11223
11224 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11225 LA89_329 = self.input.LA(3)
11226
11227 if (self.synpred181()) :
11228 alt89 = 1
11229
11230
11231
11232
11233 if alt89 == 1:
11234 # C.g:0:0: declaration
11235 self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
11236 self.declaration()
11237 self.following.pop()
11238 if self.failed:
11239 return
11240
11241
11242 else:
11243 break #loop89
11244
11245
11246 # C.g:544:33: ( statement_list )?
11247 alt90 = 2
11248 LA90 = self.input.LA(1)
11249 if LA90 == IDENTIFIER:
11250 LA90 = self.input.LA(2)
11251 if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
11252 alt90 = 1
11253 elif LA90 == 62:
11254 LA90_45 = self.input.LA(3)
11255
11256 if (self.synpred182()) :
11257 alt90 = 1
11258 elif LA90 == STRING_LITERAL:
11259 LA90_46 = self.input.LA(3)
11260
11261 if (self.synpred182()) :
11262 alt90 = 1
11263 elif LA90 == IDENTIFIER:
11264 LA90_47 = self.input.LA(3)
11265
11266 if (self.synpred182()) :
11267 alt90 = 1
11268 elif LA90 == 64:
11269 LA90_48 = self.input.LA(3)
11270
11271 if (self.synpred182()) :
11272 alt90 = 1
11273 elif LA90 == 75:
11274 LA90_49 = self.input.LA(3)
11275
11276 if (self.synpred182()) :
11277 alt90 = 1
11278 elif LA90 == 66:
11279 LA90_50 = self.input.LA(3)
11280
11281 if (self.synpred182()) :
11282 alt90 = 1
11283 elif LA90 == 76:
11284 LA90_51 = self.input.LA(3)
11285
11286 if (self.synpred182()) :
11287 alt90 = 1
11288 elif LA90 == 72:
11289 LA90_52 = self.input.LA(3)
11290
11291 if (self.synpred182()) :
11292 alt90 = 1
11293 elif LA90 == 73:
11294 LA90_53 = self.input.LA(3)
11295
11296 if (self.synpred182()) :
11297 alt90 = 1
11298 elif LA90 == 70:
11299 LA90_54 = self.input.LA(3)
11300
11301 if (self.synpred182()) :
11302 alt90 = 1
11303 elif LA90 == 71:
11304 LA90_55 = self.input.LA(3)
11305
11306 if (self.synpred182()) :
11307 alt90 = 1
11308 elif LA90 == 68:
11309 LA90_56 = self.input.LA(3)
11310
11311 if (self.synpred182()) :
11312 alt90 = 1
11313 elif LA90 == 69:
11314 LA90_57 = self.input.LA(3)
11315
11316 if (self.synpred182()) :
11317 alt90 = 1
11318 elif LA90 == 101 or LA90 == 102:
11319 LA90_58 = self.input.LA(3)
11320
11321 if (self.synpred182()) :
11322 alt90 = 1
11323 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11324 LA90_59 = self.input.LA(3)
11325
11326 if (self.synpred182()) :
11327 alt90 = 1
11328 elif LA90 == 95 or LA90 == 96:
11329 LA90_60 = self.input.LA(3)
11330
11331 if (self.synpred182()) :
11332 alt90 = 1
11333 elif LA90 == 77:
11334 LA90_61 = self.input.LA(3)
11335
11336 if (self.synpred182()) :
11337 alt90 = 1
11338 elif LA90 == 94:
11339 LA90_62 = self.input.LA(3)
11340
11341 if (self.synpred182()) :
11342 alt90 = 1
11343 elif LA90 == 93:
11344 LA90_63 = self.input.LA(3)
11345
11346 if (self.synpred182()) :
11347 alt90 = 1
11348 elif LA90 == 92:
11349 LA90_64 = self.input.LA(3)
11350
11351 if (self.synpred182()) :
11352 alt90 = 1
11353 elif LA90 == 91:
11354 LA90_65 = self.input.LA(3)
11355
11356 if (self.synpred182()) :
11357 alt90 = 1
11358 elif LA90 == 90:
11359 LA90_66 = self.input.LA(3)
11360
11361 if (self.synpred182()) :
11362 alt90 = 1
11363 elif LA90 == 27:
11364 LA90_67 = self.input.LA(3)
11365
11366 if (self.synpred182()) :
11367 alt90 = 1
11368 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11369 LA90_70 = self.input.LA(3)
11370
11371 if (self.synpred182()) :
11372 alt90 = 1
11373 elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
11374 alt90 = 1
11375 elif LA90 == HEX_LITERAL:
11376 LA90 = self.input.LA(2)
11377 if LA90 == 64:
11378 LA90_87 = self.input.LA(3)
11379
11380 if (self.synpred182()) :
11381 alt90 = 1
11382 elif LA90 == 62:
11383 LA90_88 = self.input.LA(3)
11384
11385 if (self.synpred182()) :
11386 alt90 = 1
11387 elif LA90 == 75:
11388 LA90_89 = self.input.LA(3)
11389
11390 if (self.synpred182()) :
11391 alt90 = 1
11392 elif LA90 == 66:
11393 LA90_90 = self.input.LA(3)
11394
11395 if (self.synpred182()) :
11396 alt90 = 1
11397 elif LA90 == 76:
11398 LA90_91 = self.input.LA(3)
11399
11400 if (self.synpred182()) :
11401 alt90 = 1
11402 elif LA90 == 72:
11403 LA90_92 = self.input.LA(3)
11404
11405 if (self.synpred182()) :
11406 alt90 = 1
11407 elif LA90 == 73:
11408 LA90_93 = self.input.LA(3)
11409
11410 if (self.synpred182()) :
11411 alt90 = 1
11412 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11413 LA90_94 = self.input.LA(3)
11414
11415 if (self.synpred182()) :
11416 alt90 = 1
11417 elif LA90 == 70:
11418 LA90_95 = self.input.LA(3)
11419
11420 if (self.synpred182()) :
11421 alt90 = 1
11422 elif LA90 == 71:
11423 LA90_96 = self.input.LA(3)
11424
11425 if (self.synpred182()) :
11426 alt90 = 1
11427 elif LA90 == 68:
11428 LA90_97 = self.input.LA(3)
11429
11430 if (self.synpred182()) :
11431 alt90 = 1
11432 elif LA90 == 69:
11433 LA90_98 = self.input.LA(3)
11434
11435 if (self.synpred182()) :
11436 alt90 = 1
11437 elif LA90 == 101 or LA90 == 102:
11438 LA90_99 = self.input.LA(3)
11439
11440 if (self.synpred182()) :
11441 alt90 = 1
11442 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11443 LA90_100 = self.input.LA(3)
11444
11445 if (self.synpred182()) :
11446 alt90 = 1
11447 elif LA90 == 95 or LA90 == 96:
11448 LA90_101 = self.input.LA(3)
11449
11450 if (self.synpred182()) :
11451 alt90 = 1
11452 elif LA90 == 77:
11453 LA90_102 = self.input.LA(3)
11454
11455 if (self.synpred182()) :
11456 alt90 = 1
11457 elif LA90 == 94:
11458 LA90_103 = self.input.LA(3)
11459
11460 if (self.synpred182()) :
11461 alt90 = 1
11462 elif LA90 == 93:
11463 LA90_104 = self.input.LA(3)
11464
11465 if (self.synpred182()) :
11466 alt90 = 1
11467 elif LA90 == 92:
11468 LA90_105 = self.input.LA(3)
11469
11470 if (self.synpred182()) :
11471 alt90 = 1
11472 elif LA90 == 91:
11473 LA90_106 = self.input.LA(3)
11474
11475 if (self.synpred182()) :
11476 alt90 = 1
11477 elif LA90 == 90:
11478 LA90_107 = self.input.LA(3)
11479
11480 if (self.synpred182()) :
11481 alt90 = 1
11482 elif LA90 == 27:
11483 LA90_108 = self.input.LA(3)
11484
11485 if (self.synpred182()) :
11486 alt90 = 1
11487 elif LA90 == 25:
11488 alt90 = 1
11489 elif LA90 == OCTAL_LITERAL:
11490 LA90 = self.input.LA(2)
11491 if LA90 == 64:
11492 LA90_111 = self.input.LA(3)
11493
11494 if (self.synpred182()) :
11495 alt90 = 1
11496 elif LA90 == 62:
11497 LA90_112 = self.input.LA(3)
11498
11499 if (self.synpred182()) :
11500 alt90 = 1
11501 elif LA90 == 75:
11502 LA90_113 = self.input.LA(3)
11503
11504 if (self.synpred182()) :
11505 alt90 = 1
11506 elif LA90 == 66:
11507 LA90_114 = self.input.LA(3)
11508
11509 if (self.synpred182()) :
11510 alt90 = 1
11511 elif LA90 == 76:
11512 LA90_115 = self.input.LA(3)
11513
11514 if (self.synpred182()) :
11515 alt90 = 1
11516 elif LA90 == 72:
11517 LA90_116 = self.input.LA(3)
11518
11519 if (self.synpred182()) :
11520 alt90 = 1
11521 elif LA90 == 73:
11522 LA90_117 = self.input.LA(3)
11523
11524 if (self.synpred182()) :
11525 alt90 = 1
11526 elif LA90 == 70:
11527 LA90_118 = self.input.LA(3)
11528
11529 if (self.synpred182()) :
11530 alt90 = 1
11531 elif LA90 == 71:
11532 LA90_119 = self.input.LA(3)
11533
11534 if (self.synpred182()) :
11535 alt90 = 1
11536 elif LA90 == 68:
11537 LA90_120 = self.input.LA(3)
11538
11539 if (self.synpred182()) :
11540 alt90 = 1
11541 elif LA90 == 69:
11542 LA90_121 = self.input.LA(3)
11543
11544 if (self.synpred182()) :
11545 alt90 = 1
11546 elif LA90 == 101 or LA90 == 102:
11547 LA90_122 = self.input.LA(3)
11548
11549 if (self.synpred182()) :
11550 alt90 = 1
11551 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11552 LA90_123 = self.input.LA(3)
11553
11554 if (self.synpred182()) :
11555 alt90 = 1
11556 elif LA90 == 95 or LA90 == 96:
11557 LA90_124 = self.input.LA(3)
11558
11559 if (self.synpred182()) :
11560 alt90 = 1
11561 elif LA90 == 77:
11562 LA90_125 = self.input.LA(3)
11563
11564 if (self.synpred182()) :
11565 alt90 = 1
11566 elif LA90 == 94:
11567 LA90_126 = self.input.LA(3)
11568
11569 if (self.synpred182()) :
11570 alt90 = 1
11571 elif LA90 == 93:
11572 LA90_127 = self.input.LA(3)
11573
11574 if (self.synpred182()) :
11575 alt90 = 1
11576 elif LA90 == 92:
11577 LA90_128 = self.input.LA(3)
11578
11579 if (self.synpred182()) :
11580 alt90 = 1
11581 elif LA90 == 91:
11582 LA90_129 = self.input.LA(3)
11583
11584 if (self.synpred182()) :
11585 alt90 = 1
11586 elif LA90 == 90:
11587 LA90_130 = self.input.LA(3)
11588
11589 if (self.synpred182()) :
11590 alt90 = 1
11591 elif LA90 == 27:
11592 LA90_131 = self.input.LA(3)
11593
11594 if (self.synpred182()) :
11595 alt90 = 1
11596 elif LA90 == 25:
11597 alt90 = 1
11598 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11599 LA90_134 = self.input.LA(3)
11600
11601 if (self.synpred182()) :
11602 alt90 = 1
11603 elif LA90 == DECIMAL_LITERAL:
11604 LA90 = self.input.LA(2)
11605 if LA90 == 64:
11606 LA90_135 = self.input.LA(3)
11607
11608 if (self.synpred182()) :
11609 alt90 = 1
11610 elif LA90 == 62:
11611 LA90_136 = self.input.LA(3)
11612
11613 if (self.synpred182()) :
11614 alt90 = 1
11615 elif LA90 == 75:
11616 LA90_137 = self.input.LA(3)
11617
11618 if (self.synpred182()) :
11619 alt90 = 1
11620 elif LA90 == 66:
11621 LA90_138 = self.input.LA(3)
11622
11623 if (self.synpred182()) :
11624 alt90 = 1
11625 elif LA90 == 76:
11626 LA90_139 = self.input.LA(3)
11627
11628 if (self.synpred182()) :
11629 alt90 = 1
11630 elif LA90 == 72:
11631 LA90_140 = self.input.LA(3)
11632
11633 if (self.synpred182()) :
11634 alt90 = 1
11635 elif LA90 == 73:
11636 LA90_141 = self.input.LA(3)
11637
11638 if (self.synpred182()) :
11639 alt90 = 1
11640 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11641 LA90_142 = self.input.LA(3)
11642
11643 if (self.synpred182()) :
11644 alt90 = 1
11645 elif LA90 == 70:
11646 LA90_143 = self.input.LA(3)
11647
11648 if (self.synpred182()) :
11649 alt90 = 1
11650 elif LA90 == 71:
11651 LA90_144 = self.input.LA(3)
11652
11653 if (self.synpred182()) :
11654 alt90 = 1
11655 elif LA90 == 68:
11656 LA90_145 = self.input.LA(3)
11657
11658 if (self.synpred182()) :
11659 alt90 = 1
11660 elif LA90 == 69:
11661 LA90_146 = self.input.LA(3)
11662
11663 if (self.synpred182()) :
11664 alt90 = 1
11665 elif LA90 == 101 or LA90 == 102:
11666 LA90_147 = self.input.LA(3)
11667
11668 if (self.synpred182()) :
11669 alt90 = 1
11670 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11671 LA90_148 = self.input.LA(3)
11672
11673 if (self.synpred182()) :
11674 alt90 = 1
11675 elif LA90 == 95 or LA90 == 96:
11676 LA90_149 = self.input.LA(3)
11677
11678 if (self.synpred182()) :
11679 alt90 = 1
11680 elif LA90 == 77:
11681 LA90_150 = self.input.LA(3)
11682
11683 if (self.synpred182()) :
11684 alt90 = 1
11685 elif LA90 == 94:
11686 LA90_151 = self.input.LA(3)
11687
11688 if (self.synpred182()) :
11689 alt90 = 1
11690 elif LA90 == 93:
11691 LA90_152 = self.input.LA(3)
11692
11693 if (self.synpred182()) :
11694 alt90 = 1
11695 elif LA90 == 92:
11696 LA90_153 = self.input.LA(3)
11697
11698 if (self.synpred182()) :
11699 alt90 = 1
11700 elif LA90 == 91:
11701 LA90_154 = self.input.LA(3)
11702
11703 if (self.synpred182()) :
11704 alt90 = 1
11705 elif LA90 == 90:
11706 LA90_155 = self.input.LA(3)
11707
11708 if (self.synpred182()) :
11709 alt90 = 1
11710 elif LA90 == 27:
11711 LA90_156 = self.input.LA(3)
11712
11713 if (self.synpred182()) :
11714 alt90 = 1
11715 elif LA90 == 25:
11716 alt90 = 1
11717 elif LA90 == CHARACTER_LITERAL:
11718 LA90 = self.input.LA(2)
11719 if LA90 == 64:
11720 LA90_159 = self.input.LA(3)
11721
11722 if (self.synpred182()) :
11723 alt90 = 1
11724 elif LA90 == 62:
11725 LA90_160 = self.input.LA(3)
11726
11727 if (self.synpred182()) :
11728 alt90 = 1
11729 elif LA90 == 75:
11730 LA90_161 = self.input.LA(3)
11731
11732 if (self.synpred182()) :
11733 alt90 = 1
11734 elif LA90 == 66:
11735 LA90_162 = self.input.LA(3)
11736
11737 if (self.synpred182()) :
11738 alt90 = 1
11739 elif LA90 == 76:
11740 LA90_163 = self.input.LA(3)
11741
11742 if (self.synpred182()) :
11743 alt90 = 1
11744 elif LA90 == 72:
11745 LA90_164 = self.input.LA(3)
11746
11747 if (self.synpred182()) :
11748 alt90 = 1
11749 elif LA90 == 73:
11750 LA90_165 = self.input.LA(3)
11751
11752 if (self.synpred182()) :
11753 alt90 = 1
11754 elif LA90 == 70:
11755 LA90_166 = self.input.LA(3)
11756
11757 if (self.synpred182()) :
11758 alt90 = 1
11759 elif LA90 == 71:
11760 LA90_167 = self.input.LA(3)
11761
11762 if (self.synpred182()) :
11763 alt90 = 1
11764 elif LA90 == 68:
11765 LA90_168 = self.input.LA(3)
11766
11767 if (self.synpred182()) :
11768 alt90 = 1
11769 elif LA90 == 69:
11770 LA90_169 = self.input.LA(3)
11771
11772 if (self.synpred182()) :
11773 alt90 = 1
11774 elif LA90 == 101 or LA90 == 102:
11775 LA90_170 = self.input.LA(3)
11776
11777 if (self.synpred182()) :
11778 alt90 = 1
11779 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11780 LA90_171 = self.input.LA(3)
11781
11782 if (self.synpred182()) :
11783 alt90 = 1
11784 elif LA90 == 95 or LA90 == 96:
11785 LA90_172 = self.input.LA(3)
11786
11787 if (self.synpred182()) :
11788 alt90 = 1
11789 elif LA90 == 77:
11790 LA90_173 = self.input.LA(3)
11791
11792 if (self.synpred182()) :
11793 alt90 = 1
11794 elif LA90 == 94:
11795 LA90_174 = self.input.LA(3)
11796
11797 if (self.synpred182()) :
11798 alt90 = 1
11799 elif LA90 == 93:
11800 LA90_175 = self.input.LA(3)
11801
11802 if (self.synpred182()) :
11803 alt90 = 1
11804 elif LA90 == 92:
11805 LA90_176 = self.input.LA(3)
11806
11807 if (self.synpred182()) :
11808 alt90 = 1
11809 elif LA90 == 91:
11810 LA90_177 = self.input.LA(3)
11811
11812 if (self.synpred182()) :
11813 alt90 = 1
11814 elif LA90 == 90:
11815 LA90_178 = self.input.LA(3)
11816
11817 if (self.synpred182()) :
11818 alt90 = 1
11819 elif LA90 == 27:
11820 LA90_179 = self.input.LA(3)
11821
11822 if (self.synpred182()) :
11823 alt90 = 1
11824 elif LA90 == 25:
11825 alt90 = 1
11826 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11827 LA90_181 = self.input.LA(3)
11828
11829 if (self.synpred182()) :
11830 alt90 = 1
11831 elif LA90 == STRING_LITERAL:
11832 LA90 = self.input.LA(2)
11833 if LA90 == IDENTIFIER:
11834 LA90_183 = self.input.LA(3)
11835
11836 if (self.synpred182()) :
11837 alt90 = 1
11838 elif LA90 == 64:
11839 LA90_184 = self.input.LA(3)
11840
11841 if (self.synpred182()) :
11842 alt90 = 1
11843 elif LA90 == 62:
11844 LA90_185 = self.input.LA(3)
11845
11846 if (self.synpred182()) :
11847 alt90 = 1
11848 elif LA90 == 75:
11849 LA90_186 = self.input.LA(3)
11850
11851 if (self.synpred182()) :
11852 alt90 = 1
11853 elif LA90 == 66:
11854 LA90_187 = self.input.LA(3)
11855
11856 if (self.synpred182()) :
11857 alt90 = 1
11858 elif LA90 == 76:
11859 LA90_188 = self.input.LA(3)
11860
11861 if (self.synpred182()) :
11862 alt90 = 1
11863 elif LA90 == 72:
11864 LA90_189 = self.input.LA(3)
11865
11866 if (self.synpred182()) :
11867 alt90 = 1
11868 elif LA90 == 73:
11869 LA90_190 = self.input.LA(3)
11870
11871 if (self.synpred182()) :
11872 alt90 = 1
11873 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11874 LA90_191 = self.input.LA(3)
11875
11876 if (self.synpred182()) :
11877 alt90 = 1
11878 elif LA90 == STRING_LITERAL:
11879 LA90_192 = self.input.LA(3)
11880
11881 if (self.synpred182()) :
11882 alt90 = 1
11883 elif LA90 == 70:
11884 LA90_193 = self.input.LA(3)
11885
11886 if (self.synpred182()) :
11887 alt90 = 1
11888 elif LA90 == 71:
11889 LA90_194 = self.input.LA(3)
11890
11891 if (self.synpred182()) :
11892 alt90 = 1
11893 elif LA90 == 68:
11894 LA90_195 = self.input.LA(3)
11895
11896 if (self.synpred182()) :
11897 alt90 = 1
11898 elif LA90 == 69:
11899 LA90_196 = self.input.LA(3)
11900
11901 if (self.synpred182()) :
11902 alt90 = 1
11903 elif LA90 == 101 or LA90 == 102:
11904 LA90_197 = self.input.LA(3)
11905
11906 if (self.synpred182()) :
11907 alt90 = 1
11908 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11909 LA90_198 = self.input.LA(3)
11910
11911 if (self.synpred182()) :
11912 alt90 = 1
11913 elif LA90 == 95 or LA90 == 96:
11914 LA90_199 = self.input.LA(3)
11915
11916 if (self.synpred182()) :
11917 alt90 = 1
11918 elif LA90 == 77:
11919 LA90_200 = self.input.LA(3)
11920
11921 if (self.synpred182()) :
11922 alt90 = 1
11923 elif LA90 == 94:
11924 LA90_201 = self.input.LA(3)
11925
11926 if (self.synpred182()) :
11927 alt90 = 1
11928 elif LA90 == 93:
11929 LA90_202 = self.input.LA(3)
11930
11931 if (self.synpred182()) :
11932 alt90 = 1
11933 elif LA90 == 92:
11934 LA90_203 = self.input.LA(3)
11935
11936 if (self.synpred182()) :
11937 alt90 = 1
11938 elif LA90 == 91:
11939 LA90_204 = self.input.LA(3)
11940
11941 if (self.synpred182()) :
11942 alt90 = 1
11943 elif LA90 == 90:
11944 LA90_205 = self.input.LA(3)
11945
11946 if (self.synpred182()) :
11947 alt90 = 1
11948 elif LA90 == 27:
11949 LA90_206 = self.input.LA(3)
11950
11951 if (self.synpred182()) :
11952 alt90 = 1
11953 elif LA90 == 25:
11954 alt90 = 1
11955 elif LA90 == FLOATING_POINT_LITERAL:
11956 LA90 = self.input.LA(2)
11957 if LA90 == 64:
11958 LA90_209 = self.input.LA(3)
11959
11960 if (self.synpred182()) :
11961 alt90 = 1
11962 elif LA90 == 62:
11963 LA90_210 = self.input.LA(3)
11964
11965 if (self.synpred182()) :
11966 alt90 = 1
11967 elif LA90 == 75:
11968 LA90_211 = self.input.LA(3)
11969
11970 if (self.synpred182()) :
11971 alt90 = 1
11972 elif LA90 == 66:
11973 LA90_212 = self.input.LA(3)
11974
11975 if (self.synpred182()) :
11976 alt90 = 1
11977 elif LA90 == 76:
11978 LA90_213 = self.input.LA(3)
11979
11980 if (self.synpred182()) :
11981 alt90 = 1
11982 elif LA90 == 72:
11983 LA90_214 = self.input.LA(3)
11984
11985 if (self.synpred182()) :
11986 alt90 = 1
11987 elif LA90 == 73:
11988 LA90_215 = self.input.LA(3)
11989
11990 if (self.synpred182()) :
11991 alt90 = 1
11992 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11993 LA90_216 = self.input.LA(3)
11994
11995 if (self.synpred182()) :
11996 alt90 = 1
11997 elif LA90 == 70:
11998 LA90_217 = self.input.LA(3)
11999
12000 if (self.synpred182()) :
12001 alt90 = 1
12002 elif LA90 == 71:
12003 LA90_218 = self.input.LA(3)
12004
12005 if (self.synpred182()) :
12006 alt90 = 1
12007 elif LA90 == 68:
12008 LA90_219 = self.input.LA(3)
12009
12010 if (self.synpred182()) :
12011 alt90 = 1
12012 elif LA90 == 69:
12013 LA90_220 = self.input.LA(3)
12014
12015 if (self.synpred182()) :
12016 alt90 = 1
12017 elif LA90 == 101 or LA90 == 102:
12018 LA90_221 = self.input.LA(3)
12019
12020 if (self.synpred182()) :
12021 alt90 = 1
12022 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
12023 LA90_222 = self.input.LA(3)
12024
12025 if (self.synpred182()) :
12026 alt90 = 1
12027 elif LA90 == 95 or LA90 == 96:
12028 LA90_223 = self.input.LA(3)
12029
12030 if (self.synpred182()) :
12031 alt90 = 1
12032 elif LA90 == 77:
12033 LA90_224 = self.input.LA(3)
12034
12035 if (self.synpred182()) :
12036 alt90 = 1
12037 elif LA90 == 94:
12038 LA90_225 = self.input.LA(3)
12039
12040 if (self.synpred182()) :
12041 alt90 = 1
12042 elif LA90 == 93:
12043 LA90_226 = self.input.LA(3)
12044
12045 if (self.synpred182()) :
12046 alt90 = 1
12047 elif LA90 == 92:
12048 LA90_227 = self.input.LA(3)
12049
12050 if (self.synpred182()) :
12051 alt90 = 1
12052 elif LA90 == 91:
12053 LA90_228 = self.input.LA(3)
12054
12055 if (self.synpred182()) :
12056 alt90 = 1
12057 elif LA90 == 90:
12058 LA90_229 = self.input.LA(3)
12059
12060 if (self.synpred182()) :
12061 alt90 = 1
12062 elif LA90 == 27:
12063 LA90_230 = self.input.LA(3)
12064
12065 if (self.synpred182()) :
12066 alt90 = 1
12067 elif LA90 == 25:
12068 alt90 = 1
12069 elif LA90 == 62:
12070 LA90 = self.input.LA(2)
12071 if LA90 == IDENTIFIER:
12072 LA90_233 = self.input.LA(3)
12073
12074 if (self.synpred182()) :
12075 alt90 = 1
12076 elif LA90 == HEX_LITERAL:
12077 LA90_234 = self.input.LA(3)
12078
12079 if (self.synpred182()) :
12080 alt90 = 1
12081 elif LA90 == OCTAL_LITERAL:
12082 LA90_235 = self.input.LA(3)
12083
12084 if (self.synpred182()) :
12085 alt90 = 1
12086 elif LA90 == DECIMAL_LITERAL:
12087 LA90_236 = self.input.LA(3)
12088
12089 if (self.synpred182()) :
12090 alt90 = 1
12091 elif LA90 == CHARACTER_LITERAL:
12092 LA90_237 = self.input.LA(3)
12093
12094 if (self.synpred182()) :
12095 alt90 = 1
12096 elif LA90 == STRING_LITERAL:
12097 LA90_238 = self.input.LA(3)
12098
12099 if (self.synpred182()) :
12100 alt90 = 1
12101 elif LA90 == FLOATING_POINT_LITERAL:
12102 LA90_239 = self.input.LA(3)
12103
12104 if (self.synpred182()) :
12105 alt90 = 1
12106 elif LA90 == 62:
12107 LA90_240 = self.input.LA(3)
12108
12109 if (self.synpred182()) :
12110 alt90 = 1
12111 elif LA90 == 72:
12112 LA90_241 = self.input.LA(3)
12113
12114 if (self.synpred182()) :
12115 alt90 = 1
12116 elif LA90 == 73:
12117 LA90_242 = self.input.LA(3)
12118
12119 if (self.synpred182()) :
12120 alt90 = 1
12121 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12122 LA90_243 = self.input.LA(3)
12123
12124 if (self.synpred182()) :
12125 alt90 = 1
12126 elif LA90 == 74:
12127 LA90_244 = self.input.LA(3)
12128
12129 if (self.synpred182()) :
12130 alt90 = 1
12131 elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
12132 LA90_245 = self.input.LA(3)
12133
12134 if (self.synpred182()) :
12135 alt90 = 1
12136 elif LA90 == 34:
12137 LA90_246 = self.input.LA(3)
12138
12139 if (self.synpred182()) :
12140 alt90 = 1
12141 elif LA90 == 35:
12142 LA90_247 = self.input.LA(3)
12143
12144 if (self.synpred182()) :
12145 alt90 = 1
12146 elif LA90 == 36:
12147 LA90_248 = self.input.LA(3)
12148
12149 if (self.synpred182()) :
12150 alt90 = 1
12151 elif LA90 == 37:
12152 LA90_249 = self.input.LA(3)
12153
12154 if (self.synpred182()) :
12155 alt90 = 1
12156 elif LA90 == 38:
12157 LA90_250 = self.input.LA(3)
12158
12159 if (self.synpred182()) :
12160 alt90 = 1
12161 elif LA90 == 39:
12162 LA90_251 = self.input.LA(3)
12163
12164 if (self.synpred182()) :
12165 alt90 = 1
12166 elif LA90 == 40:
12167 LA90_252 = self.input.LA(3)
12168
12169 if (self.synpred182()) :
12170 alt90 = 1
12171 elif LA90 == 41:
12172 LA90_253 = self.input.LA(3)
12173
12174 if (self.synpred182()) :
12175 alt90 = 1
12176 elif LA90 == 42:
12177 LA90_254 = self.input.LA(3)
12178
12179 if (self.synpred182()) :
12180 alt90 = 1
12181 elif LA90 == 45 or LA90 == 46:
12182 LA90_255 = self.input.LA(3)
12183
12184 if (self.synpred182()) :
12185 alt90 = 1
12186 elif LA90 == 48:
12187 LA90_256 = self.input.LA(3)
12188
12189 if (self.synpred182()) :
12190 alt90 = 1
12191 elif LA90 == 72:
12192 LA90 = self.input.LA(2)
12193 if LA90 == IDENTIFIER:
12194 LA90_257 = self.input.LA(3)
12195
12196 if (self.synpred182()) :
12197 alt90 = 1
12198 elif LA90 == HEX_LITERAL:
12199 LA90_258 = self.input.LA(3)
12200
12201 if (self.synpred182()) :
12202 alt90 = 1
12203 elif LA90 == OCTAL_LITERAL:
12204 LA90_259 = self.input.LA(3)
12205
12206 if (self.synpred182()) :
12207 alt90 = 1
12208 elif LA90 == DECIMAL_LITERAL:
12209 LA90_260 = self.input.LA(3)
12210
12211 if (self.synpred182()) :
12212 alt90 = 1
12213 elif LA90 == CHARACTER_LITERAL:
12214 LA90_261 = self.input.LA(3)
12215
12216 if (self.synpred182()) :
12217 alt90 = 1
12218 elif LA90 == STRING_LITERAL:
12219 LA90_262 = self.input.LA(3)
12220
12221 if (self.synpred182()) :
12222 alt90 = 1
12223 elif LA90 == FLOATING_POINT_LITERAL:
12224 LA90_263 = self.input.LA(3)
12225
12226 if (self.synpred182()) :
12227 alt90 = 1
12228 elif LA90 == 62:
12229 LA90_264 = self.input.LA(3)
12230
12231 if (self.synpred182()) :
12232 alt90 = 1
12233 elif LA90 == 72:
12234 LA90_265 = self.input.LA(3)
12235
12236 if (self.synpred182()) :
12237 alt90 = 1
12238 elif LA90 == 73:
12239 LA90_266 = self.input.LA(3)
12240
12241 if (self.synpred182()) :
12242 alt90 = 1
12243 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12244 LA90_267 = self.input.LA(3)
12245
12246 if (self.synpred182()) :
12247 alt90 = 1
12248 elif LA90 == 74:
12249 LA90_268 = self.input.LA(3)
12250
12251 if (self.synpred182()) :
12252 alt90 = 1
12253 elif LA90 == 73:
12254 LA90 = self.input.LA(2)
12255 if LA90 == IDENTIFIER:
12256 LA90_269 = self.input.LA(3)
12257
12258 if (self.synpred182()) :
12259 alt90 = 1
12260 elif LA90 == HEX_LITERAL:
12261 LA90_270 = self.input.LA(3)
12262
12263 if (self.synpred182()) :
12264 alt90 = 1
12265 elif LA90 == OCTAL_LITERAL:
12266 LA90_271 = self.input.LA(3)
12267
12268 if (self.synpred182()) :
12269 alt90 = 1
12270 elif LA90 == DECIMAL_LITERAL:
12271 LA90_272 = self.input.LA(3)
12272
12273 if (self.synpred182()) :
12274 alt90 = 1
12275 elif LA90 == CHARACTER_LITERAL:
12276 LA90_273 = self.input.LA(3)
12277
12278 if (self.synpred182()) :
12279 alt90 = 1
12280 elif LA90 == STRING_LITERAL:
12281 LA90_274 = self.input.LA(3)
12282
12283 if (self.synpred182()) :
12284 alt90 = 1
12285 elif LA90 == FLOATING_POINT_LITERAL:
12286 LA90_275 = self.input.LA(3)
12287
12288 if (self.synpred182()) :
12289 alt90 = 1
12290 elif LA90 == 62:
12291 LA90_276 = self.input.LA(3)
12292
12293 if (self.synpred182()) :
12294 alt90 = 1
12295 elif LA90 == 72:
12296 LA90_277 = self.input.LA(3)
12297
12298 if (self.synpred182()) :
12299 alt90 = 1
12300 elif LA90 == 73:
12301 LA90_278 = self.input.LA(3)
12302
12303 if (self.synpred182()) :
12304 alt90 = 1
12305 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12306 LA90_279 = self.input.LA(3)
12307
12308 if (self.synpred182()) :
12309 alt90 = 1
12310 elif LA90 == 74:
12311 LA90_280 = self.input.LA(3)
12312
12313 if (self.synpred182()) :
12314 alt90 = 1
12315 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12316 LA90 = self.input.LA(2)
12317 if LA90 == 62:
12318 LA90_281 = self.input.LA(3)
12319
12320 if (self.synpred182()) :
12321 alt90 = 1
12322 elif LA90 == IDENTIFIER:
12323 LA90_282 = self.input.LA(3)
12324
12325 if (self.synpred182()) :
12326 alt90 = 1
12327 elif LA90 == HEX_LITERAL:
12328 LA90_283 = self.input.LA(3)
12329
12330 if (self.synpred182()) :
12331 alt90 = 1
12332 elif LA90 == OCTAL_LITERAL:
12333 LA90_284 = self.input.LA(3)
12334
12335 if (self.synpred182()) :
12336 alt90 = 1
12337 elif LA90 == DECIMAL_LITERAL:
12338 LA90_285 = self.input.LA(3)
12339
12340 if (self.synpred182()) :
12341 alt90 = 1
12342 elif LA90 == CHARACTER_LITERAL:
12343 LA90_286 = self.input.LA(3)
12344
12345 if (self.synpred182()) :
12346 alt90 = 1
12347 elif LA90 == STRING_LITERAL:
12348 LA90_287 = self.input.LA(3)
12349
12350 if (self.synpred182()) :
12351 alt90 = 1
12352 elif LA90 == FLOATING_POINT_LITERAL:
12353 LA90_288 = self.input.LA(3)
12354
12355 if (self.synpred182()) :
12356 alt90 = 1
12357 elif LA90 == 72:
12358 LA90_289 = self.input.LA(3)
12359
12360 if (self.synpred182()) :
12361 alt90 = 1
12362 elif LA90 == 73:
12363 LA90_290 = self.input.LA(3)
12364
12365 if (self.synpred182()) :
12366 alt90 = 1
12367 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12368 LA90_291 = self.input.LA(3)
12369
12370 if (self.synpred182()) :
12371 alt90 = 1
12372 elif LA90 == 74:
12373 LA90_292 = self.input.LA(3)
12374
12375 if (self.synpred182()) :
12376 alt90 = 1
12377 elif LA90 == 74:
12378 LA90 = self.input.LA(2)
12379 if LA90 == 62:
12380 LA90_293 = self.input.LA(3)
12381
12382 if (self.synpred182()) :
12383 alt90 = 1
12384 elif LA90 == IDENTIFIER:
12385 LA90_294 = self.input.LA(3)
12386
12387 if (self.synpred182()) :
12388 alt90 = 1
12389 elif LA90 == HEX_LITERAL:
12390 LA90_295 = self.input.LA(3)
12391
12392 if (self.synpred182()) :
12393 alt90 = 1
12394 elif LA90 == OCTAL_LITERAL:
12395 LA90_296 = self.input.LA(3)
12396
12397 if (self.synpred182()) :
12398 alt90 = 1
12399 elif LA90 == DECIMAL_LITERAL:
12400 LA90_297 = self.input.LA(3)
12401
12402 if (self.synpred182()) :
12403 alt90 = 1
12404 elif LA90 == CHARACTER_LITERAL:
12405 LA90_298 = self.input.LA(3)
12406
12407 if (self.synpred182()) :
12408 alt90 = 1
12409 elif LA90 == STRING_LITERAL:
12410 LA90_299 = self.input.LA(3)
12411
12412 if (self.synpred182()) :
12413 alt90 = 1
12414 elif LA90 == FLOATING_POINT_LITERAL:
12415 LA90_300 = self.input.LA(3)
12416
12417 if (self.synpred182()) :
12418 alt90 = 1
12419 elif LA90 == 72:
12420 LA90_301 = self.input.LA(3)
12421
12422 if (self.synpred182()) :
12423 alt90 = 1
12424 elif LA90 == 73:
12425 LA90_302 = self.input.LA(3)
12426
12427 if (self.synpred182()) :
12428 alt90 = 1
12429 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12430 LA90_303 = self.input.LA(3)
12431
12432 if (self.synpred182()) :
12433 alt90 = 1
12434 elif LA90 == 74:
12435 LA90_304 = self.input.LA(3)
12436
12437 if (self.synpred182()) :
12438 alt90 = 1
12439 if alt90 == 1:
12440 # C.g:0:0: statement_list
12441 self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
12442 self.statement_list()
12443 self.following.pop()
12444 if self.failed:
12445 return
12446
12447
12448
12449 # C.g:544:49: ( expression )?
12450 alt91 = 2
12451 LA91_0 = self.input.LA(1)
12452
12453 if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
12454 alt91 = 1
12455 if alt91 == 1:
12456 # C.g:0:0: expression
12457 self.following.append(self.FOLLOW_expression_in_macro_statement2173)
12458 self.expression()
12459 self.following.pop()
12460 if self.failed:
12461 return
12462
12463
12464
12465 self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
12466 if self.failed:
12467 return
12468
12469
12470
12471
12472 except RecognitionException as re:
12473 self.reportError(re)
12474 self.recover(self.input, re)
12475 finally:
12476 if self.backtracking > 0:
12477 self.memoize(self.input, 64, macro_statement_StartIndex)
12478
12479 pass
12480
12481 return
12482
12483 # $ANTLR end macro_statement
12484
12485
12486 # $ANTLR start labeled_statement
12487 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12488 def labeled_statement(self, ):
12489
12490 labeled_statement_StartIndex = self.input.index()
12491 try:
12492 try:
12493 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12494 return
12495
12496 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12497 alt92 = 3
12498 LA92 = self.input.LA(1)
12499 if LA92 == IDENTIFIER:
12500 alt92 = 1
12501 elif LA92 == 106:
12502 alt92 = 2
12503 elif LA92 == 107:
12504 alt92 = 3
12505 else:
12506 if self.backtracking > 0:
12507 self.failed = True
12508 return
12509
12510 nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12511
12512 raise nvae
12513
12514 if alt92 == 1:
12515 # C.g:548:4: IDENTIFIER ':' statement
12516 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
12517 if self.failed:
12518 return
12519 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
12520 if self.failed:
12521 return
12522 self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
12523 self.statement()
12524 self.following.pop()
12525 if self.failed:
12526 return
12527
12528
12529 elif alt92 == 2:
12530 # C.g:549:4: 'case' constant_expression ':' statement
12531 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
12532 if self.failed:
12533 return
12534 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
12535 self.constant_expression()
12536 self.following.pop()
12537 if self.failed:
12538 return
12539 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
12540 if self.failed:
12541 return
12542 self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
12543 self.statement()
12544 self.following.pop()
12545 if self.failed:
12546 return
12547
12548
12549 elif alt92 == 3:
12550 # C.g:550:4: 'default' ':' statement
12551 self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
12552 if self.failed:
12553 return
12554 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
12555 if self.failed:
12556 return
12557 self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
12558 self.statement()
12559 self.following.pop()
12560 if self.failed:
12561 return
12562
12563
12564
12565 except RecognitionException as re:
12566 self.reportError(re)
12567 self.recover(self.input, re)
12568 finally:
12569 if self.backtracking > 0:
12570 self.memoize(self.input, 65, labeled_statement_StartIndex)
12571
12572 pass
12573
12574 return
12575
12576 # $ANTLR end labeled_statement
12577
12578 class compound_statement_return(object):
12579 def __init__(self):
12580 self.start = None
12581 self.stop = None
12582
12583
12584
12585 # $ANTLR start compound_statement
12586 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12587 def compound_statement(self, ):
12588
12589 retval = self.compound_statement_return()
12590 retval.start = self.input.LT(1)
12591 compound_statement_StartIndex = self.input.index()
12592 try:
12593 try:
12594 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12595 return retval
12596
12597 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12598 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12599 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
12600 if self.failed:
12601 return retval
12602 # C.g:554:8: ( declaration )*
12603 while True: #loop93
12604 alt93 = 2
12605 LA93 = self.input.LA(1)
12606 if LA93 == IDENTIFIER:
12607 LA93 = self.input.LA(2)
12608 if LA93 == 62:
12609 LA93_44 = self.input.LA(3)
12610
12611 if (self.synpred186()) :
12612 alt93 = 1
12613
12614
12615 elif LA93 == IDENTIFIER:
12616 LA93_47 = self.input.LA(3)
12617
12618 if (self.synpred186()) :
12619 alt93 = 1
12620
12621
12622 elif LA93 == 66:
12623 LA93_48 = self.input.LA(3)
12624
12625 if (self.synpred186()) :
12626 alt93 = 1
12627
12628
12629 elif LA93 == 58:
12630 LA93_49 = self.input.LA(3)
12631
12632 if (self.synpred186()) :
12633 alt93 = 1
12634
12635
12636 elif LA93 == 59:
12637 LA93_50 = self.input.LA(3)
12638
12639 if (self.synpred186()) :
12640 alt93 = 1
12641
12642
12643 elif LA93 == 60:
12644 LA93_51 = self.input.LA(3)
12645
12646 if (self.synpred186()) :
12647 alt93 = 1
12648
12649
12650 elif LA93 == 25:
12651 LA93_52 = self.input.LA(3)
12652
12653 if (self.synpred186()) :
12654 alt93 = 1
12655
12656
12657 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12658 LA93_53 = self.input.LA(3)
12659
12660 if (self.synpred186()) :
12661 alt93 = 1
12662
12663
12664 elif LA93 == 34:
12665 LA93_54 = self.input.LA(3)
12666
12667 if (self.synpred186()) :
12668 alt93 = 1
12669
12670
12671 elif LA93 == 35:
12672 LA93_55 = self.input.LA(3)
12673
12674 if (self.synpred186()) :
12675 alt93 = 1
12676
12677
12678 elif LA93 == 36:
12679 LA93_56 = self.input.LA(3)
12680
12681 if (self.synpred186()) :
12682 alt93 = 1
12683
12684
12685 elif LA93 == 37:
12686 LA93_57 = self.input.LA(3)
12687
12688 if (self.synpred186()) :
12689 alt93 = 1
12690
12691
12692 elif LA93 == 38:
12693 LA93_58 = self.input.LA(3)
12694
12695 if (self.synpred186()) :
12696 alt93 = 1
12697
12698
12699 elif LA93 == 39:
12700 LA93_59 = self.input.LA(3)
12701
12702 if (self.synpred186()) :
12703 alt93 = 1
12704
12705
12706 elif LA93 == 40:
12707 LA93_60 = self.input.LA(3)
12708
12709 if (self.synpred186()) :
12710 alt93 = 1
12711
12712
12713 elif LA93 == 41:
12714 LA93_61 = self.input.LA(3)
12715
12716 if (self.synpred186()) :
12717 alt93 = 1
12718
12719
12720 elif LA93 == 42:
12721 LA93_62 = self.input.LA(3)
12722
12723 if (self.synpred186()) :
12724 alt93 = 1
12725
12726
12727 elif LA93 == 45 or LA93 == 46:
12728 LA93_63 = self.input.LA(3)
12729
12730 if (self.synpred186()) :
12731 alt93 = 1
12732
12733
12734 elif LA93 == 48:
12735 LA93_64 = self.input.LA(3)
12736
12737 if (self.synpred186()) :
12738 alt93 = 1
12739
12740
12741 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12742 LA93_65 = self.input.LA(3)
12743
12744 if (self.synpred186()) :
12745 alt93 = 1
12746
12747
12748
12749 elif LA93 == 26:
12750 LA93 = self.input.LA(2)
12751 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12752 LA93_86 = self.input.LA(3)
12753
12754 if (self.synpred186()) :
12755 alt93 = 1
12756
12757
12758 elif LA93 == 34:
12759 LA93_87 = self.input.LA(3)
12760
12761 if (self.synpred186()) :
12762 alt93 = 1
12763
12764
12765 elif LA93 == 35:
12766 LA93_88 = self.input.LA(3)
12767
12768 if (self.synpred186()) :
12769 alt93 = 1
12770
12771
12772 elif LA93 == 36:
12773 LA93_89 = self.input.LA(3)
12774
12775 if (self.synpred186()) :
12776 alt93 = 1
12777
12778
12779 elif LA93 == 37:
12780 LA93_90 = self.input.LA(3)
12781
12782 if (self.synpred186()) :
12783 alt93 = 1
12784
12785
12786 elif LA93 == 38:
12787 LA93_91 = self.input.LA(3)
12788
12789 if (self.synpred186()) :
12790 alt93 = 1
12791
12792
12793 elif LA93 == 39:
12794 LA93_92 = self.input.LA(3)
12795
12796 if (self.synpred186()) :
12797 alt93 = 1
12798
12799
12800 elif LA93 == 40:
12801 LA93_93 = self.input.LA(3)
12802
12803 if (self.synpred186()) :
12804 alt93 = 1
12805
12806
12807 elif LA93 == 41:
12808 LA93_94 = self.input.LA(3)
12809
12810 if (self.synpred186()) :
12811 alt93 = 1
12812
12813
12814 elif LA93 == 42:
12815 LA93_95 = self.input.LA(3)
12816
12817 if (self.synpred186()) :
12818 alt93 = 1
12819
12820
12821 elif LA93 == 45 or LA93 == 46:
12822 LA93_96 = self.input.LA(3)
12823
12824 if (self.synpred186()) :
12825 alt93 = 1
12826
12827
12828 elif LA93 == 48:
12829 LA93_97 = self.input.LA(3)
12830
12831 if (self.synpred186()) :
12832 alt93 = 1
12833
12834
12835 elif LA93 == IDENTIFIER:
12836 LA93_98 = self.input.LA(3)
12837
12838 if (self.synpred186()) :
12839 alt93 = 1
12840
12841
12842 elif LA93 == 58:
12843 LA93_99 = self.input.LA(3)
12844
12845 if (self.synpred186()) :
12846 alt93 = 1
12847
12848
12849 elif LA93 == 66:
12850 LA93_100 = self.input.LA(3)
12851
12852 if (self.synpred186()) :
12853 alt93 = 1
12854
12855
12856 elif LA93 == 59:
12857 LA93_101 = self.input.LA(3)
12858
12859 if (self.synpred186()) :
12860 alt93 = 1
12861
12862
12863 elif LA93 == 60:
12864 LA93_102 = self.input.LA(3)
12865
12866 if (self.synpred186()) :
12867 alt93 = 1
12868
12869
12870 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12871 LA93_103 = self.input.LA(3)
12872
12873 if (self.synpred186()) :
12874 alt93 = 1
12875
12876
12877 elif LA93 == 62:
12878 LA93_104 = self.input.LA(3)
12879
12880 if (self.synpred186()) :
12881 alt93 = 1
12882
12883
12884
12885 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12886 LA93 = self.input.LA(2)
12887 if LA93 == 66:
12888 LA93_105 = self.input.LA(3)
12889
12890 if (self.synpred186()) :
12891 alt93 = 1
12892
12893
12894 elif LA93 == 58:
12895 LA93_106 = self.input.LA(3)
12896
12897 if (self.synpred186()) :
12898 alt93 = 1
12899
12900
12901 elif LA93 == 59:
12902 LA93_107 = self.input.LA(3)
12903
12904 if (self.synpred186()) :
12905 alt93 = 1
12906
12907
12908 elif LA93 == 60:
12909 LA93_108 = self.input.LA(3)
12910
12911 if (self.synpred186()) :
12912 alt93 = 1
12913
12914
12915 elif LA93 == IDENTIFIER:
12916 LA93_109 = self.input.LA(3)
12917
12918 if (self.synpred186()) :
12919 alt93 = 1
12920
12921
12922 elif LA93 == 62:
12923 LA93_110 = self.input.LA(3)
12924
12925 if (self.synpred186()) :
12926 alt93 = 1
12927
12928
12929 elif LA93 == 25:
12930 LA93_111 = self.input.LA(3)
12931
12932 if (self.synpred186()) :
12933 alt93 = 1
12934
12935
12936 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12937 LA93_112 = self.input.LA(3)
12938
12939 if (self.synpred186()) :
12940 alt93 = 1
12941
12942
12943 elif LA93 == 34:
12944 LA93_113 = self.input.LA(3)
12945
12946 if (self.synpred186()) :
12947 alt93 = 1
12948
12949
12950 elif LA93 == 35:
12951 LA93_114 = self.input.LA(3)
12952
12953 if (self.synpred186()) :
12954 alt93 = 1
12955
12956
12957 elif LA93 == 36:
12958 LA93_115 = self.input.LA(3)
12959
12960 if (self.synpred186()) :
12961 alt93 = 1
12962
12963
12964 elif LA93 == 37:
12965 LA93_116 = self.input.LA(3)
12966
12967 if (self.synpred186()) :
12968 alt93 = 1
12969
12970
12971 elif LA93 == 38:
12972 LA93_117 = self.input.LA(3)
12973
12974 if (self.synpred186()) :
12975 alt93 = 1
12976
12977
12978 elif LA93 == 39:
12979 LA93_118 = self.input.LA(3)
12980
12981 if (self.synpred186()) :
12982 alt93 = 1
12983
12984
12985 elif LA93 == 40:
12986 LA93_119 = self.input.LA(3)
12987
12988 if (self.synpred186()) :
12989 alt93 = 1
12990
12991
12992 elif LA93 == 41:
12993 LA93_120 = self.input.LA(3)
12994
12995 if (self.synpred186()) :
12996 alt93 = 1
12997
12998
12999 elif LA93 == 42:
13000 LA93_121 = self.input.LA(3)
13001
13002 if (self.synpred186()) :
13003 alt93 = 1
13004
13005
13006 elif LA93 == 45 or LA93 == 46:
13007 LA93_122 = self.input.LA(3)
13008
13009 if (self.synpred186()) :
13010 alt93 = 1
13011
13012
13013 elif LA93 == 48:
13014 LA93_123 = self.input.LA(3)
13015
13016 if (self.synpred186()) :
13017 alt93 = 1
13018
13019
13020 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13021 LA93_124 = self.input.LA(3)
13022
13023 if (self.synpred186()) :
13024 alt93 = 1
13025
13026
13027
13028 elif LA93 == 34:
13029 LA93 = self.input.LA(2)
13030 if LA93 == 66:
13031 LA93_125 = self.input.LA(3)
13032
13033 if (self.synpred186()) :
13034 alt93 = 1
13035
13036
13037 elif LA93 == 58:
13038 LA93_126 = self.input.LA(3)
13039
13040 if (self.synpred186()) :
13041 alt93 = 1
13042
13043
13044 elif LA93 == 59:
13045 LA93_127 = self.input.LA(3)
13046
13047 if (self.synpred186()) :
13048 alt93 = 1
13049
13050
13051 elif LA93 == 60:
13052 LA93_128 = self.input.LA(3)
13053
13054 if (self.synpred186()) :
13055 alt93 = 1
13056
13057
13058 elif LA93 == IDENTIFIER:
13059 LA93_129 = self.input.LA(3)
13060
13061 if (self.synpred186()) :
13062 alt93 = 1
13063
13064
13065 elif LA93 == 62:
13066 LA93_130 = self.input.LA(3)
13067
13068 if (self.synpred186()) :
13069 alt93 = 1
13070
13071
13072 elif LA93 == 25:
13073 LA93_131 = self.input.LA(3)
13074
13075 if (self.synpred186()) :
13076 alt93 = 1
13077
13078
13079 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13080 LA93_132 = self.input.LA(3)
13081
13082 if (self.synpred186()) :
13083 alt93 = 1
13084
13085
13086 elif LA93 == 34:
13087 LA93_133 = self.input.LA(3)
13088
13089 if (self.synpred186()) :
13090 alt93 = 1
13091
13092
13093 elif LA93 == 35:
13094 LA93_134 = self.input.LA(3)
13095
13096 if (self.synpred186()) :
13097 alt93 = 1
13098
13099
13100 elif LA93 == 36:
13101 LA93_135 = self.input.LA(3)
13102
13103 if (self.synpred186()) :
13104 alt93 = 1
13105
13106
13107 elif LA93 == 37:
13108 LA93_136 = self.input.LA(3)
13109
13110 if (self.synpred186()) :
13111 alt93 = 1
13112
13113
13114 elif LA93 == 38:
13115 LA93_137 = self.input.LA(3)
13116
13117 if (self.synpred186()) :
13118 alt93 = 1
13119
13120
13121 elif LA93 == 39:
13122 LA93_138 = self.input.LA(3)
13123
13124 if (self.synpred186()) :
13125 alt93 = 1
13126
13127
13128 elif LA93 == 40:
13129 LA93_139 = self.input.LA(3)
13130
13131 if (self.synpred186()) :
13132 alt93 = 1
13133
13134
13135 elif LA93 == 41:
13136 LA93_140 = self.input.LA(3)
13137
13138 if (self.synpred186()) :
13139 alt93 = 1
13140
13141
13142 elif LA93 == 42:
13143 LA93_141 = self.input.LA(3)
13144
13145 if (self.synpred186()) :
13146 alt93 = 1
13147
13148
13149 elif LA93 == 45 or LA93 == 46:
13150 LA93_142 = self.input.LA(3)
13151
13152 if (self.synpred186()) :
13153 alt93 = 1
13154
13155
13156 elif LA93 == 48:
13157 LA93_143 = self.input.LA(3)
13158
13159 if (self.synpred186()) :
13160 alt93 = 1
13161
13162
13163 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13164 LA93_144 = self.input.LA(3)
13165
13166 if (self.synpred186()) :
13167 alt93 = 1
13168
13169
13170
13171 elif LA93 == 35:
13172 LA93 = self.input.LA(2)
13173 if LA93 == 66:
13174 LA93_145 = self.input.LA(3)
13175
13176 if (self.synpred186()) :
13177 alt93 = 1
13178
13179
13180 elif LA93 == 58:
13181 LA93_146 = self.input.LA(3)
13182
13183 if (self.synpred186()) :
13184 alt93 = 1
13185
13186
13187 elif LA93 == 59:
13188 LA93_147 = self.input.LA(3)
13189
13190 if (self.synpred186()) :
13191 alt93 = 1
13192
13193
13194 elif LA93 == 60:
13195 LA93_148 = self.input.LA(3)
13196
13197 if (self.synpred186()) :
13198 alt93 = 1
13199
13200
13201 elif LA93 == IDENTIFIER:
13202 LA93_149 = self.input.LA(3)
13203
13204 if (self.synpred186()) :
13205 alt93 = 1
13206
13207
13208 elif LA93 == 62:
13209 LA93_150 = self.input.LA(3)
13210
13211 if (self.synpred186()) :
13212 alt93 = 1
13213
13214
13215 elif LA93 == 25:
13216 LA93_151 = self.input.LA(3)
13217
13218 if (self.synpred186()) :
13219 alt93 = 1
13220
13221
13222 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13223 LA93_152 = self.input.LA(3)
13224
13225 if (self.synpred186()) :
13226 alt93 = 1
13227
13228
13229 elif LA93 == 34:
13230 LA93_153 = self.input.LA(3)
13231
13232 if (self.synpred186()) :
13233 alt93 = 1
13234
13235
13236 elif LA93 == 35:
13237 LA93_154 = self.input.LA(3)
13238
13239 if (self.synpred186()) :
13240 alt93 = 1
13241
13242
13243 elif LA93 == 36:
13244 LA93_155 = self.input.LA(3)
13245
13246 if (self.synpred186()) :
13247 alt93 = 1
13248
13249
13250 elif LA93 == 37:
13251 LA93_156 = self.input.LA(3)
13252
13253 if (self.synpred186()) :
13254 alt93 = 1
13255
13256
13257 elif LA93 == 38:
13258 LA93_157 = self.input.LA(3)
13259
13260 if (self.synpred186()) :
13261 alt93 = 1
13262
13263
13264 elif LA93 == 39:
13265 LA93_158 = self.input.LA(3)
13266
13267 if (self.synpred186()) :
13268 alt93 = 1
13269
13270
13271 elif LA93 == 40:
13272 LA93_159 = self.input.LA(3)
13273
13274 if (self.synpred186()) :
13275 alt93 = 1
13276
13277
13278 elif LA93 == 41:
13279 LA93_160 = self.input.LA(3)
13280
13281 if (self.synpred186()) :
13282 alt93 = 1
13283
13284
13285 elif LA93 == 42:
13286 LA93_161 = self.input.LA(3)
13287
13288 if (self.synpred186()) :
13289 alt93 = 1
13290
13291
13292 elif LA93 == 45 or LA93 == 46:
13293 LA93_162 = self.input.LA(3)
13294
13295 if (self.synpred186()) :
13296 alt93 = 1
13297
13298
13299 elif LA93 == 48:
13300 LA93_163 = self.input.LA(3)
13301
13302 if (self.synpred186()) :
13303 alt93 = 1
13304
13305
13306 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13307 LA93_164 = self.input.LA(3)
13308
13309 if (self.synpred186()) :
13310 alt93 = 1
13311
13312
13313
13314 elif LA93 == 36:
13315 LA93 = self.input.LA(2)
13316 if LA93 == 66:
13317 LA93_165 = self.input.LA(3)
13318
13319 if (self.synpred186()) :
13320 alt93 = 1
13321
13322
13323 elif LA93 == 58:
13324 LA93_166 = self.input.LA(3)
13325
13326 if (self.synpred186()) :
13327 alt93 = 1
13328
13329
13330 elif LA93 == 59:
13331 LA93_167 = self.input.LA(3)
13332
13333 if (self.synpred186()) :
13334 alt93 = 1
13335
13336
13337 elif LA93 == 60:
13338 LA93_168 = self.input.LA(3)
13339
13340 if (self.synpred186()) :
13341 alt93 = 1
13342
13343
13344 elif LA93 == IDENTIFIER:
13345 LA93_169 = self.input.LA(3)
13346
13347 if (self.synpred186()) :
13348 alt93 = 1
13349
13350
13351 elif LA93 == 62:
13352 LA93_170 = self.input.LA(3)
13353
13354 if (self.synpred186()) :
13355 alt93 = 1
13356
13357
13358 elif LA93 == 25:
13359 LA93_171 = self.input.LA(3)
13360
13361 if (self.synpred186()) :
13362 alt93 = 1
13363
13364
13365 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13366 LA93_172 = self.input.LA(3)
13367
13368 if (self.synpred186()) :
13369 alt93 = 1
13370
13371
13372 elif LA93 == 34:
13373 LA93_173 = self.input.LA(3)
13374
13375 if (self.synpred186()) :
13376 alt93 = 1
13377
13378
13379 elif LA93 == 35:
13380 LA93_174 = self.input.LA(3)
13381
13382 if (self.synpred186()) :
13383 alt93 = 1
13384
13385
13386 elif LA93 == 36:
13387 LA93_175 = self.input.LA(3)
13388
13389 if (self.synpred186()) :
13390 alt93 = 1
13391
13392
13393 elif LA93 == 37:
13394 LA93_176 = self.input.LA(3)
13395
13396 if (self.synpred186()) :
13397 alt93 = 1
13398
13399
13400 elif LA93 == 38:
13401 LA93_177 = self.input.LA(3)
13402
13403 if (self.synpred186()) :
13404 alt93 = 1
13405
13406
13407 elif LA93 == 39:
13408 LA93_178 = self.input.LA(3)
13409
13410 if (self.synpred186()) :
13411 alt93 = 1
13412
13413
13414 elif LA93 == 40:
13415 LA93_179 = self.input.LA(3)
13416
13417 if (self.synpred186()) :
13418 alt93 = 1
13419
13420
13421 elif LA93 == 41:
13422 LA93_180 = self.input.LA(3)
13423
13424 if (self.synpred186()) :
13425 alt93 = 1
13426
13427
13428 elif LA93 == 42:
13429 LA93_181 = self.input.LA(3)
13430
13431 if (self.synpred186()) :
13432 alt93 = 1
13433
13434
13435 elif LA93 == 45 or LA93 == 46:
13436 LA93_182 = self.input.LA(3)
13437
13438 if (self.synpred186()) :
13439 alt93 = 1
13440
13441
13442 elif LA93 == 48:
13443 LA93_183 = self.input.LA(3)
13444
13445 if (self.synpred186()) :
13446 alt93 = 1
13447
13448
13449 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13450 LA93_184 = self.input.LA(3)
13451
13452 if (self.synpred186()) :
13453 alt93 = 1
13454
13455
13456
13457 elif LA93 == 37:
13458 LA93 = self.input.LA(2)
13459 if LA93 == 66:
13460 LA93_185 = self.input.LA(3)
13461
13462 if (self.synpred186()) :
13463 alt93 = 1
13464
13465
13466 elif LA93 == 58:
13467 LA93_186 = self.input.LA(3)
13468
13469 if (self.synpred186()) :
13470 alt93 = 1
13471
13472
13473 elif LA93 == 59:
13474 LA93_187 = self.input.LA(3)
13475
13476 if (self.synpred186()) :
13477 alt93 = 1
13478
13479
13480 elif LA93 == 60:
13481 LA93_188 = self.input.LA(3)
13482
13483 if (self.synpred186()) :
13484 alt93 = 1
13485
13486
13487 elif LA93 == IDENTIFIER:
13488 LA93_189 = self.input.LA(3)
13489
13490 if (self.synpred186()) :
13491 alt93 = 1
13492
13493
13494 elif LA93 == 62:
13495 LA93_190 = self.input.LA(3)
13496
13497 if (self.synpred186()) :
13498 alt93 = 1
13499
13500
13501 elif LA93 == 25:
13502 LA93_191 = self.input.LA(3)
13503
13504 if (self.synpred186()) :
13505 alt93 = 1
13506
13507
13508 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13509 LA93_192 = self.input.LA(3)
13510
13511 if (self.synpred186()) :
13512 alt93 = 1
13513
13514
13515 elif LA93 == 34:
13516 LA93_193 = self.input.LA(3)
13517
13518 if (self.synpred186()) :
13519 alt93 = 1
13520
13521
13522 elif LA93 == 35:
13523 LA93_194 = self.input.LA(3)
13524
13525 if (self.synpred186()) :
13526 alt93 = 1
13527
13528
13529 elif LA93 == 36:
13530 LA93_195 = self.input.LA(3)
13531
13532 if (self.synpred186()) :
13533 alt93 = 1
13534
13535
13536 elif LA93 == 37:
13537 LA93_196 = self.input.LA(3)
13538
13539 if (self.synpred186()) :
13540 alt93 = 1
13541
13542
13543 elif LA93 == 38:
13544 LA93_197 = self.input.LA(3)
13545
13546 if (self.synpred186()) :
13547 alt93 = 1
13548
13549
13550 elif LA93 == 39:
13551 LA93_198 = self.input.LA(3)
13552
13553 if (self.synpred186()) :
13554 alt93 = 1
13555
13556
13557 elif LA93 == 40:
13558 LA93_199 = self.input.LA(3)
13559
13560 if (self.synpred186()) :
13561 alt93 = 1
13562
13563
13564 elif LA93 == 41:
13565 LA93_200 = self.input.LA(3)
13566
13567 if (self.synpred186()) :
13568 alt93 = 1
13569
13570
13571 elif LA93 == 42:
13572 LA93_201 = self.input.LA(3)
13573
13574 if (self.synpred186()) :
13575 alt93 = 1
13576
13577
13578 elif LA93 == 45 or LA93 == 46:
13579 LA93_202 = self.input.LA(3)
13580
13581 if (self.synpred186()) :
13582 alt93 = 1
13583
13584
13585 elif LA93 == 48:
13586 LA93_203 = self.input.LA(3)
13587
13588 if (self.synpred186()) :
13589 alt93 = 1
13590
13591
13592 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13593 LA93_204 = self.input.LA(3)
13594
13595 if (self.synpred186()) :
13596 alt93 = 1
13597
13598
13599
13600 elif LA93 == 38:
13601 LA93 = self.input.LA(2)
13602 if LA93 == 66:
13603 LA93_205 = self.input.LA(3)
13604
13605 if (self.synpred186()) :
13606 alt93 = 1
13607
13608
13609 elif LA93 == 58:
13610 LA93_206 = self.input.LA(3)
13611
13612 if (self.synpred186()) :
13613 alt93 = 1
13614
13615
13616 elif LA93 == 59:
13617 LA93_207 = self.input.LA(3)
13618
13619 if (self.synpred186()) :
13620 alt93 = 1
13621
13622
13623 elif LA93 == 60:
13624 LA93_208 = self.input.LA(3)
13625
13626 if (self.synpred186()) :
13627 alt93 = 1
13628
13629
13630 elif LA93 == IDENTIFIER:
13631 LA93_209 = self.input.LA(3)
13632
13633 if (self.synpred186()) :
13634 alt93 = 1
13635
13636
13637 elif LA93 == 62:
13638 LA93_210 = self.input.LA(3)
13639
13640 if (self.synpred186()) :
13641 alt93 = 1
13642
13643
13644 elif LA93 == 25:
13645 LA93_211 = self.input.LA(3)
13646
13647 if (self.synpred186()) :
13648 alt93 = 1
13649
13650
13651 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13652 LA93_212 = self.input.LA(3)
13653
13654 if (self.synpred186()) :
13655 alt93 = 1
13656
13657
13658 elif LA93 == 34:
13659 LA93_213 = self.input.LA(3)
13660
13661 if (self.synpred186()) :
13662 alt93 = 1
13663
13664
13665 elif LA93 == 35:
13666 LA93_214 = self.input.LA(3)
13667
13668 if (self.synpred186()) :
13669 alt93 = 1
13670
13671
13672 elif LA93 == 36:
13673 LA93_215 = self.input.LA(3)
13674
13675 if (self.synpred186()) :
13676 alt93 = 1
13677
13678
13679 elif LA93 == 37:
13680 LA93_216 = self.input.LA(3)
13681
13682 if (self.synpred186()) :
13683 alt93 = 1
13684
13685
13686 elif LA93 == 38:
13687 LA93_217 = self.input.LA(3)
13688
13689 if (self.synpred186()) :
13690 alt93 = 1
13691
13692
13693 elif LA93 == 39:
13694 LA93_218 = self.input.LA(3)
13695
13696 if (self.synpred186()) :
13697 alt93 = 1
13698
13699
13700 elif LA93 == 40:
13701 LA93_219 = self.input.LA(3)
13702
13703 if (self.synpred186()) :
13704 alt93 = 1
13705
13706
13707 elif LA93 == 41:
13708 LA93_220 = self.input.LA(3)
13709
13710 if (self.synpred186()) :
13711 alt93 = 1
13712
13713
13714 elif LA93 == 42:
13715 LA93_221 = self.input.LA(3)
13716
13717 if (self.synpred186()) :
13718 alt93 = 1
13719
13720
13721 elif LA93 == 45 or LA93 == 46:
13722 LA93_222 = self.input.LA(3)
13723
13724 if (self.synpred186()) :
13725 alt93 = 1
13726
13727
13728 elif LA93 == 48:
13729 LA93_223 = self.input.LA(3)
13730
13731 if (self.synpred186()) :
13732 alt93 = 1
13733
13734
13735 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13736 LA93_224 = self.input.LA(3)
13737
13738 if (self.synpred186()) :
13739 alt93 = 1
13740
13741
13742
13743 elif LA93 == 39:
13744 LA93 = self.input.LA(2)
13745 if LA93 == 66:
13746 LA93_225 = self.input.LA(3)
13747
13748 if (self.synpred186()) :
13749 alt93 = 1
13750
13751
13752 elif LA93 == 58:
13753 LA93_226 = self.input.LA(3)
13754
13755 if (self.synpred186()) :
13756 alt93 = 1
13757
13758
13759 elif LA93 == 59:
13760 LA93_227 = self.input.LA(3)
13761
13762 if (self.synpred186()) :
13763 alt93 = 1
13764
13765
13766 elif LA93 == 60:
13767 LA93_228 = self.input.LA(3)
13768
13769 if (self.synpred186()) :
13770 alt93 = 1
13771
13772
13773 elif LA93 == IDENTIFIER:
13774 LA93_229 = self.input.LA(3)
13775
13776 if (self.synpred186()) :
13777 alt93 = 1
13778
13779
13780 elif LA93 == 62:
13781 LA93_230 = self.input.LA(3)
13782
13783 if (self.synpred186()) :
13784 alt93 = 1
13785
13786
13787 elif LA93 == 25:
13788 LA93_231 = self.input.LA(3)
13789
13790 if (self.synpred186()) :
13791 alt93 = 1
13792
13793
13794 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13795 LA93_232 = self.input.LA(3)
13796
13797 if (self.synpred186()) :
13798 alt93 = 1
13799
13800
13801 elif LA93 == 34:
13802 LA93_233 = self.input.LA(3)
13803
13804 if (self.synpred186()) :
13805 alt93 = 1
13806
13807
13808 elif LA93 == 35:
13809 LA93_234 = self.input.LA(3)
13810
13811 if (self.synpred186()) :
13812 alt93 = 1
13813
13814
13815 elif LA93 == 36:
13816 LA93_235 = self.input.LA(3)
13817
13818 if (self.synpred186()) :
13819 alt93 = 1
13820
13821
13822 elif LA93 == 37:
13823 LA93_236 = self.input.LA(3)
13824
13825 if (self.synpred186()) :
13826 alt93 = 1
13827
13828
13829 elif LA93 == 38:
13830 LA93_237 = self.input.LA(3)
13831
13832 if (self.synpred186()) :
13833 alt93 = 1
13834
13835
13836 elif LA93 == 39:
13837 LA93_238 = self.input.LA(3)
13838
13839 if (self.synpred186()) :
13840 alt93 = 1
13841
13842
13843 elif LA93 == 40:
13844 LA93_239 = self.input.LA(3)
13845
13846 if (self.synpred186()) :
13847 alt93 = 1
13848
13849
13850 elif LA93 == 41:
13851 LA93_240 = self.input.LA(3)
13852
13853 if (self.synpred186()) :
13854 alt93 = 1
13855
13856
13857 elif LA93 == 42:
13858 LA93_241 = self.input.LA(3)
13859
13860 if (self.synpred186()) :
13861 alt93 = 1
13862
13863
13864 elif LA93 == 45 or LA93 == 46:
13865 LA93_242 = self.input.LA(3)
13866
13867 if (self.synpred186()) :
13868 alt93 = 1
13869
13870
13871 elif LA93 == 48:
13872 LA93_243 = self.input.LA(3)
13873
13874 if (self.synpred186()) :
13875 alt93 = 1
13876
13877
13878 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13879 LA93_244 = self.input.LA(3)
13880
13881 if (self.synpred186()) :
13882 alt93 = 1
13883
13884
13885
13886 elif LA93 == 40:
13887 LA93 = self.input.LA(2)
13888 if LA93 == 66:
13889 LA93_245 = self.input.LA(3)
13890
13891 if (self.synpred186()) :
13892 alt93 = 1
13893
13894
13895 elif LA93 == 58:
13896 LA93_246 = self.input.LA(3)
13897
13898 if (self.synpred186()) :
13899 alt93 = 1
13900
13901
13902 elif LA93 == 59:
13903 LA93_247 = self.input.LA(3)
13904
13905 if (self.synpred186()) :
13906 alt93 = 1
13907
13908
13909 elif LA93 == 60:
13910 LA93_248 = self.input.LA(3)
13911
13912 if (self.synpred186()) :
13913 alt93 = 1
13914
13915
13916 elif LA93 == IDENTIFIER:
13917 LA93_249 = self.input.LA(3)
13918
13919 if (self.synpred186()) :
13920 alt93 = 1
13921
13922
13923 elif LA93 == 62:
13924 LA93_250 = self.input.LA(3)
13925
13926 if (self.synpred186()) :
13927 alt93 = 1
13928
13929
13930 elif LA93 == 25:
13931 LA93_251 = self.input.LA(3)
13932
13933 if (self.synpred186()) :
13934 alt93 = 1
13935
13936
13937 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13938 LA93_252 = self.input.LA(3)
13939
13940 if (self.synpred186()) :
13941 alt93 = 1
13942
13943
13944 elif LA93 == 34:
13945 LA93_253 = self.input.LA(3)
13946
13947 if (self.synpred186()) :
13948 alt93 = 1
13949
13950
13951 elif LA93 == 35:
13952 LA93_254 = self.input.LA(3)
13953
13954 if (self.synpred186()) :
13955 alt93 = 1
13956
13957
13958 elif LA93 == 36:
13959 LA93_255 = self.input.LA(3)
13960
13961 if (self.synpred186()) :
13962 alt93 = 1
13963
13964
13965 elif LA93 == 37:
13966 LA93_256 = self.input.LA(3)
13967
13968 if (self.synpred186()) :
13969 alt93 = 1
13970
13971
13972 elif LA93 == 38:
13973 LA93_257 = self.input.LA(3)
13974
13975 if (self.synpred186()) :
13976 alt93 = 1
13977
13978
13979 elif LA93 == 39:
13980 LA93_258 = self.input.LA(3)
13981
13982 if (self.synpred186()) :
13983 alt93 = 1
13984
13985
13986 elif LA93 == 40:
13987 LA93_259 = self.input.LA(3)
13988
13989 if (self.synpred186()) :
13990 alt93 = 1
13991
13992
13993 elif LA93 == 41:
13994 LA93_260 = self.input.LA(3)
13995
13996 if (self.synpred186()) :
13997 alt93 = 1
13998
13999
14000 elif LA93 == 42:
14001 LA93_261 = self.input.LA(3)
14002
14003 if (self.synpred186()) :
14004 alt93 = 1
14005
14006
14007 elif LA93 == 45 or LA93 == 46:
14008 LA93_262 = self.input.LA(3)
14009
14010 if (self.synpred186()) :
14011 alt93 = 1
14012
14013
14014 elif LA93 == 48:
14015 LA93_263 = self.input.LA(3)
14016
14017 if (self.synpred186()) :
14018 alt93 = 1
14019
14020
14021 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14022 LA93_264 = self.input.LA(3)
14023
14024 if (self.synpred186()) :
14025 alt93 = 1
14026
14027
14028
14029 elif LA93 == 41:
14030 LA93 = self.input.LA(2)
14031 if LA93 == 66:
14032 LA93_265 = self.input.LA(3)
14033
14034 if (self.synpred186()) :
14035 alt93 = 1
14036
14037
14038 elif LA93 == 58:
14039 LA93_266 = self.input.LA(3)
14040
14041 if (self.synpred186()) :
14042 alt93 = 1
14043
14044
14045 elif LA93 == 59:
14046 LA93_267 = self.input.LA(3)
14047
14048 if (self.synpred186()) :
14049 alt93 = 1
14050
14051
14052 elif LA93 == 60:
14053 LA93_268 = self.input.LA(3)
14054
14055 if (self.synpred186()) :
14056 alt93 = 1
14057
14058
14059 elif LA93 == IDENTIFIER:
14060 LA93_269 = self.input.LA(3)
14061
14062 if (self.synpred186()) :
14063 alt93 = 1
14064
14065
14066 elif LA93 == 62:
14067 LA93_270 = self.input.LA(3)
14068
14069 if (self.synpred186()) :
14070 alt93 = 1
14071
14072
14073 elif LA93 == 25:
14074 LA93_271 = self.input.LA(3)
14075
14076 if (self.synpred186()) :
14077 alt93 = 1
14078
14079
14080 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14081 LA93_272 = self.input.LA(3)
14082
14083 if (self.synpred186()) :
14084 alt93 = 1
14085
14086
14087 elif LA93 == 34:
14088 LA93_273 = self.input.LA(3)
14089
14090 if (self.synpred186()) :
14091 alt93 = 1
14092
14093
14094 elif LA93 == 35:
14095 LA93_274 = self.input.LA(3)
14096
14097 if (self.synpred186()) :
14098 alt93 = 1
14099
14100
14101 elif LA93 == 36:
14102 LA93_275 = self.input.LA(3)
14103
14104 if (self.synpred186()) :
14105 alt93 = 1
14106
14107
14108 elif LA93 == 37:
14109 LA93_276 = self.input.LA(3)
14110
14111 if (self.synpred186()) :
14112 alt93 = 1
14113
14114
14115 elif LA93 == 38:
14116 LA93_277 = self.input.LA(3)
14117
14118 if (self.synpred186()) :
14119 alt93 = 1
14120
14121
14122 elif LA93 == 39:
14123 LA93_278 = self.input.LA(3)
14124
14125 if (self.synpred186()) :
14126 alt93 = 1
14127
14128
14129 elif LA93 == 40:
14130 LA93_279 = self.input.LA(3)
14131
14132 if (self.synpred186()) :
14133 alt93 = 1
14134
14135
14136 elif LA93 == 41:
14137 LA93_280 = self.input.LA(3)
14138
14139 if (self.synpred186()) :
14140 alt93 = 1
14141
14142
14143 elif LA93 == 42:
14144 LA93_281 = self.input.LA(3)
14145
14146 if (self.synpred186()) :
14147 alt93 = 1
14148
14149
14150 elif LA93 == 45 or LA93 == 46:
14151 LA93_282 = self.input.LA(3)
14152
14153 if (self.synpred186()) :
14154 alt93 = 1
14155
14156
14157 elif LA93 == 48:
14158 LA93_283 = self.input.LA(3)
14159
14160 if (self.synpred186()) :
14161 alt93 = 1
14162
14163
14164 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14165 LA93_284 = self.input.LA(3)
14166
14167 if (self.synpred186()) :
14168 alt93 = 1
14169
14170
14171
14172 elif LA93 == 42:
14173 LA93 = self.input.LA(2)
14174 if LA93 == 66:
14175 LA93_285 = self.input.LA(3)
14176
14177 if (self.synpred186()) :
14178 alt93 = 1
14179
14180
14181 elif LA93 == 58:
14182 LA93_286 = self.input.LA(3)
14183
14184 if (self.synpred186()) :
14185 alt93 = 1
14186
14187
14188 elif LA93 == 59:
14189 LA93_287 = self.input.LA(3)
14190
14191 if (self.synpred186()) :
14192 alt93 = 1
14193
14194
14195 elif LA93 == 60:
14196 LA93_288 = self.input.LA(3)
14197
14198 if (self.synpred186()) :
14199 alt93 = 1
14200
14201
14202 elif LA93 == IDENTIFIER:
14203 LA93_289 = self.input.LA(3)
14204
14205 if (self.synpred186()) :
14206 alt93 = 1
14207
14208
14209 elif LA93 == 62:
14210 LA93_290 = self.input.LA(3)
14211
14212 if (self.synpred186()) :
14213 alt93 = 1
14214
14215
14216 elif LA93 == 25:
14217 LA93_291 = self.input.LA(3)
14218
14219 if (self.synpred186()) :
14220 alt93 = 1
14221
14222
14223 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14224 LA93_292 = self.input.LA(3)
14225
14226 if (self.synpred186()) :
14227 alt93 = 1
14228
14229
14230 elif LA93 == 34:
14231 LA93_293 = self.input.LA(3)
14232
14233 if (self.synpred186()) :
14234 alt93 = 1
14235
14236
14237 elif LA93 == 35:
14238 LA93_294 = self.input.LA(3)
14239
14240 if (self.synpred186()) :
14241 alt93 = 1
14242
14243
14244 elif LA93 == 36:
14245 LA93_295 = self.input.LA(3)
14246
14247 if (self.synpred186()) :
14248 alt93 = 1
14249
14250
14251 elif LA93 == 37:
14252 LA93_296 = self.input.LA(3)
14253
14254 if (self.synpred186()) :
14255 alt93 = 1
14256
14257
14258 elif LA93 == 38:
14259 LA93_297 = self.input.LA(3)
14260
14261 if (self.synpred186()) :
14262 alt93 = 1
14263
14264
14265 elif LA93 == 39:
14266 LA93_298 = self.input.LA(3)
14267
14268 if (self.synpred186()) :
14269 alt93 = 1
14270
14271
14272 elif LA93 == 40:
14273 LA93_299 = self.input.LA(3)
14274
14275 if (self.synpred186()) :
14276 alt93 = 1
14277
14278
14279 elif LA93 == 41:
14280 LA93_300 = self.input.LA(3)
14281
14282 if (self.synpred186()) :
14283 alt93 = 1
14284
14285
14286 elif LA93 == 42:
14287 LA93_301 = self.input.LA(3)
14288
14289 if (self.synpred186()) :
14290 alt93 = 1
14291
14292
14293 elif LA93 == 45 or LA93 == 46:
14294 LA93_302 = self.input.LA(3)
14295
14296 if (self.synpred186()) :
14297 alt93 = 1
14298
14299
14300 elif LA93 == 48:
14301 LA93_303 = self.input.LA(3)
14302
14303 if (self.synpred186()) :
14304 alt93 = 1
14305
14306
14307 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14308 LA93_304 = self.input.LA(3)
14309
14310 if (self.synpred186()) :
14311 alt93 = 1
14312
14313
14314
14315 elif LA93 == 45 or LA93 == 46:
14316 LA93_40 = self.input.LA(2)
14317
14318 if (LA93_40 == IDENTIFIER) :
14319 LA93_305 = self.input.LA(3)
14320
14321 if (self.synpred186()) :
14322 alt93 = 1
14323
14324
14325 elif (LA93_40 == 43) :
14326 LA93_306 = self.input.LA(3)
14327
14328 if (self.synpred186()) :
14329 alt93 = 1
14330
14331
14332
14333
14334 elif LA93 == 48:
14335 LA93_41 = self.input.LA(2)
14336
14337 if (LA93_41 == 43) :
14338 LA93_307 = self.input.LA(3)
14339
14340 if (self.synpred186()) :
14341 alt93 = 1
14342
14343
14344 elif (LA93_41 == IDENTIFIER) :
14345 LA93_308 = self.input.LA(3)
14346
14347 if (self.synpred186()) :
14348 alt93 = 1
14349
14350
14351
14352
14353 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
14354 LA93 = self.input.LA(2)
14355 if LA93 == 66:
14356 LA93_309 = self.input.LA(3)
14357
14358 if (self.synpred186()) :
14359 alt93 = 1
14360
14361
14362 elif LA93 == 58:
14363 LA93_310 = self.input.LA(3)
14364
14365 if (self.synpred186()) :
14366 alt93 = 1
14367
14368
14369 elif LA93 == 59:
14370 LA93_311 = self.input.LA(3)
14371
14372 if (self.synpred186()) :
14373 alt93 = 1
14374
14375
14376 elif LA93 == 60:
14377 LA93_312 = self.input.LA(3)
14378
14379 if (self.synpred186()) :
14380 alt93 = 1
14381
14382
14383 elif LA93 == IDENTIFIER:
14384 LA93_313 = self.input.LA(3)
14385
14386 if (self.synpred186()) :
14387 alt93 = 1
14388
14389
14390 elif LA93 == 62:
14391 LA93_314 = self.input.LA(3)
14392
14393 if (self.synpred186()) :
14394 alt93 = 1
14395
14396
14397 elif LA93 == 25:
14398 LA93_315 = self.input.LA(3)
14399
14400 if (self.synpred186()) :
14401 alt93 = 1
14402
14403
14404 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14405 LA93_316 = self.input.LA(3)
14406
14407 if (self.synpred186()) :
14408 alt93 = 1
14409
14410
14411 elif LA93 == 34:
14412 LA93_317 = self.input.LA(3)
14413
14414 if (self.synpred186()) :
14415 alt93 = 1
14416
14417
14418 elif LA93 == 35:
14419 LA93_318 = self.input.LA(3)
14420
14421 if (self.synpred186()) :
14422 alt93 = 1
14423
14424
14425 elif LA93 == 36:
14426 LA93_319 = self.input.LA(3)
14427
14428 if (self.synpred186()) :
14429 alt93 = 1
14430
14431
14432 elif LA93 == 37:
14433 LA93_320 = self.input.LA(3)
14434
14435 if (self.synpred186()) :
14436 alt93 = 1
14437
14438
14439 elif LA93 == 38:
14440 LA93_321 = self.input.LA(3)
14441
14442 if (self.synpred186()) :
14443 alt93 = 1
14444
14445
14446 elif LA93 == 39:
14447 LA93_322 = self.input.LA(3)
14448
14449 if (self.synpred186()) :
14450 alt93 = 1
14451
14452
14453 elif LA93 == 40:
14454 LA93_323 = self.input.LA(3)
14455
14456 if (self.synpred186()) :
14457 alt93 = 1
14458
14459
14460 elif LA93 == 41:
14461 LA93_324 = self.input.LA(3)
14462
14463 if (self.synpred186()) :
14464 alt93 = 1
14465
14466
14467 elif LA93 == 42:
14468 LA93_325 = self.input.LA(3)
14469
14470 if (self.synpred186()) :
14471 alt93 = 1
14472
14473
14474 elif LA93 == 45 or LA93 == 46:
14475 LA93_326 = self.input.LA(3)
14476
14477 if (self.synpred186()) :
14478 alt93 = 1
14479
14480
14481 elif LA93 == 48:
14482 LA93_327 = self.input.LA(3)
14483
14484 if (self.synpred186()) :
14485 alt93 = 1
14486
14487
14488 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14489 LA93_328 = self.input.LA(3)
14490
14491 if (self.synpred186()) :
14492 alt93 = 1
14493
14494
14495
14496
14497 if alt93 == 1:
14498 # C.g:0:0: declaration
14499 self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
14500 self.declaration()
14501 self.following.pop()
14502 if self.failed:
14503 return retval
14504
14505
14506 else:
14507 break #loop93
14508
14509
14510 # C.g:554:21: ( statement_list )?
14511 alt94 = 2
14512 LA94_0 = self.input.LA(1)
14513
14514 if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
14515 alt94 = 1
14516 if alt94 == 1:
14517 # C.g:0:0: statement_list
14518 self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
14519 self.statement_list()
14520 self.following.pop()
14521 if self.failed:
14522 return retval
14523
14524
14525
14526 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
14527 if self.failed:
14528 return retval
14529
14530
14531
14532 retval.stop = self.input.LT(-1)
14533
14534
14535 except RecognitionException as re:
14536 self.reportError(re)
14537 self.recover(self.input, re)
14538 finally:
14539 if self.backtracking > 0:
14540 self.memoize(self.input, 66, compound_statement_StartIndex)
14541
14542 pass
14543
14544 return retval
14545
14546 # $ANTLR end compound_statement
14547
14548
14549 # $ANTLR start statement_list
14550 # C.g:557:1: statement_list : ( statement )+ ;
14551 def statement_list(self, ):
14552
14553 statement_list_StartIndex = self.input.index()
14554 try:
14555 try:
14556 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14557 return
14558
14559 # C.g:558:2: ( ( statement )+ )
14560 # C.g:558:4: ( statement )+
14561 # C.g:558:4: ( statement )+
14562 cnt95 = 0
14563 while True: #loop95
14564 alt95 = 2
14565 LA95 = self.input.LA(1)
14566 if LA95 == IDENTIFIER:
14567 LA95 = self.input.LA(2)
14568 if LA95 == 62:
14569 LA95_46 = self.input.LA(3)
14570
14571 if (self.synpred188()) :
14572 alt95 = 1
14573
14574
14575 elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
14576 alt95 = 1
14577 elif LA95 == STRING_LITERAL:
14578 LA95_48 = self.input.LA(3)
14579
14580 if (self.synpred188()) :
14581 alt95 = 1
14582
14583
14584 elif LA95 == IDENTIFIER:
14585 LA95_49 = self.input.LA(3)
14586
14587 if (self.synpred188()) :
14588 alt95 = 1
14589
14590
14591 elif LA95 == 64:
14592 LA95_50 = self.input.LA(3)
14593
14594 if (self.synpred188()) :
14595 alt95 = 1
14596
14597
14598 elif LA95 == 75:
14599 LA95_51 = self.input.LA(3)
14600
14601 if (self.synpred188()) :
14602 alt95 = 1
14603
14604
14605 elif LA95 == 66:
14606 LA95_52 = self.input.LA(3)
14607
14608 if (self.synpred188()) :
14609 alt95 = 1
14610
14611
14612 elif LA95 == 76:
14613 LA95_53 = self.input.LA(3)
14614
14615 if (self.synpred188()) :
14616 alt95 = 1
14617
14618
14619 elif LA95 == 72:
14620 LA95_54 = self.input.LA(3)
14621
14622 if (self.synpred188()) :
14623 alt95 = 1
14624
14625
14626 elif LA95 == 73:
14627 LA95_55 = self.input.LA(3)
14628
14629 if (self.synpred188()) :
14630 alt95 = 1
14631
14632
14633 elif LA95 == 70:
14634 LA95_56 = self.input.LA(3)
14635
14636 if (self.synpred188()) :
14637 alt95 = 1
14638
14639
14640 elif LA95 == 71:
14641 LA95_57 = self.input.LA(3)
14642
14643 if (self.synpred188()) :
14644 alt95 = 1
14645
14646
14647 elif LA95 == 68:
14648 LA95_58 = self.input.LA(3)
14649
14650 if (self.synpred188()) :
14651 alt95 = 1
14652
14653
14654 elif LA95 == 69:
14655 LA95_59 = self.input.LA(3)
14656
14657 if (self.synpred188()) :
14658 alt95 = 1
14659
14660
14661 elif LA95 == 101 or LA95 == 102:
14662 LA95_60 = self.input.LA(3)
14663
14664 if (self.synpred188()) :
14665 alt95 = 1
14666
14667
14668 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14669 LA95_61 = self.input.LA(3)
14670
14671 if (self.synpred188()) :
14672 alt95 = 1
14673
14674
14675 elif LA95 == 95 or LA95 == 96:
14676 LA95_62 = self.input.LA(3)
14677
14678 if (self.synpred188()) :
14679 alt95 = 1
14680
14681
14682 elif LA95 == 77:
14683 LA95_63 = self.input.LA(3)
14684
14685 if (self.synpred188()) :
14686 alt95 = 1
14687
14688
14689 elif LA95 == 94:
14690 LA95_64 = self.input.LA(3)
14691
14692 if (self.synpred188()) :
14693 alt95 = 1
14694
14695
14696 elif LA95 == 93:
14697 LA95_65 = self.input.LA(3)
14698
14699 if (self.synpred188()) :
14700 alt95 = 1
14701
14702
14703 elif LA95 == 92:
14704 LA95_66 = self.input.LA(3)
14705
14706 if (self.synpred188()) :
14707 alt95 = 1
14708
14709
14710 elif LA95 == 91:
14711 LA95_67 = self.input.LA(3)
14712
14713 if (self.synpred188()) :
14714 alt95 = 1
14715
14716
14717 elif LA95 == 90:
14718 LA95_68 = self.input.LA(3)
14719
14720 if (self.synpred188()) :
14721 alt95 = 1
14722
14723
14724 elif LA95 == 27:
14725 LA95_69 = self.input.LA(3)
14726
14727 if (self.synpred188()) :
14728 alt95 = 1
14729
14730
14731 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14732 LA95_88 = self.input.LA(3)
14733
14734 if (self.synpred188()) :
14735 alt95 = 1
14736
14737
14738
14739 elif LA95 == HEX_LITERAL:
14740 LA95 = self.input.LA(2)
14741 if LA95 == 64:
14742 LA95_89 = self.input.LA(3)
14743
14744 if (self.synpred188()) :
14745 alt95 = 1
14746
14747
14748 elif LA95 == 62:
14749 LA95_90 = self.input.LA(3)
14750
14751 if (self.synpred188()) :
14752 alt95 = 1
14753
14754
14755 elif LA95 == 75:
14756 LA95_91 = self.input.LA(3)
14757
14758 if (self.synpred188()) :
14759 alt95 = 1
14760
14761
14762 elif LA95 == 66:
14763 LA95_92 = self.input.LA(3)
14764
14765 if (self.synpred188()) :
14766 alt95 = 1
14767
14768
14769 elif LA95 == 76:
14770 LA95_93 = self.input.LA(3)
14771
14772 if (self.synpred188()) :
14773 alt95 = 1
14774
14775
14776 elif LA95 == 72:
14777 LA95_94 = self.input.LA(3)
14778
14779 if (self.synpred188()) :
14780 alt95 = 1
14781
14782
14783 elif LA95 == 73:
14784 LA95_95 = self.input.LA(3)
14785
14786 if (self.synpred188()) :
14787 alt95 = 1
14788
14789
14790 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14791 LA95_96 = self.input.LA(3)
14792
14793 if (self.synpred188()) :
14794 alt95 = 1
14795
14796
14797 elif LA95 == 70:
14798 LA95_97 = self.input.LA(3)
14799
14800 if (self.synpred188()) :
14801 alt95 = 1
14802
14803
14804 elif LA95 == 71:
14805 LA95_98 = self.input.LA(3)
14806
14807 if (self.synpred188()) :
14808 alt95 = 1
14809
14810
14811 elif LA95 == 68:
14812 LA95_99 = self.input.LA(3)
14813
14814 if (self.synpred188()) :
14815 alt95 = 1
14816
14817
14818 elif LA95 == 69:
14819 LA95_100 = self.input.LA(3)
14820
14821 if (self.synpred188()) :
14822 alt95 = 1
14823
14824
14825 elif LA95 == 101 or LA95 == 102:
14826 LA95_101 = self.input.LA(3)
14827
14828 if (self.synpred188()) :
14829 alt95 = 1
14830
14831
14832 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14833 LA95_102 = self.input.LA(3)
14834
14835 if (self.synpred188()) :
14836 alt95 = 1
14837
14838
14839 elif LA95 == 95 or LA95 == 96:
14840 LA95_103 = self.input.LA(3)
14841
14842 if (self.synpred188()) :
14843 alt95 = 1
14844
14845
14846 elif LA95 == 77:
14847 LA95_104 = self.input.LA(3)
14848
14849 if (self.synpred188()) :
14850 alt95 = 1
14851
14852
14853 elif LA95 == 94:
14854 LA95_105 = self.input.LA(3)
14855
14856 if (self.synpred188()) :
14857 alt95 = 1
14858
14859
14860 elif LA95 == 93:
14861 LA95_106 = self.input.LA(3)
14862
14863 if (self.synpred188()) :
14864 alt95 = 1
14865
14866
14867 elif LA95 == 92:
14868 LA95_107 = self.input.LA(3)
14869
14870 if (self.synpred188()) :
14871 alt95 = 1
14872
14873
14874 elif LA95 == 91:
14875 LA95_108 = self.input.LA(3)
14876
14877 if (self.synpred188()) :
14878 alt95 = 1
14879
14880
14881 elif LA95 == 90:
14882 LA95_109 = self.input.LA(3)
14883
14884 if (self.synpred188()) :
14885 alt95 = 1
14886
14887
14888 elif LA95 == 27:
14889 LA95_110 = self.input.LA(3)
14890
14891 if (self.synpred188()) :
14892 alt95 = 1
14893
14894
14895 elif LA95 == 25:
14896 alt95 = 1
14897
14898 elif LA95 == OCTAL_LITERAL:
14899 LA95 = self.input.LA(2)
14900 if LA95 == 64:
14901 LA95_113 = self.input.LA(3)
14902
14903 if (self.synpred188()) :
14904 alt95 = 1
14905
14906
14907 elif LA95 == 62:
14908 LA95_114 = self.input.LA(3)
14909
14910 if (self.synpred188()) :
14911 alt95 = 1
14912
14913
14914 elif LA95 == 75:
14915 LA95_115 = self.input.LA(3)
14916
14917 if (self.synpred188()) :
14918 alt95 = 1
14919
14920
14921 elif LA95 == 66:
14922 LA95_116 = self.input.LA(3)
14923
14924 if (self.synpred188()) :
14925 alt95 = 1
14926
14927
14928 elif LA95 == 76:
14929 LA95_117 = self.input.LA(3)
14930
14931 if (self.synpred188()) :
14932 alt95 = 1
14933
14934
14935 elif LA95 == 72:
14936 LA95_118 = self.input.LA(3)
14937
14938 if (self.synpred188()) :
14939 alt95 = 1
14940
14941
14942 elif LA95 == 73:
14943 LA95_119 = self.input.LA(3)
14944
14945 if (self.synpred188()) :
14946 alt95 = 1
14947
14948
14949 elif LA95 == 70:
14950 LA95_120 = self.input.LA(3)
14951
14952 if (self.synpred188()) :
14953 alt95 = 1
14954
14955
14956 elif LA95 == 71:
14957 LA95_121 = self.input.LA(3)
14958
14959 if (self.synpred188()) :
14960 alt95 = 1
14961
14962
14963 elif LA95 == 68:
14964 LA95_122 = self.input.LA(3)
14965
14966 if (self.synpred188()) :
14967 alt95 = 1
14968
14969
14970 elif LA95 == 69:
14971 LA95_123 = self.input.LA(3)
14972
14973 if (self.synpred188()) :
14974 alt95 = 1
14975
14976
14977 elif LA95 == 101 or LA95 == 102:
14978 LA95_124 = self.input.LA(3)
14979
14980 if (self.synpred188()) :
14981 alt95 = 1
14982
14983
14984 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14985 LA95_125 = self.input.LA(3)
14986
14987 if (self.synpred188()) :
14988 alt95 = 1
14989
14990
14991 elif LA95 == 95 or LA95 == 96:
14992 LA95_126 = self.input.LA(3)
14993
14994 if (self.synpred188()) :
14995 alt95 = 1
14996
14997
14998 elif LA95 == 77:
14999 LA95_127 = self.input.LA(3)
15000
15001 if (self.synpred188()) :
15002 alt95 = 1
15003
15004
15005 elif LA95 == 94:
15006 LA95_128 = self.input.LA(3)
15007
15008 if (self.synpred188()) :
15009 alt95 = 1
15010
15011
15012 elif LA95 == 93:
15013 LA95_129 = self.input.LA(3)
15014
15015 if (self.synpred188()) :
15016 alt95 = 1
15017
15018
15019 elif LA95 == 92:
15020 LA95_130 = self.input.LA(3)
15021
15022 if (self.synpred188()) :
15023 alt95 = 1
15024
15025
15026 elif LA95 == 91:
15027 LA95_131 = self.input.LA(3)
15028
15029 if (self.synpred188()) :
15030 alt95 = 1
15031
15032
15033 elif LA95 == 90:
15034 LA95_132 = self.input.LA(3)
15035
15036 if (self.synpred188()) :
15037 alt95 = 1
15038
15039
15040 elif LA95 == 27:
15041 LA95_133 = self.input.LA(3)
15042
15043 if (self.synpred188()) :
15044 alt95 = 1
15045
15046
15047 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15048 LA95_135 = self.input.LA(3)
15049
15050 if (self.synpred188()) :
15051 alt95 = 1
15052
15053
15054 elif LA95 == 25:
15055 alt95 = 1
15056
15057 elif LA95 == DECIMAL_LITERAL:
15058 LA95 = self.input.LA(2)
15059 if LA95 == 64:
15060 LA95_137 = self.input.LA(3)
15061
15062 if (self.synpred188()) :
15063 alt95 = 1
15064
15065
15066 elif LA95 == 62:
15067 LA95_138 = self.input.LA(3)
15068
15069 if (self.synpred188()) :
15070 alt95 = 1
15071
15072
15073 elif LA95 == 75:
15074 LA95_139 = self.input.LA(3)
15075
15076 if (self.synpred188()) :
15077 alt95 = 1
15078
15079
15080 elif LA95 == 66:
15081 LA95_140 = self.input.LA(3)
15082
15083 if (self.synpred188()) :
15084 alt95 = 1
15085
15086
15087 elif LA95 == 76:
15088 LA95_141 = self.input.LA(3)
15089
15090 if (self.synpred188()) :
15091 alt95 = 1
15092
15093
15094 elif LA95 == 72:
15095 LA95_142 = self.input.LA(3)
15096
15097 if (self.synpred188()) :
15098 alt95 = 1
15099
15100
15101 elif LA95 == 73:
15102 LA95_143 = self.input.LA(3)
15103
15104 if (self.synpred188()) :
15105 alt95 = 1
15106
15107
15108 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15109 LA95_144 = self.input.LA(3)
15110
15111 if (self.synpred188()) :
15112 alt95 = 1
15113
15114
15115 elif LA95 == 70:
15116 LA95_145 = self.input.LA(3)
15117
15118 if (self.synpred188()) :
15119 alt95 = 1
15120
15121
15122 elif LA95 == 71:
15123 LA95_146 = self.input.LA(3)
15124
15125 if (self.synpred188()) :
15126 alt95 = 1
15127
15128
15129 elif LA95 == 68:
15130 LA95_147 = self.input.LA(3)
15131
15132 if (self.synpred188()) :
15133 alt95 = 1
15134
15135
15136 elif LA95 == 69:
15137 LA95_148 = self.input.LA(3)
15138
15139 if (self.synpred188()) :
15140 alt95 = 1
15141
15142
15143 elif LA95 == 101 or LA95 == 102:
15144 LA95_149 = self.input.LA(3)
15145
15146 if (self.synpred188()) :
15147 alt95 = 1
15148
15149
15150 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15151 LA95_150 = self.input.LA(3)
15152
15153 if (self.synpred188()) :
15154 alt95 = 1
15155
15156
15157 elif LA95 == 95 or LA95 == 96:
15158 LA95_151 = self.input.LA(3)
15159
15160 if (self.synpred188()) :
15161 alt95 = 1
15162
15163
15164 elif LA95 == 77:
15165 LA95_152 = self.input.LA(3)
15166
15167 if (self.synpred188()) :
15168 alt95 = 1
15169
15170
15171 elif LA95 == 94:
15172 LA95_153 = self.input.LA(3)
15173
15174 if (self.synpred188()) :
15175 alt95 = 1
15176
15177
15178 elif LA95 == 93:
15179 LA95_154 = self.input.LA(3)
15180
15181 if (self.synpred188()) :
15182 alt95 = 1
15183
15184
15185 elif LA95 == 92:
15186 LA95_155 = self.input.LA(3)
15187
15188 if (self.synpred188()) :
15189 alt95 = 1
15190
15191
15192 elif LA95 == 91:
15193 LA95_156 = self.input.LA(3)
15194
15195 if (self.synpred188()) :
15196 alt95 = 1
15197
15198
15199 elif LA95 == 90:
15200 LA95_157 = self.input.LA(3)
15201
15202 if (self.synpred188()) :
15203 alt95 = 1
15204
15205
15206 elif LA95 == 27:
15207 LA95_158 = self.input.LA(3)
15208
15209 if (self.synpred188()) :
15210 alt95 = 1
15211
15212
15213 elif LA95 == 25:
15214 alt95 = 1
15215
15216 elif LA95 == CHARACTER_LITERAL:
15217 LA95 = self.input.LA(2)
15218 if LA95 == 64:
15219 LA95_161 = self.input.LA(3)
15220
15221 if (self.synpred188()) :
15222 alt95 = 1
15223
15224
15225 elif LA95 == 62:
15226 LA95_162 = self.input.LA(3)
15227
15228 if (self.synpred188()) :
15229 alt95 = 1
15230
15231
15232 elif LA95 == 75:
15233 LA95_163 = self.input.LA(3)
15234
15235 if (self.synpred188()) :
15236 alt95 = 1
15237
15238
15239 elif LA95 == 66:
15240 LA95_164 = self.input.LA(3)
15241
15242 if (self.synpred188()) :
15243 alt95 = 1
15244
15245
15246 elif LA95 == 76:
15247 LA95_165 = self.input.LA(3)
15248
15249 if (self.synpred188()) :
15250 alt95 = 1
15251
15252
15253 elif LA95 == 72:
15254 LA95_166 = self.input.LA(3)
15255
15256 if (self.synpred188()) :
15257 alt95 = 1
15258
15259
15260 elif LA95 == 73:
15261 LA95_167 = self.input.LA(3)
15262
15263 if (self.synpred188()) :
15264 alt95 = 1
15265
15266
15267 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15268 LA95_168 = self.input.LA(3)
15269
15270 if (self.synpred188()) :
15271 alt95 = 1
15272
15273
15274 elif LA95 == 70:
15275 LA95_169 = self.input.LA(3)
15276
15277 if (self.synpred188()) :
15278 alt95 = 1
15279
15280
15281 elif LA95 == 71:
15282 LA95_170 = self.input.LA(3)
15283
15284 if (self.synpred188()) :
15285 alt95 = 1
15286
15287
15288 elif LA95 == 68:
15289 LA95_171 = self.input.LA(3)
15290
15291 if (self.synpred188()) :
15292 alt95 = 1
15293
15294
15295 elif LA95 == 69:
15296 LA95_172 = self.input.LA(3)
15297
15298 if (self.synpred188()) :
15299 alt95 = 1
15300
15301
15302 elif LA95 == 101 or LA95 == 102:
15303 LA95_173 = self.input.LA(3)
15304
15305 if (self.synpred188()) :
15306 alt95 = 1
15307
15308
15309 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15310 LA95_174 = self.input.LA(3)
15311
15312 if (self.synpred188()) :
15313 alt95 = 1
15314
15315
15316 elif LA95 == 95 or LA95 == 96:
15317 LA95_175 = self.input.LA(3)
15318
15319 if (self.synpred188()) :
15320 alt95 = 1
15321
15322
15323 elif LA95 == 77:
15324 LA95_176 = self.input.LA(3)
15325
15326 if (self.synpred188()) :
15327 alt95 = 1
15328
15329
15330 elif LA95 == 94:
15331 LA95_177 = self.input.LA(3)
15332
15333 if (self.synpred188()) :
15334 alt95 = 1
15335
15336
15337 elif LA95 == 93:
15338 LA95_178 = self.input.LA(3)
15339
15340 if (self.synpred188()) :
15341 alt95 = 1
15342
15343
15344 elif LA95 == 92:
15345 LA95_179 = self.input.LA(3)
15346
15347 if (self.synpred188()) :
15348 alt95 = 1
15349
15350
15351 elif LA95 == 91:
15352 LA95_180 = self.input.LA(3)
15353
15354 if (self.synpred188()) :
15355 alt95 = 1
15356
15357
15358 elif LA95 == 90:
15359 LA95_181 = self.input.LA(3)
15360
15361 if (self.synpred188()) :
15362 alt95 = 1
15363
15364
15365 elif LA95 == 27:
15366 LA95_182 = self.input.LA(3)
15367
15368 if (self.synpred188()) :
15369 alt95 = 1
15370
15371
15372 elif LA95 == 25:
15373 alt95 = 1
15374
15375 elif LA95 == STRING_LITERAL:
15376 LA95 = self.input.LA(2)
15377 if LA95 == IDENTIFIER:
15378 LA95_185 = self.input.LA(3)
15379
15380 if (self.synpred188()) :
15381 alt95 = 1
15382
15383
15384 elif LA95 == 64:
15385 LA95_186 = self.input.LA(3)
15386
15387 if (self.synpred188()) :
15388 alt95 = 1
15389
15390
15391 elif LA95 == 62:
15392 LA95_187 = self.input.LA(3)
15393
15394 if (self.synpred188()) :
15395 alt95 = 1
15396
15397
15398 elif LA95 == 75:
15399 LA95_188 = self.input.LA(3)
15400
15401 if (self.synpred188()) :
15402 alt95 = 1
15403
15404
15405 elif LA95 == 66:
15406 LA95_189 = self.input.LA(3)
15407
15408 if (self.synpred188()) :
15409 alt95 = 1
15410
15411
15412 elif LA95 == 76:
15413 LA95_190 = self.input.LA(3)
15414
15415 if (self.synpred188()) :
15416 alt95 = 1
15417
15418
15419 elif LA95 == 72:
15420 LA95_191 = self.input.LA(3)
15421
15422 if (self.synpred188()) :
15423 alt95 = 1
15424
15425
15426 elif LA95 == 73:
15427 LA95_192 = self.input.LA(3)
15428
15429 if (self.synpred188()) :
15430 alt95 = 1
15431
15432
15433 elif LA95 == 70:
15434 LA95_193 = self.input.LA(3)
15435
15436 if (self.synpred188()) :
15437 alt95 = 1
15438
15439
15440 elif LA95 == 71:
15441 LA95_194 = self.input.LA(3)
15442
15443 if (self.synpred188()) :
15444 alt95 = 1
15445
15446
15447 elif LA95 == 68:
15448 LA95_195 = self.input.LA(3)
15449
15450 if (self.synpred188()) :
15451 alt95 = 1
15452
15453
15454 elif LA95 == 69:
15455 LA95_196 = self.input.LA(3)
15456
15457 if (self.synpred188()) :
15458 alt95 = 1
15459
15460
15461 elif LA95 == 101 or LA95 == 102:
15462 LA95_197 = self.input.LA(3)
15463
15464 if (self.synpred188()) :
15465 alt95 = 1
15466
15467
15468 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15469 LA95_198 = self.input.LA(3)
15470
15471 if (self.synpred188()) :
15472 alt95 = 1
15473
15474
15475 elif LA95 == 95 or LA95 == 96:
15476 LA95_199 = self.input.LA(3)
15477
15478 if (self.synpred188()) :
15479 alt95 = 1
15480
15481
15482 elif LA95 == 77:
15483 LA95_200 = self.input.LA(3)
15484
15485 if (self.synpred188()) :
15486 alt95 = 1
15487
15488
15489 elif LA95 == 94:
15490 LA95_201 = self.input.LA(3)
15491
15492 if (self.synpred188()) :
15493 alt95 = 1
15494
15495
15496 elif LA95 == 93:
15497 LA95_202 = self.input.LA(3)
15498
15499 if (self.synpred188()) :
15500 alt95 = 1
15501
15502
15503 elif LA95 == 92:
15504 LA95_203 = self.input.LA(3)
15505
15506 if (self.synpred188()) :
15507 alt95 = 1
15508
15509
15510 elif LA95 == 91:
15511 LA95_204 = self.input.LA(3)
15512
15513 if (self.synpred188()) :
15514 alt95 = 1
15515
15516
15517 elif LA95 == 90:
15518 LA95_205 = self.input.LA(3)
15519
15520 if (self.synpred188()) :
15521 alt95 = 1
15522
15523
15524 elif LA95 == 27:
15525 LA95_206 = self.input.LA(3)
15526
15527 if (self.synpred188()) :
15528 alt95 = 1
15529
15530
15531 elif LA95 == 25:
15532 alt95 = 1
15533 elif LA95 == STRING_LITERAL:
15534 LA95_208 = self.input.LA(3)
15535
15536 if (self.synpred188()) :
15537 alt95 = 1
15538
15539
15540 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15541 LA95_209 = self.input.LA(3)
15542
15543 if (self.synpred188()) :
15544 alt95 = 1
15545
15546
15547
15548 elif LA95 == FLOATING_POINT_LITERAL:
15549 LA95 = self.input.LA(2)
15550 if LA95 == 64:
15551 LA95_211 = self.input.LA(3)
15552
15553 if (self.synpred188()) :
15554 alt95 = 1
15555
15556
15557 elif LA95 == 62:
15558 LA95_212 = self.input.LA(3)
15559
15560 if (self.synpred188()) :
15561 alt95 = 1
15562
15563
15564 elif LA95 == 75:
15565 LA95_213 = self.input.LA(3)
15566
15567 if (self.synpred188()) :
15568 alt95 = 1
15569
15570
15571 elif LA95 == 66:
15572 LA95_214 = self.input.LA(3)
15573
15574 if (self.synpred188()) :
15575 alt95 = 1
15576
15577
15578 elif LA95 == 76:
15579 LA95_215 = self.input.LA(3)
15580
15581 if (self.synpred188()) :
15582 alt95 = 1
15583
15584
15585 elif LA95 == 72:
15586 LA95_216 = self.input.LA(3)
15587
15588 if (self.synpred188()) :
15589 alt95 = 1
15590
15591
15592 elif LA95 == 73:
15593 LA95_217 = self.input.LA(3)
15594
15595 if (self.synpred188()) :
15596 alt95 = 1
15597
15598
15599 elif LA95 == 70:
15600 LA95_218 = self.input.LA(3)
15601
15602 if (self.synpred188()) :
15603 alt95 = 1
15604
15605
15606 elif LA95 == 71:
15607 LA95_219 = self.input.LA(3)
15608
15609 if (self.synpred188()) :
15610 alt95 = 1
15611
15612
15613 elif LA95 == 68:
15614 LA95_220 = self.input.LA(3)
15615
15616 if (self.synpred188()) :
15617 alt95 = 1
15618
15619
15620 elif LA95 == 69:
15621 LA95_221 = self.input.LA(3)
15622
15623 if (self.synpred188()) :
15624 alt95 = 1
15625
15626
15627 elif LA95 == 101 or LA95 == 102:
15628 LA95_222 = self.input.LA(3)
15629
15630 if (self.synpred188()) :
15631 alt95 = 1
15632
15633
15634 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15635 LA95_223 = self.input.LA(3)
15636
15637 if (self.synpred188()) :
15638 alt95 = 1
15639
15640
15641 elif LA95 == 95 or LA95 == 96:
15642 LA95_224 = self.input.LA(3)
15643
15644 if (self.synpred188()) :
15645 alt95 = 1
15646
15647
15648 elif LA95 == 77:
15649 LA95_225 = self.input.LA(3)
15650
15651 if (self.synpred188()) :
15652 alt95 = 1
15653
15654
15655 elif LA95 == 94:
15656 LA95_226 = self.input.LA(3)
15657
15658 if (self.synpred188()) :
15659 alt95 = 1
15660
15661
15662 elif LA95 == 93:
15663 LA95_227 = self.input.LA(3)
15664
15665 if (self.synpred188()) :
15666 alt95 = 1
15667
15668
15669 elif LA95 == 92:
15670 LA95_228 = self.input.LA(3)
15671
15672 if (self.synpred188()) :
15673 alt95 = 1
15674
15675
15676 elif LA95 == 91:
15677 LA95_229 = self.input.LA(3)
15678
15679 if (self.synpred188()) :
15680 alt95 = 1
15681
15682
15683 elif LA95 == 90:
15684 LA95_230 = self.input.LA(3)
15685
15686 if (self.synpred188()) :
15687 alt95 = 1
15688
15689
15690 elif LA95 == 27:
15691 LA95_231 = self.input.LA(3)
15692
15693 if (self.synpred188()) :
15694 alt95 = 1
15695
15696
15697 elif LA95 == 25:
15698 alt95 = 1
15699 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15700 LA95_234 = self.input.LA(3)
15701
15702 if (self.synpred188()) :
15703 alt95 = 1
15704
15705
15706
15707 elif LA95 == 62:
15708 LA95 = self.input.LA(2)
15709 if LA95 == IDENTIFIER:
15710 LA95_235 = self.input.LA(3)
15711
15712 if (self.synpred188()) :
15713 alt95 = 1
15714
15715
15716 elif LA95 == HEX_LITERAL:
15717 LA95_236 = self.input.LA(3)
15718
15719 if (self.synpred188()) :
15720 alt95 = 1
15721
15722
15723 elif LA95 == OCTAL_LITERAL:
15724 LA95_237 = self.input.LA(3)
15725
15726 if (self.synpred188()) :
15727 alt95 = 1
15728
15729
15730 elif LA95 == DECIMAL_LITERAL:
15731 LA95_238 = self.input.LA(3)
15732
15733 if (self.synpred188()) :
15734 alt95 = 1
15735
15736
15737 elif LA95 == CHARACTER_LITERAL:
15738 LA95_239 = self.input.LA(3)
15739
15740 if (self.synpred188()) :
15741 alt95 = 1
15742
15743
15744 elif LA95 == STRING_LITERAL:
15745 LA95_240 = self.input.LA(3)
15746
15747 if (self.synpred188()) :
15748 alt95 = 1
15749
15750
15751 elif LA95 == FLOATING_POINT_LITERAL:
15752 LA95_241 = self.input.LA(3)
15753
15754 if (self.synpred188()) :
15755 alt95 = 1
15756
15757
15758 elif LA95 == 62:
15759 LA95_242 = self.input.LA(3)
15760
15761 if (self.synpred188()) :
15762 alt95 = 1
15763
15764
15765 elif LA95 == 72:
15766 LA95_243 = self.input.LA(3)
15767
15768 if (self.synpred188()) :
15769 alt95 = 1
15770
15771
15772 elif LA95 == 73:
15773 LA95_244 = self.input.LA(3)
15774
15775 if (self.synpred188()) :
15776 alt95 = 1
15777
15778
15779 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15780 LA95_245 = self.input.LA(3)
15781
15782 if (self.synpred188()) :
15783 alt95 = 1
15784
15785
15786 elif LA95 == 74:
15787 LA95_246 = self.input.LA(3)
15788
15789 if (self.synpred188()) :
15790 alt95 = 1
15791
15792
15793 elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
15794 LA95_247 = self.input.LA(3)
15795
15796 if (self.synpred188()) :
15797 alt95 = 1
15798
15799
15800 elif LA95 == 34:
15801 LA95_248 = self.input.LA(3)
15802
15803 if (self.synpred188()) :
15804 alt95 = 1
15805
15806
15807 elif LA95 == 35:
15808 LA95_249 = self.input.LA(3)
15809
15810 if (self.synpred188()) :
15811 alt95 = 1
15812
15813
15814 elif LA95 == 36:
15815 LA95_250 = self.input.LA(3)
15816
15817 if (self.synpred188()) :
15818 alt95 = 1
15819
15820
15821 elif LA95 == 37:
15822 LA95_251 = self.input.LA(3)
15823
15824 if (self.synpred188()) :
15825 alt95 = 1
15826
15827
15828 elif LA95 == 38:
15829 LA95_252 = self.input.LA(3)
15830
15831 if (self.synpred188()) :
15832 alt95 = 1
15833
15834
15835 elif LA95 == 39:
15836 LA95_253 = self.input.LA(3)
15837
15838 if (self.synpred188()) :
15839 alt95 = 1
15840
15841
15842 elif LA95 == 40:
15843 LA95_254 = self.input.LA(3)
15844
15845 if (self.synpred188()) :
15846 alt95 = 1
15847
15848
15849 elif LA95 == 41:
15850 LA95_255 = self.input.LA(3)
15851
15852 if (self.synpred188()) :
15853 alt95 = 1
15854
15855
15856 elif LA95 == 42:
15857 LA95_256 = self.input.LA(3)
15858
15859 if (self.synpred188()) :
15860 alt95 = 1
15861
15862
15863 elif LA95 == 45 or LA95 == 46:
15864 LA95_257 = self.input.LA(3)
15865
15866 if (self.synpred188()) :
15867 alt95 = 1
15868
15869
15870 elif LA95 == 48:
15871 LA95_258 = self.input.LA(3)
15872
15873 if (self.synpred188()) :
15874 alt95 = 1
15875
15876
15877
15878 elif LA95 == 72:
15879 LA95 = self.input.LA(2)
15880 if LA95 == IDENTIFIER:
15881 LA95_259 = self.input.LA(3)
15882
15883 if (self.synpred188()) :
15884 alt95 = 1
15885
15886
15887 elif LA95 == HEX_LITERAL:
15888 LA95_260 = self.input.LA(3)
15889
15890 if (self.synpred188()) :
15891 alt95 = 1
15892
15893
15894 elif LA95 == OCTAL_LITERAL:
15895 LA95_261 = self.input.LA(3)
15896
15897 if (self.synpred188()) :
15898 alt95 = 1
15899
15900
15901 elif LA95 == DECIMAL_LITERAL:
15902 LA95_262 = self.input.LA(3)
15903
15904 if (self.synpred188()) :
15905 alt95 = 1
15906
15907
15908 elif LA95 == CHARACTER_LITERAL:
15909 LA95_263 = self.input.LA(3)
15910
15911 if (self.synpred188()) :
15912 alt95 = 1
15913
15914
15915 elif LA95 == STRING_LITERAL:
15916 LA95_264 = self.input.LA(3)
15917
15918 if (self.synpred188()) :
15919 alt95 = 1
15920
15921
15922 elif LA95 == FLOATING_POINT_LITERAL:
15923 LA95_265 = self.input.LA(3)
15924
15925 if (self.synpred188()) :
15926 alt95 = 1
15927
15928
15929 elif LA95 == 62:
15930 LA95_266 = self.input.LA(3)
15931
15932 if (self.synpred188()) :
15933 alt95 = 1
15934
15935
15936 elif LA95 == 72:
15937 LA95_267 = self.input.LA(3)
15938
15939 if (self.synpred188()) :
15940 alt95 = 1
15941
15942
15943 elif LA95 == 73:
15944 LA95_268 = self.input.LA(3)
15945
15946 if (self.synpred188()) :
15947 alt95 = 1
15948
15949
15950 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15951 LA95_269 = self.input.LA(3)
15952
15953 if (self.synpred188()) :
15954 alt95 = 1
15955
15956
15957 elif LA95 == 74:
15958 LA95_270 = self.input.LA(3)
15959
15960 if (self.synpred188()) :
15961 alt95 = 1
15962
15963
15964
15965 elif LA95 == 73:
15966 LA95 = self.input.LA(2)
15967 if LA95 == IDENTIFIER:
15968 LA95_271 = self.input.LA(3)
15969
15970 if (self.synpred188()) :
15971 alt95 = 1
15972
15973
15974 elif LA95 == HEX_LITERAL:
15975 LA95_272 = self.input.LA(3)
15976
15977 if (self.synpred188()) :
15978 alt95 = 1
15979
15980
15981 elif LA95 == OCTAL_LITERAL:
15982 LA95_273 = self.input.LA(3)
15983
15984 if (self.synpred188()) :
15985 alt95 = 1
15986
15987
15988 elif LA95 == DECIMAL_LITERAL:
15989 LA95_274 = self.input.LA(3)
15990
15991 if (self.synpred188()) :
15992 alt95 = 1
15993
15994
15995 elif LA95 == CHARACTER_LITERAL:
15996 LA95_275 = self.input.LA(3)
15997
15998 if (self.synpred188()) :
15999 alt95 = 1
16000
16001
16002 elif LA95 == STRING_LITERAL:
16003 LA95_276 = self.input.LA(3)
16004
16005 if (self.synpred188()) :
16006 alt95 = 1
16007
16008
16009 elif LA95 == FLOATING_POINT_LITERAL:
16010 LA95_277 = self.input.LA(3)
16011
16012 if (self.synpred188()) :
16013 alt95 = 1
16014
16015
16016 elif LA95 == 62:
16017 LA95_278 = self.input.LA(3)
16018
16019 if (self.synpred188()) :
16020 alt95 = 1
16021
16022
16023 elif LA95 == 72:
16024 LA95_279 = self.input.LA(3)
16025
16026 if (self.synpred188()) :
16027 alt95 = 1
16028
16029
16030 elif LA95 == 73:
16031 LA95_280 = self.input.LA(3)
16032
16033 if (self.synpred188()) :
16034 alt95 = 1
16035
16036
16037 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16038 LA95_281 = self.input.LA(3)
16039
16040 if (self.synpred188()) :
16041 alt95 = 1
16042
16043
16044 elif LA95 == 74:
16045 LA95_282 = self.input.LA(3)
16046
16047 if (self.synpred188()) :
16048 alt95 = 1
16049
16050
16051
16052 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16053 LA95 = self.input.LA(2)
16054 if LA95 == 62:
16055 LA95_283 = self.input.LA(3)
16056
16057 if (self.synpred188()) :
16058 alt95 = 1
16059
16060
16061 elif LA95 == IDENTIFIER:
16062 LA95_284 = self.input.LA(3)
16063
16064 if (self.synpred188()) :
16065 alt95 = 1
16066
16067
16068 elif LA95 == HEX_LITERAL:
16069 LA95_285 = self.input.LA(3)
16070
16071 if (self.synpred188()) :
16072 alt95 = 1
16073
16074
16075 elif LA95 == OCTAL_LITERAL:
16076 LA95_286 = self.input.LA(3)
16077
16078 if (self.synpred188()) :
16079 alt95 = 1
16080
16081
16082 elif LA95 == DECIMAL_LITERAL:
16083 LA95_287 = self.input.LA(3)
16084
16085 if (self.synpred188()) :
16086 alt95 = 1
16087
16088
16089 elif LA95 == CHARACTER_LITERAL:
16090 LA95_288 = self.input.LA(3)
16091
16092 if (self.synpred188()) :
16093 alt95 = 1
16094
16095
16096 elif LA95 == STRING_LITERAL:
16097 LA95_289 = self.input.LA(3)
16098
16099 if (self.synpred188()) :
16100 alt95 = 1
16101
16102
16103 elif LA95 == FLOATING_POINT_LITERAL:
16104 LA95_290 = self.input.LA(3)
16105
16106 if (self.synpred188()) :
16107 alt95 = 1
16108
16109
16110 elif LA95 == 72:
16111 LA95_291 = self.input.LA(3)
16112
16113 if (self.synpred188()) :
16114 alt95 = 1
16115
16116
16117 elif LA95 == 73:
16118 LA95_292 = self.input.LA(3)
16119
16120 if (self.synpred188()) :
16121 alt95 = 1
16122
16123
16124 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16125 LA95_293 = self.input.LA(3)
16126
16127 if (self.synpred188()) :
16128 alt95 = 1
16129
16130
16131 elif LA95 == 74:
16132 LA95_294 = self.input.LA(3)
16133
16134 if (self.synpred188()) :
16135 alt95 = 1
16136
16137
16138
16139 elif LA95 == 74:
16140 LA95 = self.input.LA(2)
16141 if LA95 == 62:
16142 LA95_295 = self.input.LA(3)
16143
16144 if (self.synpred188()) :
16145 alt95 = 1
16146
16147
16148 elif LA95 == IDENTIFIER:
16149 LA95_296 = self.input.LA(3)
16150
16151 if (self.synpred188()) :
16152 alt95 = 1
16153
16154
16155 elif LA95 == HEX_LITERAL:
16156 LA95_297 = self.input.LA(3)
16157
16158 if (self.synpred188()) :
16159 alt95 = 1
16160
16161
16162 elif LA95 == OCTAL_LITERAL:
16163 LA95_298 = self.input.LA(3)
16164
16165 if (self.synpred188()) :
16166 alt95 = 1
16167
16168
16169 elif LA95 == DECIMAL_LITERAL:
16170 LA95_299 = self.input.LA(3)
16171
16172 if (self.synpred188()) :
16173 alt95 = 1
16174
16175
16176 elif LA95 == CHARACTER_LITERAL:
16177 LA95_300 = self.input.LA(3)
16178
16179 if (self.synpred188()) :
16180 alt95 = 1
16181
16182
16183 elif LA95 == STRING_LITERAL:
16184 LA95_301 = self.input.LA(3)
16185
16186 if (self.synpred188()) :
16187 alt95 = 1
16188
16189
16190 elif LA95 == FLOATING_POINT_LITERAL:
16191 LA95_302 = self.input.LA(3)
16192
16193 if (self.synpred188()) :
16194 alt95 = 1
16195
16196
16197 elif LA95 == 72:
16198 LA95_303 = self.input.LA(3)
16199
16200 if (self.synpred188()) :
16201 alt95 = 1
16202
16203
16204 elif LA95 == 73:
16205 LA95_304 = self.input.LA(3)
16206
16207 if (self.synpred188()) :
16208 alt95 = 1
16209
16210
16211 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16212 LA95_305 = self.input.LA(3)
16213
16214 if (self.synpred188()) :
16215 alt95 = 1
16216
16217
16218 elif LA95 == 74:
16219 LA95_306 = self.input.LA(3)
16220
16221 if (self.synpred188()) :
16222 alt95 = 1
16223
16224
16225
16226 elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
16227 alt95 = 1
16228
16229 if alt95 == 1:
16230 # C.g:0:0: statement
16231 self.following.append(self.FOLLOW_statement_in_statement_list2242)
16232 self.statement()
16233 self.following.pop()
16234 if self.failed:
16235 return
16236
16237
16238 else:
16239 if cnt95 >= 1:
16240 break #loop95
16241
16242 if self.backtracking > 0:
16243 self.failed = True
16244 return
16245
16246 eee = EarlyExitException(95, self.input)
16247 raise eee
16248
16249 cnt95 += 1
16250
16251
16252
16253
16254
16255
16256 except RecognitionException as re:
16257 self.reportError(re)
16258 self.recover(self.input, re)
16259 finally:
16260 if self.backtracking > 0:
16261 self.memoize(self.input, 67, statement_list_StartIndex)
16262
16263 pass
16264
16265 return
16266
16267 # $ANTLR end statement_list
16268
16269 class expression_statement_return(object):
16270 def __init__(self):
16271 self.start = None
16272 self.stop = None
16273
16274
16275
16276 # $ANTLR start expression_statement
16277 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16278 def expression_statement(self, ):
16279
16280 retval = self.expression_statement_return()
16281 retval.start = self.input.LT(1)
16282 expression_statement_StartIndex = self.input.index()
16283 try:
16284 try:
16285 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16286 return retval
16287
16288 # C.g:562:2: ( ';' | expression ';' )
16289 alt96 = 2
16290 LA96_0 = self.input.LA(1)
16291
16292 if (LA96_0 == 25) :
16293 alt96 = 1
16294 elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
16295 alt96 = 2
16296 else:
16297 if self.backtracking > 0:
16298 self.failed = True
16299 return retval
16300
16301 nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16302
16303 raise nvae
16304
16305 if alt96 == 1:
16306 # C.g:562:4: ';'
16307 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
16308 if self.failed:
16309 return retval
16310
16311
16312 elif alt96 == 2:
16313 # C.g:563:4: expression ';'
16314 self.following.append(self.FOLLOW_expression_in_expression_statement2259)
16315 self.expression()
16316 self.following.pop()
16317 if self.failed:
16318 return retval
16319 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
16320 if self.failed:
16321 return retval
16322
16323
16324 retval.stop = self.input.LT(-1)
16325
16326
16327 except RecognitionException as re:
16328 self.reportError(re)
16329 self.recover(self.input, re)
16330 finally:
16331 if self.backtracking > 0:
16332 self.memoize(self.input, 68, expression_statement_StartIndex)
16333
16334 pass
16335
16336 return retval
16337
16338 # $ANTLR end expression_statement
16339
16340
16341 # $ANTLR start selection_statement
16342 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16343 def selection_statement(self, ):
16344
16345 selection_statement_StartIndex = self.input.index()
16346 e = None
16347
16348
16349 try:
16350 try:
16351 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16352 return
16353
16354 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16355 alt98 = 2
16356 LA98_0 = self.input.LA(1)
16357
16358 if (LA98_0 == 108) :
16359 alt98 = 1
16360 elif (LA98_0 == 110) :
16361 alt98 = 2
16362 else:
16363 if self.backtracking > 0:
16364 self.failed = True
16365 return
16366
16367 nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16368
16369 raise nvae
16370
16371 if alt98 == 1:
16372 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16373 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
16374 if self.failed:
16375 return
16376 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
16377 if self.failed:
16378 return
16379 self.following.append(self.FOLLOW_expression_in_selection_statement2278)
16380 e = self.expression()
16381 self.following.pop()
16382 if self.failed:
16383 return
16384 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
16385 if self.failed:
16386 return
16387 if self.backtracking == 0:
16388 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16389
16390 self.following.append(self.FOLLOW_statement_in_selection_statement2284)
16391 self.statement()
16392 self.following.pop()
16393 if self.failed:
16394 return
16395 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16396 alt97 = 2
16397 LA97_0 = self.input.LA(1)
16398
16399 if (LA97_0 == 109) :
16400 alt97 = 1
16401 if alt97 == 1:
16402 # C.g:567:200: 'else' statement
16403 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
16404 if self.failed:
16405 return
16406 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16407 self.statement()
16408 self.following.pop()
16409 if self.failed:
16410 return
16411
16412
16413
16414
16415
16416 elif alt98 == 2:
16417 # C.g:568:4: 'switch' '(' expression ')' statement
16418 self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
16419 if self.failed:
16420 return
16421 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
16422 if self.failed:
16423 return
16424 self.following.append(self.FOLLOW_expression_in_selection_statement2312)
16425 self.expression()
16426 self.following.pop()
16427 if self.failed:
16428 return
16429 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
16430 if self.failed:
16431 return
16432 self.following.append(self.FOLLOW_statement_in_selection_statement2316)
16433 self.statement()
16434 self.following.pop()
16435 if self.failed:
16436 return
16437
16438
16439
16440 except RecognitionException as re:
16441 self.reportError(re)
16442 self.recover(self.input, re)
16443 finally:
16444 if self.backtracking > 0:
16445 self.memoize(self.input, 69, selection_statement_StartIndex)
16446
16447 pass
16448
16449 return
16450
16451 # $ANTLR end selection_statement
16452
16453
16454 # $ANTLR start iteration_statement
16455 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16456 def iteration_statement(self, ):
16457
16458 iteration_statement_StartIndex = self.input.index()
16459 e = None
16460
16461
16462 try:
16463 try:
16464 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16465 return
16466
16467 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16468 alt100 = 3
16469 LA100 = self.input.LA(1)
16470 if LA100 == 111:
16471 alt100 = 1
16472 elif LA100 == 112:
16473 alt100 = 2
16474 elif LA100 == 113:
16475 alt100 = 3
16476 else:
16477 if self.backtracking > 0:
16478 self.failed = True
16479 return
16480
16481 nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
16482
16483 raise nvae
16484
16485 if alt100 == 1:
16486 # C.g:572:4: 'while' '(' e= expression ')' statement
16487 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
16488 if self.failed:
16489 return
16490 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
16491 if self.failed:
16492 return
16493 self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
16494 e = self.expression()
16495 self.following.pop()
16496 if self.failed:
16497 return
16498 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
16499 if self.failed:
16500 return
16501 self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
16502 self.statement()
16503 self.following.pop()
16504 if self.failed:
16505 return
16506 if self.backtracking == 0:
16507 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16508
16509
16510
16511 elif alt100 == 2:
16512 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16513 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
16514 if self.failed:
16515 return
16516 self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
16517 self.statement()
16518 self.following.pop()
16519 if self.failed:
16520 return
16521 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
16522 if self.failed:
16523 return
16524 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
16525 if self.failed:
16526 return
16527 self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
16528 e = self.expression()
16529 self.following.pop()
16530 if self.failed:
16531 return
16532 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
16533 if self.failed:
16534 return
16535 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
16536 if self.failed:
16537 return
16538 if self.backtracking == 0:
16539 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16540
16541
16542
16543 elif alt100 == 3:
16544 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16545 self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
16546 if self.failed:
16547 return
16548 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
16549 if self.failed:
16550 return
16551 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
16552 self.expression_statement()
16553 self.following.pop()
16554 if self.failed:
16555 return
16556 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
16557 e = self.expression_statement()
16558 self.following.pop()
16559 if self.failed:
16560 return
16561 # C.g:574:58: ( expression )?
16562 alt99 = 2
16563 LA99_0 = self.input.LA(1)
16564
16565 if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
16566 alt99 = 1
16567 if alt99 == 1:
16568 # C.g:0:0: expression
16569 self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
16570 self.expression()
16571 self.following.pop()
16572 if self.failed:
16573 return
16574
16575
16576
16577 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
16578 if self.failed:
16579 return
16580 self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
16581 self.statement()
16582 self.following.pop()
16583 if self.failed:
16584 return
16585 if self.backtracking == 0:
16586 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16587
16588
16589
16590
16591 except RecognitionException as re:
16592 self.reportError(re)
16593 self.recover(self.input, re)
16594 finally:
16595 if self.backtracking > 0:
16596 self.memoize(self.input, 70, iteration_statement_StartIndex)
16597
16598 pass
16599
16600 return
16601
16602 # $ANTLR end iteration_statement
16603
16604
16605 # $ANTLR start jump_statement
16606 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16607 def jump_statement(self, ):
16608
16609 jump_statement_StartIndex = self.input.index()
16610 try:
16611 try:
16612 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16613 return
16614
16615 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16616 alt101 = 5
16617 LA101 = self.input.LA(1)
16618 if LA101 == 114:
16619 alt101 = 1
16620 elif LA101 == 115:
16621 alt101 = 2
16622 elif LA101 == 116:
16623 alt101 = 3
16624 elif LA101 == 117:
16625 LA101_4 = self.input.LA(2)
16626
16627 if (LA101_4 == 25) :
16628 alt101 = 4
16629 elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
16630 alt101 = 5
16631 else:
16632 if self.backtracking > 0:
16633 self.failed = True
16634 return
16635
16636 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16637
16638 raise nvae
16639
16640 else:
16641 if self.backtracking > 0:
16642 self.failed = True
16643 return
16644
16645 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16646
16647 raise nvae
16648
16649 if alt101 == 1:
16650 # C.g:578:4: 'goto' IDENTIFIER ';'
16651 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
16652 if self.failed:
16653 return
16654 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
16655 if self.failed:
16656 return
16657 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
16658 if self.failed:
16659 return
16660
16661
16662 elif alt101 == 2:
16663 # C.g:579:4: 'continue' ';'
16664 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
16665 if self.failed:
16666 return
16667 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
16668 if self.failed:
16669 return
16670
16671
16672 elif alt101 == 3:
16673 # C.g:580:4: 'break' ';'
16674 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
16675 if self.failed:
16676 return
16677 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
16678 if self.failed:
16679 return
16680
16681
16682 elif alt101 == 4:
16683 # C.g:581:4: 'return' ';'
16684 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
16685 if self.failed:
16686 return
16687 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
16688 if self.failed:
16689 return
16690
16691
16692 elif alt101 == 5:
16693 # C.g:582:4: 'return' expression ';'
16694 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
16695 if self.failed:
16696 return
16697 self.following.append(self.FOLLOW_expression_in_jump_statement2425)
16698 self.expression()
16699 self.following.pop()
16700 if self.failed:
16701 return
16702 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
16703 if self.failed:
16704 return
16705
16706
16707
16708 except RecognitionException as re:
16709 self.reportError(re)
16710 self.recover(self.input, re)
16711 finally:
16712 if self.backtracking > 0:
16713 self.memoize(self.input, 71, jump_statement_StartIndex)
16714
16715 pass
16716
16717 return
16718
16719 # $ANTLR end jump_statement
16720
16721 # $ANTLR start synpred2
16722 def synpred2_fragment(self, ):
16723 # C.g:119:6: ( declaration_specifiers )
16724 # C.g:119:6: declaration_specifiers
16725 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
16726 self.declaration_specifiers()
16727 self.following.pop()
16728 if self.failed:
16729 return
16730
16731
16732 # $ANTLR end synpred2
16733
16734
16735
16736 # $ANTLR start synpred4
16737 def synpred4_fragment(self, ):
16738 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16739 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16740 # C.g:119:6: ( declaration_specifiers )?
16741 alt102 = 2
16742 LA102 = self.input.LA(1)
16743 if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16744 alt102 = 1
16745 elif LA102 == IDENTIFIER:
16746 LA102 = self.input.LA(2)
16747 if LA102 == 62:
16748 LA102_21 = self.input.LA(3)
16749
16750 if (self.synpred2()) :
16751 alt102 = 1
16752 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16753 LA102_23 = self.input.LA(3)
16754
16755 if (self.synpred2()) :
16756 alt102 = 1
16757 elif LA102 == 34:
16758 LA102_24 = self.input.LA(3)
16759
16760 if (self.synpred2()) :
16761 alt102 = 1
16762 elif LA102 == 35:
16763 LA102_25 = self.input.LA(3)
16764
16765 if (self.synpred2()) :
16766 alt102 = 1
16767 elif LA102 == 36:
16768 LA102_26 = self.input.LA(3)
16769
16770 if (self.synpred2()) :
16771 alt102 = 1
16772 elif LA102 == 37:
16773 LA102_27 = self.input.LA(3)
16774
16775 if (self.synpred2()) :
16776 alt102 = 1
16777 elif LA102 == 38:
16778 LA102_28 = self.input.LA(3)
16779
16780 if (self.synpred2()) :
16781 alt102 = 1
16782 elif LA102 == 39:
16783 LA102_29 = self.input.LA(3)
16784
16785 if (self.synpred2()) :
16786 alt102 = 1
16787 elif LA102 == 40:
16788 LA102_30 = self.input.LA(3)
16789
16790 if (self.synpred2()) :
16791 alt102 = 1
16792 elif LA102 == 41:
16793 LA102_31 = self.input.LA(3)
16794
16795 if (self.synpred2()) :
16796 alt102 = 1
16797 elif LA102 == 42:
16798 LA102_32 = self.input.LA(3)
16799
16800 if (self.synpred2()) :
16801 alt102 = 1
16802 elif LA102 == 45 or LA102 == 46:
16803 LA102_33 = self.input.LA(3)
16804
16805 if (self.synpred2()) :
16806 alt102 = 1
16807 elif LA102 == 48:
16808 LA102_34 = self.input.LA(3)
16809
16810 if (self.synpred2()) :
16811 alt102 = 1
16812 elif LA102 == IDENTIFIER:
16813 LA102_35 = self.input.LA(3)
16814
16815 if (self.synpred2()) :
16816 alt102 = 1
16817 elif LA102 == 58:
16818 LA102_36 = self.input.LA(3)
16819
16820 if (self.synpred2()) :
16821 alt102 = 1
16822 elif LA102 == 66:
16823 alt102 = 1
16824 elif LA102 == 59:
16825 LA102_39 = self.input.LA(3)
16826
16827 if (self.synpred2()) :
16828 alt102 = 1
16829 elif LA102 == 60:
16830 LA102_40 = self.input.LA(3)
16831
16832 if (self.synpred2()) :
16833 alt102 = 1
16834 elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16835 LA102_41 = self.input.LA(3)
16836
16837 if (self.synpred2()) :
16838 alt102 = 1
16839 elif LA102 == 58:
16840 LA102_14 = self.input.LA(2)
16841
16842 if (self.synpred2()) :
16843 alt102 = 1
16844 elif LA102 == 59:
16845 LA102_16 = self.input.LA(2)
16846
16847 if (self.synpred2()) :
16848 alt102 = 1
16849 elif LA102 == 60:
16850 LA102_17 = self.input.LA(2)
16851
16852 if (self.synpred2()) :
16853 alt102 = 1
16854 if alt102 == 1:
16855 # C.g:0:0: declaration_specifiers
16856 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
16857 self.declaration_specifiers()
16858 self.following.pop()
16859 if self.failed:
16860 return
16861
16862
16863
16864 self.following.append(self.FOLLOW_declarator_in_synpred4103)
16865 self.declarator()
16866 self.following.pop()
16867 if self.failed:
16868 return
16869 # C.g:119:41: ( declaration )*
16870 while True: #loop103
16871 alt103 = 2
16872 LA103_0 = self.input.LA(1)
16873
16874 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
16875 alt103 = 1
16876
16877
16878 if alt103 == 1:
16879 # C.g:0:0: declaration
16880 self.following.append(self.FOLLOW_declaration_in_synpred4105)
16881 self.declaration()
16882 self.following.pop()
16883 if self.failed:
16884 return
16885
16886
16887 else:
16888 break #loop103
16889
16890
16891 self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
16892 if self.failed:
16893 return
16894
16895
16896 # $ANTLR end synpred4
16897
16898
16899
16900 # $ANTLR start synpred5
16901 def synpred5_fragment(self, ):
16902 # C.g:120:4: ( declaration )
16903 # C.g:120:4: declaration
16904 self.following.append(self.FOLLOW_declaration_in_synpred5118)
16905 self.declaration()
16906 self.following.pop()
16907 if self.failed:
16908 return
16909
16910
16911 # $ANTLR end synpred5
16912
16913
16914
16915 # $ANTLR start synpred7
16916 def synpred7_fragment(self, ):
16917 # C.g:146:6: ( declaration_specifiers )
16918 # C.g:146:6: declaration_specifiers
16919 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
16920 self.declaration_specifiers()
16921 self.following.pop()
16922 if self.failed:
16923 return
16924
16925
16926 # $ANTLR end synpred7
16927
16928
16929
16930 # $ANTLR start synpred10
16931 def synpred10_fragment(self, ):
16932 # C.g:167:18: ( declaration_specifiers )
16933 # C.g:167:18: declaration_specifiers
16934 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
16935 self.declaration_specifiers()
16936 self.following.pop()
16937 if self.failed:
16938 return
16939
16940
16941 # $ANTLR end synpred10
16942
16943
16944
16945 # $ANTLR start synpred14
16946 def synpred14_fragment(self, ):
16947 # C.g:184:7: ( type_specifier )
16948 # C.g:184:7: type_specifier
16949 self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
16950 self.type_specifier()
16951 self.following.pop()
16952 if self.failed:
16953 return
16954
16955
16956 # $ANTLR end synpred14
16957
16958
16959
16960 # $ANTLR start synpred15
16961 def synpred15_fragment(self, ):
16962 # C.g:185:13: ( type_qualifier )
16963 # C.g:185:13: type_qualifier
16964 self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
16965 self.type_qualifier()
16966 self.following.pop()
16967 if self.failed:
16968 return
16969
16970
16971 # $ANTLR end synpred15
16972
16973
16974
16975 # $ANTLR start synpred33
16976 def synpred33_fragment(self, ):
16977 # C.g:225:16: ( type_qualifier )
16978 # C.g:225:16: type_qualifier
16979 self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
16980 self.type_qualifier()
16981 self.following.pop()
16982 if self.failed:
16983 return
16984
16985
16986 # $ANTLR end synpred33
16987
16988
16989
16990 # $ANTLR start synpred34
16991 def synpred34_fragment(self, ):
16992 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16993 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16994 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
16995 if self.failed:
16996 return
16997 # C.g:225:16: ( type_qualifier )*
16998 while True: #loop106
16999 alt106 = 2
17000 LA106 = self.input.LA(1)
17001 if LA106 == 58:
17002 LA106_2 = self.input.LA(2)
17003
17004 if (self.synpred33()) :
17005 alt106 = 1
17006
17007
17008 elif LA106 == 59:
17009 LA106_3 = self.input.LA(2)
17010
17011 if (self.synpred33()) :
17012 alt106 = 1
17013
17014
17015 elif LA106 == 60:
17016 LA106_4 = self.input.LA(2)
17017
17018 if (self.synpred33()) :
17019 alt106 = 1
17020
17021
17022 elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61:
17023 alt106 = 1
17024
17025 if alt106 == 1:
17026 # C.g:0:0: type_qualifier
17027 self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
17028 self.type_qualifier()
17029 self.following.pop()
17030 if self.failed:
17031 return
17032
17033
17034 else:
17035 break #loop106
17036
17037
17038 self.following.append(self.FOLLOW_declarator_in_synpred34447)
17039 self.declarator()
17040 self.following.pop()
17041 if self.failed:
17042 return
17043
17044
17045 # $ANTLR end synpred34
17046
17047
17048
17049 # $ANTLR start synpred39
17050 def synpred39_fragment(self, ):
17051 # C.g:253:6: ( type_qualifier )
17052 # C.g:253:6: type_qualifier
17053 self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
17054 self.type_qualifier()
17055 self.following.pop()
17056 if self.failed:
17057 return
17058
17059
17060 # $ANTLR end synpred39
17061
17062
17063
17064 # $ANTLR start synpred40
17065 def synpred40_fragment(self, ):
17066 # C.g:253:23: ( type_specifier )
17067 # C.g:253:23: type_specifier
17068 self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
17069 self.type_specifier()
17070 self.following.pop()
17071 if self.failed:
17072 return
17073
17074
17075 # $ANTLR end synpred40
17076
17077
17078
17079 # $ANTLR start synpred66
17080 def synpred66_fragment(self, ):
17081 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17082 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17083 # C.g:297:4: ( pointer )?
17084 alt111 = 2
17085 LA111_0 = self.input.LA(1)
17086
17087 if (LA111_0 == 66) :
17088 alt111 = 1
17089 if alt111 == 1:
17090 # C.g:0:0: pointer
17091 self.following.append(self.FOLLOW_pointer_in_synpred66784)
17092 self.pointer()
17093 self.following.pop()
17094 if self.failed:
17095 return
17096
17097
17098
17099 # C.g:297:13: ( 'EFIAPI' )?
17100 alt112 = 2
17101 LA112_0 = self.input.LA(1)
17102
17103 if (LA112_0 == 58) :
17104 alt112 = 1
17105 if alt112 == 1:
17106 # C.g:297:14: 'EFIAPI'
17107 self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
17108 if self.failed:
17109 return
17110
17111
17112
17113 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17114 alt113 = 2
17115 LA113_0 = self.input.LA(1)
17116
17117 if (LA113_0 == 59) :
17118 alt113 = 1
17119 if alt113 == 1:
17120 # C.g:297:26: 'EFI_BOOTSERVICE'
17121 self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
17122 if self.failed:
17123 return
17124
17125
17126
17127 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17128 alt114 = 2
17129 LA114_0 = self.input.LA(1)
17130
17131 if (LA114_0 == 60) :
17132 alt114 = 1
17133 if alt114 == 1:
17134 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17135 self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
17136 if self.failed:
17137 return
17138
17139
17140
17141 self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
17142 self.direct_declarator()
17143 self.following.pop()
17144 if self.failed:
17145 return
17146
17147
17148 # $ANTLR end synpred66
17149
17150
17151
17152 # $ANTLR start synpred67
17153 def synpred67_fragment(self, ):
17154 # C.g:303:15: ( declarator_suffix )
17155 # C.g:303:15: declarator_suffix
17156 self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
17157 self.declarator_suffix()
17158 self.following.pop()
17159 if self.failed:
17160 return
17161
17162
17163 # $ANTLR end synpred67
17164
17165
17166
17167 # $ANTLR start synpred69
17168 def synpred69_fragment(self, ):
17169 # C.g:304:9: ( 'EFIAPI' )
17170 # C.g:304:9: 'EFIAPI'
17171 self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
17172 if self.failed:
17173 return
17174
17175
17176 # $ANTLR end synpred69
17177
17178
17179
17180 # $ANTLR start synpred70
17181 def synpred70_fragment(self, ):
17182 # C.g:304:35: ( declarator_suffix )
17183 # C.g:304:35: declarator_suffix
17184 self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
17185 self.declarator_suffix()
17186 self.following.pop()
17187 if self.failed:
17188 return
17189
17190
17191 # $ANTLR end synpred70
17192
17193
17194
17195 # $ANTLR start synpred73
17196 def synpred73_fragment(self, ):
17197 # C.g:310:9: ( '(' parameter_type_list ')' )
17198 # C.g:310:9: '(' parameter_type_list ')'
17199 self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
17200 if self.failed:
17201 return
17202 self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
17203 self.parameter_type_list()
17204 self.following.pop()
17205 if self.failed:
17206 return
17207 self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
17208 if self.failed:
17209 return
17210
17211
17212 # $ANTLR end synpred73
17213
17214
17215
17216 # $ANTLR start synpred74
17217 def synpred74_fragment(self, ):
17218 # C.g:311:9: ( '(' identifier_list ')' )
17219 # C.g:311:9: '(' identifier_list ')'
17220 self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
17221 if self.failed:
17222 return
17223 self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
17224 self.identifier_list()
17225 self.following.pop()
17226 if self.failed:
17227 return
17228 self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
17229 if self.failed:
17230 return
17231
17232
17233 # $ANTLR end synpred74
17234
17235
17236
17237 # $ANTLR start synpred75
17238 def synpred75_fragment(self, ):
17239 # C.g:316:8: ( type_qualifier )
17240 # C.g:316:8: type_qualifier
17241 self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
17242 self.type_qualifier()
17243 self.following.pop()
17244 if self.failed:
17245 return
17246
17247
17248 # $ANTLR end synpred75
17249
17250
17251
17252 # $ANTLR start synpred76
17253 def synpred76_fragment(self, ):
17254 # C.g:316:24: ( pointer )
17255 # C.g:316:24: pointer
17256 self.following.append(self.FOLLOW_pointer_in_synpred76924)
17257 self.pointer()
17258 self.following.pop()
17259 if self.failed:
17260 return
17261
17262
17263 # $ANTLR end synpred76
17264
17265
17266
17267 # $ANTLR start synpred77
17268 def synpred77_fragment(self, ):
17269 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17270 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17271 self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
17272 if self.failed:
17273 return
17274 # C.g:316:8: ( type_qualifier )+
17275 cnt116 = 0
17276 while True: #loop116
17277 alt116 = 2
17278 LA116_0 = self.input.LA(1)
17279
17280 if ((49 <= LA116_0 <= 61)) :
17281 alt116 = 1
17282
17283
17284 if alt116 == 1:
17285 # C.g:0:0: type_qualifier
17286 self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
17287 self.type_qualifier()
17288 self.following.pop()
17289 if self.failed:
17290 return
17291
17292
17293 else:
17294 if cnt116 >= 1:
17295 break #loop116
17296
17297 if self.backtracking > 0:
17298 self.failed = True
17299 return
17300
17301 eee = EarlyExitException(116, self.input)
17302 raise eee
17303
17304 cnt116 += 1
17305
17306
17307 # C.g:316:24: ( pointer )?
17308 alt117 = 2
17309 LA117_0 = self.input.LA(1)
17310
17311 if (LA117_0 == 66) :
17312 alt117 = 1
17313 if alt117 == 1:
17314 # C.g:0:0: pointer
17315 self.following.append(self.FOLLOW_pointer_in_synpred77924)
17316 self.pointer()
17317 self.following.pop()
17318 if self.failed:
17319 return
17320
17321
17322
17323
17324
17325 # $ANTLR end synpred77
17326
17327
17328
17329 # $ANTLR start synpred78
17330 def synpred78_fragment(self, ):
17331 # C.g:317:4: ( '*' pointer )
17332 # C.g:317:4: '*' pointer
17333 self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
17334 if self.failed:
17335 return
17336 self.following.append(self.FOLLOW_pointer_in_synpred78932)
17337 self.pointer()
17338 self.following.pop()
17339 if self.failed:
17340 return
17341
17342
17343 # $ANTLR end synpred78
17344
17345
17346
17347 # $ANTLR start synpred81
17348 def synpred81_fragment(self, ):
17349 # C.g:326:32: ( 'OPTIONAL' )
17350 # C.g:326:32: 'OPTIONAL'
17351 self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
17352 if self.failed:
17353 return
17354
17355
17356 # $ANTLR end synpred81
17357
17358
17359
17360 # $ANTLR start synpred82
17361 def synpred82_fragment(self, ):
17362 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17363 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17364 self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
17365 if self.failed:
17366 return
17367 # C.g:326:31: ( 'OPTIONAL' )?
17368 alt119 = 2
17369 LA119_0 = self.input.LA(1)
17370
17371 if (LA119_0 == 53) :
17372 LA119_1 = self.input.LA(2)
17373
17374 if (self.synpred81()) :
17375 alt119 = 1
17376 if alt119 == 1:
17377 # C.g:326:32: 'OPTIONAL'
17378 self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
17379 if self.failed:
17380 return
17381
17382
17383
17384 self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
17385 self.parameter_declaration()
17386 self.following.pop()
17387 if self.failed:
17388 return
17389
17390
17391 # $ANTLR end synpred82
17392
17393
17394
17395 # $ANTLR start synpred83
17396 def synpred83_fragment(self, ):
17397 # C.g:330:28: ( declarator )
17398 # C.g:330:28: declarator
17399 self.following.append(self.FOLLOW_declarator_in_synpred83997)
17400 self.declarator()
17401 self.following.pop()
17402 if self.failed:
17403 return
17404
17405
17406 # $ANTLR end synpred83
17407
17408
17409
17410 # $ANTLR start synpred84
17411 def synpred84_fragment(self, ):
17412 # C.g:330:39: ( abstract_declarator )
17413 # C.g:330:39: abstract_declarator
17414 self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
17415 self.abstract_declarator()
17416 self.following.pop()
17417 if self.failed:
17418 return
17419
17420
17421 # $ANTLR end synpred84
17422
17423
17424
17425 # $ANTLR start synpred86
17426 def synpred86_fragment(self, ):
17427 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17428 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17429 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
17430 self.declaration_specifiers()
17431 self.following.pop()
17432 if self.failed:
17433 return
17434 # C.g:330:27: ( declarator | abstract_declarator )*
17435 while True: #loop120
17436 alt120 = 3
17437 LA120 = self.input.LA(1)
17438 if LA120 == 66:
17439 LA120_3 = self.input.LA(2)
17440
17441 if (self.synpred83()) :
17442 alt120 = 1
17443 elif (self.synpred84()) :
17444 alt120 = 2
17445
17446
17447 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17448 alt120 = 1
17449 elif LA120 == 62:
17450 LA120 = self.input.LA(2)
17451 if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64:
17452 alt120 = 2
17453 elif LA120 == 58:
17454 LA120_21 = self.input.LA(3)
17455
17456 if (self.synpred83()) :
17457 alt120 = 1
17458 elif (self.synpred84()) :
17459 alt120 = 2
17460
17461
17462 elif LA120 == 66:
17463 LA120_22 = self.input.LA(3)
17464
17465 if (self.synpred83()) :
17466 alt120 = 1
17467 elif (self.synpred84()) :
17468 alt120 = 2
17469
17470
17471 elif LA120 == 59:
17472 LA120_23 = self.input.LA(3)
17473
17474 if (self.synpred83()) :
17475 alt120 = 1
17476 elif (self.synpred84()) :
17477 alt120 = 2
17478
17479
17480 elif LA120 == 60:
17481 LA120_24 = self.input.LA(3)
17482
17483 if (self.synpred83()) :
17484 alt120 = 1
17485 elif (self.synpred84()) :
17486 alt120 = 2
17487
17488
17489 elif LA120 == IDENTIFIER:
17490 LA120_25 = self.input.LA(3)
17491
17492 if (self.synpred83()) :
17493 alt120 = 1
17494 elif (self.synpred84()) :
17495 alt120 = 2
17496
17497
17498 elif LA120 == 62:
17499 LA120_26 = self.input.LA(3)
17500
17501 if (self.synpred83()) :
17502 alt120 = 1
17503 elif (self.synpred84()) :
17504 alt120 = 2
17505
17506
17507
17508 elif LA120 == 64:
17509 alt120 = 2
17510
17511 if alt120 == 1:
17512 # C.g:330:28: declarator
17513 self.following.append(self.FOLLOW_declarator_in_synpred86997)
17514 self.declarator()
17515 self.following.pop()
17516 if self.failed:
17517 return
17518
17519
17520 elif alt120 == 2:
17521 # C.g:330:39: abstract_declarator
17522 self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
17523 self.abstract_declarator()
17524 self.following.pop()
17525 if self.failed:
17526 return
17527
17528
17529 else:
17530 break #loop120
17531
17532
17533 # C.g:330:61: ( 'OPTIONAL' )?
17534 alt121 = 2
17535 LA121_0 = self.input.LA(1)
17536
17537 if (LA121_0 == 53) :
17538 alt121 = 1
17539 if alt121 == 1:
17540 # C.g:330:62: 'OPTIONAL'
17541 self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
17542 if self.failed:
17543 return
17544
17545
17546
17547
17548
17549 # $ANTLR end synpred86
17550
17551
17552
17553 # $ANTLR start synpred90
17554 def synpred90_fragment(self, ):
17555 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17556 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17557 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
17558 self.specifier_qualifier_list()
17559 self.following.pop()
17560 if self.failed:
17561 return
17562 # C.g:341:29: ( abstract_declarator )?
17563 alt122 = 2
17564 LA122_0 = self.input.LA(1)
17565
17566 if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
17567 alt122 = 1
17568 if alt122 == 1:
17569 # C.g:0:0: abstract_declarator
17570 self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
17571 self.abstract_declarator()
17572 self.following.pop()
17573 if self.failed:
17574 return
17575
17576
17577
17578
17579
17580 # $ANTLR end synpred90
17581
17582
17583
17584 # $ANTLR start synpred91
17585 def synpred91_fragment(self, ):
17586 # C.g:346:12: ( direct_abstract_declarator )
17587 # C.g:346:12: direct_abstract_declarator
17588 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
17589 self.direct_abstract_declarator()
17590 self.following.pop()
17591 if self.failed:
17592 return
17593
17594
17595 # $ANTLR end synpred91
17596
17597
17598
17599 # $ANTLR start synpred93
17600 def synpred93_fragment(self, ):
17601 # C.g:351:6: ( '(' abstract_declarator ')' )
17602 # C.g:351:6: '(' abstract_declarator ')'
17603 self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
17604 if self.failed:
17605 return
17606 self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
17607 self.abstract_declarator()
17608 self.following.pop()
17609 if self.failed:
17610 return
17611 self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
17612 if self.failed:
17613 return
17614
17615
17616 # $ANTLR end synpred93
17617
17618
17619
17620 # $ANTLR start synpred94
17621 def synpred94_fragment(self, ):
17622 # C.g:351:65: ( abstract_declarator_suffix )
17623 # C.g:351:65: abstract_declarator_suffix
17624 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
17625 self.abstract_declarator_suffix()
17626 self.following.pop()
17627 if self.failed:
17628 return
17629
17630
17631 # $ANTLR end synpred94
17632
17633
17634
17635 # $ANTLR start synpred109
17636 def synpred109_fragment(self, ):
17637 # C.g:386:4: ( '(' type_name ')' cast_expression )
17638 # C.g:386:4: '(' type_name ')' cast_expression
17639 self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
17640 if self.failed:
17641 return
17642 self.following.append(self.FOLLOW_type_name_in_synpred1091284)
17643 self.type_name()
17644 self.following.pop()
17645 if self.failed:
17646 return
17647 self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
17648 if self.failed:
17649 return
17650 self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
17651 self.cast_expression()
17652 self.following.pop()
17653 if self.failed:
17654 return
17655
17656
17657 # $ANTLR end synpred109
17658
17659
17660
17661 # $ANTLR start synpred114
17662 def synpred114_fragment(self, ):
17663 # C.g:395:4: ( 'sizeof' unary_expression )
17664 # C.g:395:4: 'sizeof' unary_expression
17665 self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
17666 if self.failed:
17667 return
17668 self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
17669 self.unary_expression()
17670 self.following.pop()
17671 if self.failed:
17672 return
17673
17674
17675 # $ANTLR end synpred114
17676
17677
17678
17679 # $ANTLR start synpred117
17680 def synpred117_fragment(self, ):
17681 # C.g:409:13: ( '(' argument_expression_list ')' )
17682 # C.g:409:13: '(' argument_expression_list ')'
17683 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
17684 if self.failed:
17685 return
17686 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
17687 self.argument_expression_list()
17688 self.following.pop()
17689 if self.failed:
17690 return
17691 self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
17692 if self.failed:
17693 return
17694
17695
17696 # $ANTLR end synpred117
17697
17698
17699
17700 # $ANTLR start synpred118
17701 def synpred118_fragment(self, ):
17702 # C.g:410:13: ( '(' macro_parameter_list ')' )
17703 # C.g:410:13: '(' macro_parameter_list ')'
17704 self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
17705 if self.failed:
17706 return
17707 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
17708 self.macro_parameter_list()
17709 self.following.pop()
17710 if self.failed:
17711 return
17712 self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
17713 if self.failed:
17714 return
17715
17716
17717 # $ANTLR end synpred118
17718
17719
17720
17721 # $ANTLR start synpred120
17722 def synpred120_fragment(self, ):
17723 # C.g:412:13: ( '*' IDENTIFIER )
17724 # C.g:412:13: '*' IDENTIFIER
17725 self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
17726 if self.failed:
17727 return
17728 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
17729 if self.failed:
17730 return
17731
17732
17733 # $ANTLR end synpred120
17734
17735
17736
17737 # $ANTLR start synpred137
17738 def synpred137_fragment(self, ):
17739 # C.g:443:20: ( STRING_LITERAL )
17740 # C.g:443:20: STRING_LITERAL
17741 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
17742 if self.failed:
17743 return
17744
17745
17746 # $ANTLR end synpred137
17747
17748
17749
17750 # $ANTLR start synpred138
17751 def synpred138_fragment(self, ):
17752 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17753 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17754 # C.g:443:8: ( IDENTIFIER )*
17755 while True: #loop125
17756 alt125 = 2
17757 LA125_0 = self.input.LA(1)
17758
17759 if (LA125_0 == IDENTIFIER) :
17760 alt125 = 1
17761
17762
17763 if alt125 == 1:
17764 # C.g:0:0: IDENTIFIER
17765 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
17766 if self.failed:
17767 return
17768
17769
17770 else:
17771 break #loop125
17772
17773
17774 # C.g:443:20: ( STRING_LITERAL )+
17775 cnt126 = 0
17776 while True: #loop126
17777 alt126 = 2
17778 LA126_0 = self.input.LA(1)
17779
17780 if (LA126_0 == STRING_LITERAL) :
17781 alt126 = 1
17782
17783
17784 if alt126 == 1:
17785 # C.g:0:0: STRING_LITERAL
17786 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
17787 if self.failed:
17788 return
17789
17790
17791 else:
17792 if cnt126 >= 1:
17793 break #loop126
17794
17795 if self.backtracking > 0:
17796 self.failed = True
17797 return
17798
17799 eee = EarlyExitException(126, self.input)
17800 raise eee
17801
17802 cnt126 += 1
17803
17804
17805
17806
17807 # $ANTLR end synpred138
17808
17809
17810
17811 # $ANTLR start synpred142
17812 def synpred142_fragment(self, ):
17813 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17814 # C.g:458:4: lvalue assignment_operator assignment_expression
17815 self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
17816 self.lvalue()
17817 self.following.pop()
17818 if self.failed:
17819 return
17820 self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
17821 self.assignment_operator()
17822 self.following.pop()
17823 if self.failed:
17824 return
17825 self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
17826 self.assignment_expression()
17827 self.following.pop()
17828 if self.failed:
17829 return
17830
17831
17832 # $ANTLR end synpred142
17833
17834
17835
17836 # $ANTLR start synpred169
17837 def synpred169_fragment(self, ):
17838 # C.g:520:4: ( expression_statement )
17839 # C.g:520:4: expression_statement
17840 self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
17841 self.expression_statement()
17842 self.following.pop()
17843 if self.failed:
17844 return
17845
17846
17847 # $ANTLR end synpred169
17848
17849
17850
17851 # $ANTLR start synpred173
17852 def synpred173_fragment(self, ):
17853 # C.g:524:4: ( macro_statement )
17854 # C.g:524:4: macro_statement
17855 self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
17856 self.macro_statement()
17857 self.following.pop()
17858 if self.failed:
17859 return
17860
17861
17862 # $ANTLR end synpred173
17863
17864
17865
17866 # $ANTLR start synpred174
17867 def synpred174_fragment(self, ):
17868 # C.g:525:4: ( asm2_statement )
17869 # C.g:525:4: asm2_statement
17870 self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
17871 self.asm2_statement()
17872 self.following.pop()
17873 if self.failed:
17874 return
17875
17876
17877 # $ANTLR end synpred174
17878
17879
17880
17881 # $ANTLR start synpred181
17882 def synpred181_fragment(self, ):
17883 # C.g:544:19: ( declaration )
17884 # C.g:544:19: declaration
17885 self.following.append(self.FOLLOW_declaration_in_synpred1812166)
17886 self.declaration()
17887 self.following.pop()
17888 if self.failed:
17889 return
17890
17891
17892 # $ANTLR end synpred181
17893
17894
17895
17896 # $ANTLR start synpred182
17897 def synpred182_fragment(self, ):
17898 # C.g:544:33: ( statement_list )
17899 # C.g:544:33: statement_list
17900 self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
17901 self.statement_list()
17902 self.following.pop()
17903 if self.failed:
17904 return
17905
17906
17907 # $ANTLR end synpred182
17908
17909
17910
17911 # $ANTLR start synpred186
17912 def synpred186_fragment(self, ):
17913 # C.g:554:8: ( declaration )
17914 # C.g:554:8: declaration
17915 self.following.append(self.FOLLOW_declaration_in_synpred1862225)
17916 self.declaration()
17917 self.following.pop()
17918 if self.failed:
17919 return
17920
17921
17922 # $ANTLR end synpred186
17923
17924
17925
17926 # $ANTLR start synpred188
17927 def synpred188_fragment(self, ):
17928 # C.g:558:4: ( statement )
17929 # C.g:558:4: statement
17930 self.following.append(self.FOLLOW_statement_in_synpred1882242)
17931 self.statement()
17932 self.following.pop()
17933 if self.failed:
17934 return
17935
17936
17937 # $ANTLR end synpred188
17938
17939
17940
17941 def synpred69(self):
17942 self.backtracking += 1
17943 start = self.input.mark()
17944 self.synpred69_fragment()
17945 success = not self.failed
17946 self.input.rewind(start)
17947 self.backtracking -= 1
17948 self.failed = False
17949 return success
17950
17951 def synpred81(self):
17952 self.backtracking += 1
17953 start = self.input.mark()
17954 self.synpred81_fragment()
17955 success = not self.failed
17956 self.input.rewind(start)
17957 self.backtracking -= 1
17958 self.failed = False
17959 return success
17960
17961 def synpred82(self):
17962 self.backtracking += 1
17963 start = self.input.mark()
17964 self.synpred82_fragment()
17965 success = not self.failed
17966 self.input.rewind(start)
17967 self.backtracking -= 1
17968 self.failed = False
17969 return success
17970
17971 def synpred66(self):
17972 self.backtracking += 1
17973 start = self.input.mark()
17974 self.synpred66_fragment()
17975 success = not self.failed
17976 self.input.rewind(start)
17977 self.backtracking -= 1
17978 self.failed = False
17979 return success
17980
17981 def synpred83(self):
17982 self.backtracking += 1
17983 start = self.input.mark()
17984 self.synpred83_fragment()
17985 success = not self.failed
17986 self.input.rewind(start)
17987 self.backtracking -= 1
17988 self.failed = False
17989 return success
17990
17991 def synpred84(self):
17992 self.backtracking += 1
17993 start = self.input.mark()
17994 self.synpred84_fragment()
17995 success = not self.failed
17996 self.input.rewind(start)
17997 self.backtracking -= 1
17998 self.failed = False
17999 return success
18000
18001 def synpred67(self):
18002 self.backtracking += 1
18003 start = self.input.mark()
18004 self.synpred67_fragment()
18005 success = not self.failed
18006 self.input.rewind(start)
18007 self.backtracking -= 1
18008 self.failed = False
18009 return success
18010
18011 def synpred86(self):
18012 self.backtracking += 1
18013 start = self.input.mark()
18014 self.synpred86_fragment()
18015 success = not self.failed
18016 self.input.rewind(start)
18017 self.backtracking -= 1
18018 self.failed = False
18019 return success
18020
18021 def synpred120(self):
18022 self.backtracking += 1
18023 start = self.input.mark()
18024 self.synpred120_fragment()
18025 success = not self.failed
18026 self.input.rewind(start)
18027 self.backtracking -= 1
18028 self.failed = False
18029 return success
18030
18031 def synpred40(self):
18032 self.backtracking += 1
18033 start = self.input.mark()
18034 self.synpred40_fragment()
18035 success = not self.failed
18036 self.input.rewind(start)
18037 self.backtracking -= 1
18038 self.failed = False
18039 return success
18040
18041 def synpred142(self):
18042 self.backtracking += 1
18043 start = self.input.mark()
18044 self.synpred142_fragment()
18045 success = not self.failed
18046 self.input.rewind(start)
18047 self.backtracking -= 1
18048 self.failed = False
18049 return success
18050
18051 def synpred182(self):
18052 self.backtracking += 1
18053 start = self.input.mark()
18054 self.synpred182_fragment()
18055 success = not self.failed
18056 self.input.rewind(start)
18057 self.backtracking -= 1
18058 self.failed = False
18059 return success
18060
18061 def synpred109(self):
18062 self.backtracking += 1
18063 start = self.input.mark()
18064 self.synpred109_fragment()
18065 success = not self.failed
18066 self.input.rewind(start)
18067 self.backtracking -= 1
18068 self.failed = False
18069 return success
18070
18071 def synpred181(self):
18072 self.backtracking += 1
18073 start = self.input.mark()
18074 self.synpred181_fragment()
18075 success = not self.failed
18076 self.input.rewind(start)
18077 self.backtracking -= 1
18078 self.failed = False
18079 return success
18080
18081 def synpred186(self):
18082 self.backtracking += 1
18083 start = self.input.mark()
18084 self.synpred186_fragment()
18085 success = not self.failed
18086 self.input.rewind(start)
18087 self.backtracking -= 1
18088 self.failed = False
18089 return success
18090
18091 def synpred188(self):
18092 self.backtracking += 1
18093 start = self.input.mark()
18094 self.synpred188_fragment()
18095 success = not self.failed
18096 self.input.rewind(start)
18097 self.backtracking -= 1
18098 self.failed = False
18099 return success
18100
18101 def synpred169(self):
18102 self.backtracking += 1
18103 start = self.input.mark()
18104 self.synpred169_fragment()
18105 success = not self.failed
18106 self.input.rewind(start)
18107 self.backtracking -= 1
18108 self.failed = False
18109 return success
18110
18111 def synpred117(self):
18112 self.backtracking += 1
18113 start = self.input.mark()
18114 self.synpred117_fragment()
18115 success = not self.failed
18116 self.input.rewind(start)
18117 self.backtracking -= 1
18118 self.failed = False
18119 return success
18120
18121 def synpred70(self):
18122 self.backtracking += 1
18123 start = self.input.mark()
18124 self.synpred70_fragment()
18125 success = not self.failed
18126 self.input.rewind(start)
18127 self.backtracking -= 1
18128 self.failed = False
18129 return success
18130
18131 def synpred118(self):
18132 self.backtracking += 1
18133 start = self.input.mark()
18134 self.synpred118_fragment()
18135 success = not self.failed
18136 self.input.rewind(start)
18137 self.backtracking -= 1
18138 self.failed = False
18139 return success
18140
18141 def synpred34(self):
18142 self.backtracking += 1
18143 start = self.input.mark()
18144 self.synpred34_fragment()
18145 success = not self.failed
18146 self.input.rewind(start)
18147 self.backtracking -= 1
18148 self.failed = False
18149 return success
18150
18151 def synpred33(self):
18152 self.backtracking += 1
18153 start = self.input.mark()
18154 self.synpred33_fragment()
18155 success = not self.failed
18156 self.input.rewind(start)
18157 self.backtracking -= 1
18158 self.failed = False
18159 return success
18160
18161 def synpred94(self):
18162 self.backtracking += 1
18163 start = self.input.mark()
18164 self.synpred94_fragment()
18165 success = not self.failed
18166 self.input.rewind(start)
18167 self.backtracking -= 1
18168 self.failed = False
18169 return success
18170
18171 def synpred39(self):
18172 self.backtracking += 1
18173 start = self.input.mark()
18174 self.synpred39_fragment()
18175 success = not self.failed
18176 self.input.rewind(start)
18177 self.backtracking -= 1
18178 self.failed = False
18179 return success
18180
18181 def synpred74(self):
18182 self.backtracking += 1
18183 start = self.input.mark()
18184 self.synpred74_fragment()
18185 success = not self.failed
18186 self.input.rewind(start)
18187 self.backtracking -= 1
18188 self.failed = False
18189 return success
18190
18191 def synpred114(self):
18192 self.backtracking += 1
18193 start = self.input.mark()
18194 self.synpred114_fragment()
18195 success = not self.failed
18196 self.input.rewind(start)
18197 self.backtracking -= 1
18198 self.failed = False
18199 return success
18200
18201 def synpred93(self):
18202 self.backtracking += 1
18203 start = self.input.mark()
18204 self.synpred93_fragment()
18205 success = not self.failed
18206 self.input.rewind(start)
18207 self.backtracking -= 1
18208 self.failed = False
18209 return success
18210
18211 def synpred75(self):
18212 self.backtracking += 1
18213 start = self.input.mark()
18214 self.synpred75_fragment()
18215 success = not self.failed
18216 self.input.rewind(start)
18217 self.backtracking -= 1
18218 self.failed = False
18219 return success
18220
18221 def synpred137(self):
18222 self.backtracking += 1
18223 start = self.input.mark()
18224 self.synpred137_fragment()
18225 success = not self.failed
18226 self.input.rewind(start)
18227 self.backtracking -= 1
18228 self.failed = False
18229 return success
18230
18231 def synpred90(self):
18232 self.backtracking += 1
18233 start = self.input.mark()
18234 self.synpred90_fragment()
18235 success = not self.failed
18236 self.input.rewind(start)
18237 self.backtracking -= 1
18238 self.failed = False
18239 return success
18240
18241 def synpred138(self):
18242 self.backtracking += 1
18243 start = self.input.mark()
18244 self.synpred138_fragment()
18245 success = not self.failed
18246 self.input.rewind(start)
18247 self.backtracking -= 1
18248 self.failed = False
18249 return success
18250
18251 def synpred91(self):
18252 self.backtracking += 1
18253 start = self.input.mark()
18254 self.synpred91_fragment()
18255 success = not self.failed
18256 self.input.rewind(start)
18257 self.backtracking -= 1
18258 self.failed = False
18259 return success
18260
18261 def synpred73(self):
18262 self.backtracking += 1
18263 start = self.input.mark()
18264 self.synpred73_fragment()
18265 success = not self.failed
18266 self.input.rewind(start)
18267 self.backtracking -= 1
18268 self.failed = False
18269 return success
18270
18271 def synpred5(self):
18272 self.backtracking += 1
18273 start = self.input.mark()
18274 self.synpred5_fragment()
18275 success = not self.failed
18276 self.input.rewind(start)
18277 self.backtracking -= 1
18278 self.failed = False
18279 return success
18280
18281 def synpred78(self):
18282 self.backtracking += 1
18283 start = self.input.mark()
18284 self.synpred78_fragment()
18285 success = not self.failed
18286 self.input.rewind(start)
18287 self.backtracking -= 1
18288 self.failed = False
18289 return success
18290
18291 def synpred7(self):
18292 self.backtracking += 1
18293 start = self.input.mark()
18294 self.synpred7_fragment()
18295 success = not self.failed
18296 self.input.rewind(start)
18297 self.backtracking -= 1
18298 self.failed = False
18299 return success
18300
18301 def synpred76(self):
18302 self.backtracking += 1
18303 start = self.input.mark()
18304 self.synpred76_fragment()
18305 success = not self.failed
18306 self.input.rewind(start)
18307 self.backtracking -= 1
18308 self.failed = False
18309 return success
18310
18311 def synpred77(self):
18312 self.backtracking += 1
18313 start = self.input.mark()
18314 self.synpred77_fragment()
18315 success = not self.failed
18316 self.input.rewind(start)
18317 self.backtracking -= 1
18318 self.failed = False
18319 return success
18320
18321 def synpred2(self):
18322 self.backtracking += 1
18323 start = self.input.mark()
18324 self.synpred2_fragment()
18325 success = not self.failed
18326 self.input.rewind(start)
18327 self.backtracking -= 1
18328 self.failed = False
18329 return success
18330
18331 def synpred4(self):
18332 self.backtracking += 1
18333 start = self.input.mark()
18334 self.synpred4_fragment()
18335 success = not self.failed
18336 self.input.rewind(start)
18337 self.backtracking -= 1
18338 self.failed = False
18339 return success
18340
18341 def synpred174(self):
18342 self.backtracking += 1
18343 start = self.input.mark()
18344 self.synpred174_fragment()
18345 success = not self.failed
18346 self.input.rewind(start)
18347 self.backtracking -= 1
18348 self.failed = False
18349 return success
18350
18351 def synpred173(self):
18352 self.backtracking += 1
18353 start = self.input.mark()
18354 self.synpred173_fragment()
18355 success = not self.failed
18356 self.input.rewind(start)
18357 self.backtracking -= 1
18358 self.failed = False
18359 return success
18360
18361 def synpred14(self):
18362 self.backtracking += 1
18363 start = self.input.mark()
18364 self.synpred14_fragment()
18365 success = not self.failed
18366 self.input.rewind(start)
18367 self.backtracking -= 1
18368 self.failed = False
18369 return success
18370
18371 def synpred15(self):
18372 self.backtracking += 1
18373 start = self.input.mark()
18374 self.synpred15_fragment()
18375 success = not self.failed
18376 self.input.rewind(start)
18377 self.backtracking -= 1
18378 self.failed = False
18379 return success
18380
18381 def synpred10(self):
18382 self.backtracking += 1
18383 start = self.input.mark()
18384 self.synpred10_fragment()
18385 success = not self.failed
18386 self.input.rewind(start)
18387 self.backtracking -= 1
18388 self.failed = False
18389 return success
18390
18391
18392
18393
18394
18395 FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18396 FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
18397 FOLLOW_declaration_in_external_declaration118 = frozenset([1])
18398 FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
18399 FOLLOW_25_in_external_declaration126 = frozenset([1])
18400 FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
18401 FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18402 FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18403 FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
18404 FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
18405 FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18406 FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
18407 FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
18408 FOLLOW_25_in_declaration220 = frozenset([1])
18409 FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
18410 FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
18411 FOLLOW_25_in_declaration243 = frozenset([1])
18412 FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18413 FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18414 FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18415 FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
18416 FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
18417 FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
18418 FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
18419 FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18420 FOLLOW_initializer_in_init_declarator331 = frozenset([1])
18421 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18422 FOLLOW_34_in_type_specifier376 = frozenset([1])
18423 FOLLOW_35_in_type_specifier381 = frozenset([1])
18424 FOLLOW_36_in_type_specifier386 = frozenset([1])
18425 FOLLOW_37_in_type_specifier391 = frozenset([1])
18426 FOLLOW_38_in_type_specifier396 = frozenset([1])
18427 FOLLOW_39_in_type_specifier401 = frozenset([1])
18428 FOLLOW_40_in_type_specifier406 = frozenset([1])
18429 FOLLOW_41_in_type_specifier411 = frozenset([1])
18430 FOLLOW_42_in_type_specifier416 = frozenset([1])
18431 FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
18432 FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
18433 FOLLOW_type_id_in_type_specifier451 = frozenset([1])
18434 FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
18435 FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
18436 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
18437 FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18438 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
18439 FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
18440 FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
18441 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
18442 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18443 FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18444 FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
18445 FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
18446 FOLLOW_25_in_struct_declaration553 = frozenset([1])
18447 FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18448 FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18449 FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
18450 FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
18451 FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
18452 FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
18453 FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18454 FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
18455 FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18456 FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
18457 FOLLOW_48_in_enum_specifier634 = frozenset([43])
18458 FOLLOW_43_in_enum_specifier636 = frozenset([4])
18459 FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
18460 FOLLOW_27_in_enum_specifier640 = frozenset([44])
18461 FOLLOW_44_in_enum_specifier643 = frozenset([1])
18462 FOLLOW_48_in_enum_specifier648 = frozenset([4])
18463 FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
18464 FOLLOW_43_in_enum_specifier652 = frozenset([4])
18465 FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
18466 FOLLOW_27_in_enum_specifier656 = frozenset([44])
18467 FOLLOW_44_in_enum_specifier659 = frozenset([1])
18468 FOLLOW_48_in_enum_specifier664 = frozenset([4])
18469 FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
18470 FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
18471 FOLLOW_27_in_enumerator_list680 = frozenset([4])
18472 FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
18473 FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
18474 FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18475 FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
18476 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18477 FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
18478 FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
18479 FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
18480 FOLLOW_60_in_declarator798 = frozenset([4, 62])
18481 FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
18482 FOLLOW_pointer_in_declarator808 = frozenset([1])
18483 FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
18484 FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
18485 FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
18486 FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
18487 FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
18488 FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
18489 FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
18490 FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18491 FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
18492 FOLLOW_65_in_declarator_suffix856 = frozenset([1])
18493 FOLLOW_64_in_declarator_suffix866 = frozenset([65])
18494 FOLLOW_65_in_declarator_suffix868 = frozenset([1])
18495 FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18496 FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
18497 FOLLOW_63_in_declarator_suffix882 = frozenset([1])
18498 FOLLOW_62_in_declarator_suffix892 = frozenset([4])
18499 FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
18500 FOLLOW_63_in_declarator_suffix896 = frozenset([1])
18501 FOLLOW_62_in_declarator_suffix906 = frozenset([63])
18502 FOLLOW_63_in_declarator_suffix908 = frozenset([1])
18503 FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18504 FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18505 FOLLOW_pointer_in_pointer924 = frozenset([1])
18506 FOLLOW_66_in_pointer930 = frozenset([66])
18507 FOLLOW_pointer_in_pointer932 = frozenset([1])
18508 FOLLOW_66_in_pointer937 = frozenset([1])
18509 FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
18510 FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
18511 FOLLOW_53_in_parameter_type_list954 = frozenset([67])
18512 FOLLOW_67_in_parameter_type_list958 = frozenset([1])
18513 FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
18514 FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18515 FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18516 FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
18517 FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18518 FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18519 FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18520 FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
18521 FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
18522 FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
18523 FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
18524 FOLLOW_27_in_identifier_list1031 = frozenset([4])
18525 FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
18526 FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
18527 FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
18528 FOLLOW_type_id_in_type_name1054 = frozenset([1])
18529 FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
18530 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
18531 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
18532 FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
18533 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
18534 FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
18535 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
18536 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
18537 FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
18538 FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
18539 FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18540 FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
18541 FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
18542 FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
18543 FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
18544 FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18545 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
18546 FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
18547 FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
18548 FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18549 FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
18550 FOLLOW_27_in_initializer1159 = frozenset([44])
18551 FOLLOW_44_in_initializer1162 = frozenset([1])
18552 FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
18553 FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18554 FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
18555 FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
18556 FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
18557 FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18558 FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
18559 FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
18560 FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
18561 FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18562 FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
18563 FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18564 FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
18565 FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
18566 FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18567 FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
18568 FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
18570 FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18571 FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
18572 FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18573 FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
18574 FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18575 FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
18576 FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
18577 FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
18578 FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18579 FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
18580 FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18581 FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
18582 FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18583 FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
18584 FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18585 FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
18586 FOLLOW_74_in_unary_expression1337 = frozenset([62])
18587 FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18588 FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
18589 FOLLOW_63_in_unary_expression1343 = frozenset([1])
18590 FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18591 FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18592 FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
18593 FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18594 FOLLOW_62_in_postfix_expression1401 = frozenset([63])
18595 FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18597 FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
18598 FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18599 FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18600 FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
18601 FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18602 FOLLOW_75_in_postfix_expression1462 = frozenset([4])
18603 FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_66_in_postfix_expression1482 = frozenset([4])
18605 FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18606 FOLLOW_76_in_postfix_expression1502 = frozenset([4])
18607 FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18608 FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18610 FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
18611 FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18612 FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
18613 FOLLOW_set_in_unary_operator0 = frozenset([1])
18614 FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
18615 FOLLOW_constant_in_primary_expression1618 = frozenset([1])
18616 FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18617 FOLLOW_expression_in_primary_expression1625 = frozenset([63])
18618 FOLLOW_63_in_primary_expression1627 = frozenset([1])
18619 FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
18620 FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
18621 FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
18622 FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
18623 FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
18624 FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
18625 FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
18626 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
18627 FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
18628 FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18629 FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
18630 FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
18631 FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18632 FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18633 FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
18634 FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
18635 FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
18636 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18637 FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
18638 FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18639 FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
18640 FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18641 FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
18642 FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
18643 FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
18645 FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
18646 FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18647 FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
18648 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
18649 FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18650 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
18651 FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
18652 FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18653 FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
18654 FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
18655 FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18656 FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
18657 FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
18658 FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18659 FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
18660 FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
18661 FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18662 FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
18663 FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
18664 FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18665 FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
18666 FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
18667 FOLLOW_compound_statement_in_statement2030 = frozenset([1])
18668 FOLLOW_expression_statement_in_statement2035 = frozenset([1])
18669 FOLLOW_selection_statement_in_statement2040 = frozenset([1])
18670 FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
18671 FOLLOW_jump_statement_in_statement2050 = frozenset([1])
18672 FOLLOW_macro_statement_in_statement2055 = frozenset([1])
18673 FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
18674 FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
18675 FOLLOW_asm_statement_in_statement2070 = frozenset([1])
18676 FOLLOW_declaration_in_statement2075 = frozenset([1])
18677 FOLLOW_103_in_asm2_statement2086 = frozenset([4])
18678 FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
18679 FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18680 FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18681 FOLLOW_63_in_asm2_statement2101 = frozenset([25])
18682 FOLLOW_25_in_asm2_statement2103 = frozenset([1])
18683 FOLLOW_104_in_asm1_statement2115 = frozenset([43])
18684 FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18685 FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18686 FOLLOW_44_in_asm1_statement2127 = frozenset([1])
18687 FOLLOW_105_in_asm_statement2138 = frozenset([43])
18688 FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18689 FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18690 FOLLOW_44_in_asm_statement2150 = frozenset([1])
18691 FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
18692 FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18693 FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18694 FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18695 FOLLOW_expression_in_macro_statement2173 = frozenset([63])
18696 FOLLOW_63_in_macro_statement2176 = frozenset([1])
18697 FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
18698 FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18699 FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
18700 FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18701 FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
18702 FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18703 FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
18704 FOLLOW_107_in_labeled_statement2208 = frozenset([47])
18705 FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18706 FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
18707 FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18708 FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18709 FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
18710 FOLLOW_44_in_compound_statement2231 = frozenset([1])
18711 FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18712 FOLLOW_25_in_expression_statement2254 = frozenset([1])
18713 FOLLOW_expression_in_expression_statement2259 = frozenset([25])
18714 FOLLOW_25_in_expression_statement2261 = frozenset([1])
18715 FOLLOW_108_in_selection_statement2272 = frozenset([62])
18716 FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18717 FOLLOW_expression_in_selection_statement2278 = frozenset([63])
18718 FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18719 FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
18720 FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18721 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18722 FOLLOW_110_in_selection_statement2308 = frozenset([62])
18723 FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18724 FOLLOW_expression_in_selection_statement2312 = frozenset([63])
18725 FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18726 FOLLOW_statement_in_selection_statement2316 = frozenset([1])
18727 FOLLOW_111_in_iteration_statement2327 = frozenset([62])
18728 FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18729 FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
18730 FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18731 FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
18732 FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18733 FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
18734 FOLLOW_111_in_iteration_statement2348 = frozenset([62])
18735 FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18736 FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
18737 FOLLOW_63_in_iteration_statement2356 = frozenset([25])
18738 FOLLOW_25_in_iteration_statement2358 = frozenset([1])
18739 FOLLOW_113_in_iteration_statement2365 = frozenset([62])
18740 FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18741 FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18742 FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18743 FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
18744 FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18745 FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
18746 FOLLOW_114_in_jump_statement2393 = frozenset([4])
18747 FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
18748 FOLLOW_25_in_jump_statement2397 = frozenset([1])
18749 FOLLOW_115_in_jump_statement2402 = frozenset([25])
18750 FOLLOW_25_in_jump_statement2404 = frozenset([1])
18751 FOLLOW_116_in_jump_statement2409 = frozenset([25])
18752 FOLLOW_25_in_jump_statement2411 = frozenset([1])
18753 FOLLOW_117_in_jump_statement2416 = frozenset([25])
18754 FOLLOW_25_in_jump_statement2418 = frozenset([1])
18755 FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18756 FOLLOW_expression_in_jump_statement2425 = frozenset([25])
18757 FOLLOW_25_in_jump_statement2427 = frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
18759 FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
18760 FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18761 FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18762 FOLLOW_43_in_synpred4108 = frozenset([1])
18763 FOLLOW_declaration_in_synpred5118 = frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
18765 FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
18766 FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
18767 FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
18768 FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
18769 FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18770 FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18771 FOLLOW_declarator_in_synpred34447 = frozenset([1])
18772 FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
18773 FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
18774 FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
18775 FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
18776 FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
18777 FOLLOW_60_in_synpred66798 = frozenset([4, 62])
18778 FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
18779 FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
18780 FOLLOW_58_in_synpred69830 = frozenset([1])
18781 FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
18782 FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18783 FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
18784 FOLLOW_63_in_synpred73882 = frozenset([1])
18785 FOLLOW_62_in_synpred74892 = frozenset([4])
18786 FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
18787 FOLLOW_63_in_synpred74896 = frozenset([1])
18788 FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
18789 FOLLOW_pointer_in_synpred76924 = frozenset([1])
18790 FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18791 FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18792 FOLLOW_pointer_in_synpred77924 = frozenset([1])
18793 FOLLOW_66_in_synpred78930 = frozenset([66])
18794 FOLLOW_pointer_in_synpred78932 = frozenset([1])
18795 FOLLOW_53_in_synpred81977 = frozenset([1])
18796 FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18797 FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18798 FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
18799 FOLLOW_declarator_in_synpred83997 = frozenset([1])
18800 FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
18801 FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18802 FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18803 FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18804 FOLLOW_53_in_synpred861004 = frozenset([1])
18805 FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
18806 FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
18807 FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
18808 FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
18809 FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
18810 FOLLOW_63_in_synpred931090 = frozenset([1])
18811 FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
18812 FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18813 FOLLOW_type_name_in_synpred1091284 = frozenset([63])
18814 FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18815 FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
18816 FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18817 FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
18818 FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18819 FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
18820 FOLLOW_63_in_synpred1171428 = frozenset([1])
18821 FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18822 FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
18823 FOLLOW_63_in_synpred1181448 = frozenset([1])
18824 FOLLOW_66_in_synpred1201482 = frozenset([4])
18825 FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
18826 FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
18827 FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
18828 FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
18829 FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18830 FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18831 FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
18832 FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
18833 FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
18834 FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
18835 FOLLOW_declaration_in_synpred1812166 = frozenset([1])
18836 FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
18837 FOLLOW_declaration_in_synpred1862225 = frozenset([1])
18838 FOLLOW_statement_in_synpred1882242 = frozenset([1])
18839