1 // $ANTLR !Unknown version! CTFParser.g 2012-10-22 14:14:35
3 package org
.eclipse
.linuxtools
.ctf
.parser
;
4 import java
.util
.HashSet
;
6 import java
.util
.Stack
;
8 import org
.antlr
.runtime
.BaseRecognizer
;
9 import org
.antlr
.runtime
.BitSet
;
10 import org
.antlr
.runtime
.DFA
;
11 import org
.antlr
.runtime
.EarlyExitException
;
12 import org
.antlr
.runtime
.FailedPredicateException
;
13 import org
.antlr
.runtime
.IntStream
;
14 import org
.antlr
.runtime
.MismatchedSetException
;
15 import org
.antlr
.runtime
.MismatchedTokenException
;
16 import org
.antlr
.runtime
.NoViableAltException
;
17 import org
.antlr
.runtime
.Parser
;
18 import org
.antlr
.runtime
.ParserRuleReturnScope
;
19 import org
.antlr
.runtime
.RecognitionException
;
20 import org
.antlr
.runtime
.RecognizerSharedState
;
21 import org
.antlr
.runtime
.Token
;
22 import org
.antlr
.runtime
.TokenStream
;
23 import org
.antlr
.runtime
.tree
.CommonTree
;
24 import org
.antlr
.runtime
.tree
.CommonTreeAdaptor
;
25 import org
.antlr
.runtime
.tree
.RewriteEarlyExitException
;
26 import org
.antlr
.runtime
.tree
.RewriteRuleSubtreeStream
;
27 import org
.antlr
.runtime
.tree
.RewriteRuleTokenStream
;
28 import org
.antlr
.runtime
.tree
.TreeAdaptor
;
30 @SuppressWarnings("all")
31 public class CTFParser
extends Parser
{
32 public static final String
[] tokenNames
= new String
[] {
33 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALIGNTOK", "CONSTTOK", "CHARTOK", "DOUBLETOK", "ENUMTOK", "EVENTTOK", "FLOATINGPOINTTOK", "FLOATTOK", "INTEGERTOK", "INTTOK", "LONGTOK", "SHORTTOK", "SIGNEDTOK", "STREAMTOK", "STRINGTOK", "STRUCTTOK", "TRACETOK", "TYPEALIASTOK", "TYPEDEFTOK", "UNSIGNEDTOK", "VARIANTTOK", "VOIDTOK", "BOOLTOK", "COMPLEXTOK", "IMAGINARYTOK", "ENVTOK", "CLOCKTOK", "CALLSITETOK", "NANNUMBERTOK", "INFINITYTOK", "NINFINITYTOK", "SEPARATOR", "COLON", "ELIPSES", "ASSIGNMENT", "TYPE_ASSIGNMENT", "LT", "GT", "OPENBRAC", "CLOSEBRAC", "LPAREN", "RPAREN", "LCURL", "RCURL", "TERM", "POINTER", "SIGN", "ARROW", "DOT", "BACKSLASH", "INTEGER_TYPES_SUFFIX", "OCTAL_LITERAL", "DIGIT", "DECIMAL_LITERAL", "HEX_PREFIX", "HEX_DIGIT", "HEX_LITERAL", "NONZERO_DIGIT", "OCTAL_ESCAPE", "UNICODE_ESCAPE", "HEXADECIMAL_ESCAPE", "ESCAPE_SEQUENCE", "STRINGPREFIX", "SINGLEQUOTE", "CHAR_CONTENT", "CHARACTER_LITERAL", "DOUBLEQUOTE", "STRING_CONTENT", "STRING_LITERAL", "WS", "COMMENT_OPEN", "COMMENT_CLOSE", "COMMENT", "LINE_COMMENT", "NONDIGIT", "IDENTIFIER", "ROOT", "EVENT", "STREAM", "TRACE", "ENV", "CLOCK", "CALLSITE", "DECLARATION", "SV_DECLARATION", "TYPE_SPECIFIER_LIST", "TYPE_DECLARATOR_LIST", "TYPE_DECLARATOR", "STRUCT", "STRUCT_NAME", "STRUCT_BODY", "ALIGN", "CTF_EXPRESSION_TYPE", "CTF_EXPRESSION_VAL", "CTF_LEFT", "CTF_RIGHT", "UNARY_EXPRESSION_STRING", "UNARY_EXPRESSION_STRING_QUOTES", "UNARY_EXPRESSION_DEC", "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT", "LENGTH", "TYPEDEF", "TYPEALIAS", "TYPEALIAS_TARGET", "TYPEALIAS_ALIAS", "INTEGER", "STRING", "FLOATING_POINT", "ENUM", "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME", "ENUM_VALUE", "ENUM_VALUE_RANGE", "ENUM_BODY", "VARIANT", "VARIANT_NAME", "VARIANT_TAG", "VARIANT_BODY", "DECLARATOR"
35 public static final int SIGN
=50;
36 public static final int LT
=40;
37 public static final int TYPEDEFTOK
=22;
38 public static final int VARIANT_NAME
=121;
39 public static final int ENV
=84;
40 public static final int INTEGER_TYPES_SUFFIX
=54;
41 public static final int POINTER
=49;
42 public static final int TRACE
=83;
43 public static final int HEX_PREFIX
=58;
44 public static final int INTTOK
=13;
45 public static final int SEPARATOR
=35;
46 public static final int ENUMTOK
=8;
47 public static final int COMPLEXTOK
=27;
48 public static final int IMAGINARYTOK
=28;
49 public static final int STREAMTOK
=17;
50 public static final int EOF
=-1;
51 public static final int UNARY_EXPRESSION_OCT
=104;
52 public static final int ENUM_VALUE
=117;
53 public static final int UNSIGNEDTOK
=23;
54 public static final int ENUM_NAME
=116;
55 public static final int RPAREN
=45;
56 public static final int CHAR_CONTENT
=68;
57 public static final int STRING_LITERAL
=72;
58 public static final int UNARY_EXPRESSION_STRING_QUOTES
=101;
59 public static final int ALIGNTOK
=4;
60 public static final int FLOATTOK
=11;
61 public static final int STRUCT_BODY
=94;
62 public static final int ENUM_BODY
=119;
63 public static final int COMMENT_CLOSE
=75;
64 public static final int STRINGTOK
=18;
65 public static final int COMMENT
=76;
66 public static final int STREAM
=82;
67 public static final int UNARY_EXPRESSION_HEX
=103;
68 public static final int UNARY_EXPRESSION_DEC
=102;
69 public static final int FLOATINGPOINTTOK
=10;
70 public static final int LINE_COMMENT
=77;
71 public static final int CTF_EXPRESSION_TYPE
=96;
72 public static final int DOUBLETOK
=7;
73 public static final int TYPE_DECLARATOR
=91;
74 public static final int CHARACTER_LITERAL
=69;
75 public static final int STRUCT_NAME
=93;
76 public static final int OCTAL_ESCAPE
=62;
77 public static final int VARIANT
=120;
78 public static final int NANNUMBERTOK
=32;
79 public static final int ENUM_ENUMERATOR
=115;
80 public static final int FLOATING_POINT
=112;
81 public static final int DECLARATOR
=124;
82 public static final int SIGNEDTOK
=16;
83 public static final int CHARTOK
=6;
84 public static final int WS
=73;
85 public static final int INTEGERTOK
=12;
86 public static final int VARIANT_BODY
=123;
87 public static final int NONDIGIT
=78;
88 public static final int GT
=41;
89 public static final int TYPEALIAS_TARGET
=108;
90 public static final int DECIMAL_LITERAL
=57;
91 public static final int BACKSLASH
=53;
92 public static final int CLOSEBRAC
=43;
93 public static final int TERM
=48;
94 public static final int BOOLTOK
=26;
95 public static final int CTF_RIGHT
=99;
96 public static final int TYPE_DECLARATOR_LIST
=90;
97 public static final int STRING_CONTENT
=71;
98 public static final int TYPE_ASSIGNMENT
=39;
99 public static final int ENUM_CONTAINER_TYPE
=114;
100 public static final int DOUBLEQUOTE
=70;
101 public static final int ENUM_VALUE_RANGE
=118;
102 public static final int DECLARATION
=87;
103 public static final int LENGTH
=105;
104 public static final int INFINITYTOK
=33;
105 public static final int LPAREN
=44;
106 public static final int STRINGPREFIX
=66;
107 public static final int CTF_EXPRESSION_VAL
=97;
108 public static final int ESCAPE_SEQUENCE
=65;
109 public static final int UNICODE_ESCAPE
=63;
110 public static final int CALLSITETOK
=31;
111 public static final int SINGLEQUOTE
=67;
112 public static final int IDENTIFIER
=79;
113 public static final int HEX_LITERAL
=60;
114 public static final int ALIGN
=95;
115 public static final int DIGIT
=56;
116 public static final int DOT
=52;
117 public static final int ENVTOK
=29;
118 public static final int STRUCTTOK
=19;
119 public static final int TYPEALIASTOK
=21;
120 public static final int OPENBRAC
=42;
121 public static final int CLOCK
=85;
122 public static final int INTEGER
=110;
123 public static final int TYPEALIAS
=107;
124 public static final int CALLSITE
=86;
125 public static final int EVENTTOK
=9;
126 public static final int NINFINITYTOK
=34;
127 public static final int TYPEDEF
=106;
128 public static final int VOIDTOK
=25;
129 public static final int TYPE_SPECIFIER_LIST
=89;
130 public static final int OCTAL_LITERAL
=55;
131 public static final int COMMENT_OPEN
=74;
132 public static final int HEX_DIGIT
=59;
133 public static final int STRUCT
=92;
134 public static final int EVENT
=81;
135 public static final int LONGTOK
=14;
136 public static final int ROOT
=80;
137 public static final int CTF_LEFT
=98;
138 public static final int CLOCKTOK
=30;
139 public static final int TRACETOK
=20;
140 public static final int COLON
=36;
141 public static final int HEXADECIMAL_ESCAPE
=64;
142 public static final int LCURL
=46;
143 public static final int VARIANTTOK
=24;
144 public static final int VARIANT_TAG
=122;
145 public static final int ENUM
=113;
146 public static final int ELIPSES
=37;
147 public static final int RCURL
=47;
148 public static final int TYPEALIAS_ALIAS
=109;
149 public static final int UNARY_EXPRESSION_STRING
=100;
150 public static final int ARROW
=51;
151 public static final int ASSIGNMENT
=38;
152 public static final int SHORTTOK
=15;
153 public static final int SV_DECLARATION
=88;
154 public static final int NONZERO_DIGIT
=61;
155 public static final int CONSTTOK
=5;
156 public static final int STRING
=111;
161 protected static class Symbols_scope
{
164 protected Stack Symbols_stack
= new Stack();
167 public CTFParser(TokenStream input
) {
168 this(input
, new RecognizerSharedState());
170 public CTFParser(TokenStream input
, RecognizerSharedState state
) {
175 protected TreeAdaptor adaptor
= new CommonTreeAdaptor();
177 public void setTreeAdaptor(TreeAdaptor adaptor
) {
178 this.adaptor
= adaptor
;
180 public TreeAdaptor
getTreeAdaptor() {
184 public String
[] getTokenNames() { return CTFParser
.tokenNames
; }
185 public String
getGrammarFileName() { return "CTFParser.g"; }
188 public CTFParser(TokenStream input
, boolean verbose
) {
190 this.verbose
= verbose
;
193 /* To disable automatic error recovery. When we have a mismatched token, simply throw an exception. */
195 protected Object
recoverFromMismatchedToken(IntStream input
, int ttype
, BitSet follow
) throws RecognitionException
197 throw new MismatchedTokenException(ttype
, input
);
201 * Checks if a given name has been defined has a type.
202 * From: http://www.antlr.org/grammar/1153358328744/C.g
204 * @param name The name to check.
205 * @return True if is is a type, false otherwise.
207 boolean isTypeName(String name
) {
208 for (int i
= Symbols_stack
.size() - 1; i
>= 0; i
--) {
209 Symbols_scope scope
= (Symbols_scope
)Symbols_stack
.get(i
);
210 if (scope
.types
.contains(name
)) {
217 void addTypeName(String name
) {
218 ((Symbols_scope
)Symbols_stack
.peek()).types
.add(name
);
220 debug_print("New type: " + name
);
224 boolean _inTypedef
= false;
227 debug_print("typedefOn");
232 debug_print("typedefOff");
236 boolean inTypedef() {
240 boolean _inTypealiasAlias
= false;
242 void typealiasAliasOn() {
243 debug_print("typealiasAliasOn");
244 _inTypealiasAlias
= true;
247 void typealiasAliasOff() {
248 debug_print("typealiasAliasOff");
249 _inTypealiasAlias
= false;
252 boolean inTypealiasAlias() {
253 return _inTypealiasAlias
;
256 void print_tabs(int n
) {
257 for (int i
= 0; i
< n
; i
++) {
258 System
.out
.print(" ");
262 void enter(String name
) {
264 if (state
.backtracking
== 0) {
266 debug_print("+ " + name
);
272 void exit(String name
) {
276 debug_print("- " + name
);
280 void debug_print(String str
) {
282 System
.out
.println(str
);
288 /* Prints rule entry and exit while parsing */
289 boolean verbose
= false;
292 public static class parse_return
extends ParserRuleReturnScope
{
294 public Object
getTree() { return tree
; }
297 // $ANTLR start "parse"
298 // CTFParser.g:199:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
299 public final CTFParser
.parse_return
parse() throws RecognitionException
{
300 Symbols_stack
.push(new Symbols_scope());
302 CTFParser
.parse_return retval
= new CTFParser
.parse_return();
303 retval
.start
= input
.LT(1);
305 CommonTree root_0
= null;
308 CTFParser
.declaration_return declaration1
= null;
311 CommonTree EOF2_tree
=null;
312 RewriteRuleTokenStream stream_EOF
=new RewriteRuleTokenStream(adaptor
,"token EOF");
313 RewriteRuleSubtreeStream stream_declaration
=new RewriteRuleSubtreeStream(adaptor
,"rule declaration");
316 debug_print("Scope push " + Symbols_stack
.size());
317 ((Symbols_scope
)Symbols_stack
.peek()).types
= new HashSet
<String
>();
320 // CTFParser.g:212:1: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
321 // CTFParser.g:213:3: ( declaration )+ EOF
323 // CTFParser.g:213:3: ( declaration )+
328 int LA1_0
= input
.LA(1);
330 if ( ((LA1_0
>=CONSTTOK
&& LA1_0
<=ENUMTOK
)||(LA1_0
>=FLOATINGPOINTTOK
&& LA1_0
<=SIGNEDTOK
)||(LA1_0
>=STRINGTOK
&& LA1_0
<=STRUCTTOK
)||(LA1_0
>=TYPEDEFTOK
&& LA1_0
<=IMAGINARYTOK
)) ) {
333 else if ( (LA1_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
336 else if ( (LA1_0
==EVENTTOK
||LA1_0
==STREAMTOK
||(LA1_0
>=TRACETOK
&& LA1_0
<=TYPEALIASTOK
)||(LA1_0
>=ENVTOK
&& LA1_0
<=CALLSITETOK
)) ) {
343 // CTFParser.g:213:3: declaration
345 pushFollow(FOLLOW_declaration_in_parse325
);
346 declaration1
=declaration();
352 if ( state
.backtracking
==0 ) {
353 stream_declaration
.add(declaration1
.getTree());
363 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
364 EarlyExitException eee
=
365 new EarlyExitException(1, input
);
371 EOF2
=(Token
)match(input
,EOF
,FOLLOW_EOF_in_parse328
); if (state
.failed
) {
374 if ( state
.backtracking
==0 ) {
375 stream_EOF
.add(EOF2
);
381 // elements: declaration
383 // rule labels: retval
384 // token list labels:
387 if ( state
.backtracking
==0 ) {
388 retval
.tree
= root_0
;
389 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
391 root_0
= (CommonTree
)adaptor
.nil();
392 // 213:20: -> ^( ROOT ( declaration )+ )
394 // CTFParser.g:213:23: ^( ROOT ( declaration )+ )
396 CommonTree root_1
= (CommonTree
)adaptor
.nil();
397 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ROOT
, "ROOT"), root_1
);
399 if ( !(stream_declaration
.hasNext()) ) {
400 throw new RewriteEarlyExitException();
402 while ( stream_declaration
.hasNext() ) {
403 adaptor
.addChild(root_1
, stream_declaration
.nextTree());
406 stream_declaration
.reset();
408 adaptor
.addChild(root_0
, root_1
);
413 retval
.tree
= root_0
;}
416 retval
.stop
= input
.LT(-1);
418 if ( state
.backtracking
==0 ) {
420 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
421 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
423 if ( state
.backtracking
==0 ) {
425 debug_print("Scope pop " + Symbols_stack
.size());
428 debug_print("Final depth, should be 0: " + depth
);
433 catch (RecognitionException e
)
443 // $ANTLR end "parse"
445 public static class numberLiteral_return
extends ParserRuleReturnScope
{
447 public Object
getTree() { return tree
; }
450 // $ANTLR start "numberLiteral"
451 // CTFParser.g:216:1: numberLiteral : ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) ;
452 public final CTFParser
.numberLiteral_return
numberLiteral() throws RecognitionException
{
453 CTFParser
.numberLiteral_return retval
= new CTFParser
.numberLiteral_return();
454 retval
.start
= input
.LT(1);
456 CommonTree root_0
= null;
459 Token HEX_LITERAL4
=null;
460 Token DECIMAL_LITERAL5
=null;
461 Token OCTAL_LITERAL6
=null;
463 CommonTree SIGN3_tree
=null;
464 CommonTree HEX_LITERAL4_tree
=null;
465 CommonTree DECIMAL_LITERAL5_tree
=null;
466 CommonTree OCTAL_LITERAL6_tree
=null;
467 RewriteRuleTokenStream stream_SIGN
=new RewriteRuleTokenStream(adaptor
,"token SIGN");
468 RewriteRuleTokenStream stream_OCTAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token OCTAL_LITERAL");
469 RewriteRuleTokenStream stream_HEX_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token HEX_LITERAL");
470 RewriteRuleTokenStream stream_DECIMAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token DECIMAL_LITERAL");
473 enter("numberLiteral");
476 // CTFParser.g:224:1: ( ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) )
477 // CTFParser.g:225:3: ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
479 // CTFParser.g:225:3: ( SIGN )*
483 int LA2_0
= input
.LA(1);
485 if ( (LA2_0
==SIGN
) ) {
492 // CTFParser.g:225:3: SIGN
494 SIGN3
=(Token
)match(input
,SIGN
,FOLLOW_SIGN_in_numberLiteral361
); if (state
.failed
) {
497 if ( state
.backtracking
==0 ) {
498 stream_SIGN
.add(SIGN3
);
510 // CTFParser.g:225:10: ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
512 switch ( input
.LA(1) ) {
518 case DECIMAL_LITERAL
:
529 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
530 NoViableAltException nvae
=
531 new NoViableAltException("", 3, 0, input
);
538 // CTFParser.g:225:11: HEX_LITERAL
540 HEX_LITERAL4
=(Token
)match(input
,HEX_LITERAL
,FOLLOW_HEX_LITERAL_in_numberLiteral366
); if (state
.failed
) {
543 if ( state
.backtracking
==0 ) {
544 stream_HEX_LITERAL
.add(HEX_LITERAL4
);
550 // elements: SIGN, HEX_LITERAL
552 // rule labels: retval
553 // token list labels:
556 if ( state
.backtracking
==0 ) {
557 retval
.tree
= root_0
;
558 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
560 root_0
= (CommonTree
)adaptor
.nil();
561 // 225:23: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
563 // CTFParser.g:225:26: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
565 CommonTree root_1
= (CommonTree
)adaptor
.nil();
566 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_HEX
, "UNARY_EXPRESSION_HEX"), root_1
);
568 adaptor
.addChild(root_1
, stream_HEX_LITERAL
.nextNode());
569 // CTFParser.g:225:61: ( SIGN )*
570 while ( stream_SIGN
.hasNext() ) {
571 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
576 adaptor
.addChild(root_0
, root_1
);
581 retval
.tree
= root_0
;}
585 // CTFParser.g:226:5: DECIMAL_LITERAL
587 DECIMAL_LITERAL5
=(Token
)match(input
,DECIMAL_LITERAL
,FOLLOW_DECIMAL_LITERAL_in_numberLiteral383
); if (state
.failed
) {
590 if ( state
.backtracking
==0 ) {
591 stream_DECIMAL_LITERAL
.add(DECIMAL_LITERAL5
);
597 // elements: DECIMAL_LITERAL, SIGN
599 // rule labels: retval
600 // token list labels:
603 if ( state
.backtracking
==0 ) {
604 retval
.tree
= root_0
;
605 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
607 root_0
= (CommonTree
)adaptor
.nil();
608 // 226:21: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
610 // CTFParser.g:226:24: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
612 CommonTree root_1
= (CommonTree
)adaptor
.nil();
613 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_DEC
, "UNARY_EXPRESSION_DEC"), root_1
);
615 adaptor
.addChild(root_1
, stream_DECIMAL_LITERAL
.nextNode());
616 // CTFParser.g:226:63: ( SIGN )*
617 while ( stream_SIGN
.hasNext() ) {
618 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
623 adaptor
.addChild(root_0
, root_1
);
628 retval
.tree
= root_0
;}
632 // CTFParser.g:227:5: OCTAL_LITERAL
634 OCTAL_LITERAL6
=(Token
)match(input
,OCTAL_LITERAL
,FOLLOW_OCTAL_LITERAL_in_numberLiteral400
); if (state
.failed
) {
637 if ( state
.backtracking
==0 ) {
638 stream_OCTAL_LITERAL
.add(OCTAL_LITERAL6
);
644 // elements: OCTAL_LITERAL, SIGN
646 // rule labels: retval
647 // token list labels:
650 if ( state
.backtracking
==0 ) {
651 retval
.tree
= root_0
;
652 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
654 root_0
= (CommonTree
)adaptor
.nil();
655 // 227:19: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
657 // CTFParser.g:227:22: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
659 CommonTree root_1
= (CommonTree
)adaptor
.nil();
660 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_OCT
, "UNARY_EXPRESSION_OCT"), root_1
);
662 adaptor
.addChild(root_1
, stream_OCTAL_LITERAL
.nextNode());
663 // CTFParser.g:227:59: ( SIGN )*
664 while ( stream_SIGN
.hasNext() ) {
665 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
670 adaptor
.addChild(root_0
, root_1
);
675 retval
.tree
= root_0
;}
684 retval
.stop
= input
.LT(-1);
686 if ( state
.backtracking
==0 ) {
688 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
689 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
691 if ( state
.backtracking
==0 ) {
693 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
694 exit("numberLiteral");
699 catch (RecognitionException e
)
707 // $ANTLR end "numberLiteral"
709 public static class constant_return
extends ParserRuleReturnScope
{
711 public Object
getTree() { return tree
; }
714 // $ANTLR start "constant"
715 // CTFParser.g:230:1: constant : ( numberLiteral | enumConstant | CHARACTER_LITERAL );
716 public final CTFParser
.constant_return
constant() throws RecognitionException
{
717 CTFParser
.constant_return retval
= new CTFParser
.constant_return();
718 retval
.start
= input
.LT(1);
720 CommonTree root_0
= null;
722 Token CHARACTER_LITERAL9
=null;
723 CTFParser
.numberLiteral_return numberLiteral7
= null;
725 CTFParser
.enumConstant_return enumConstant8
= null;
728 CommonTree CHARACTER_LITERAL9_tree
=null;
734 // CTFParser.g:237:1: ( numberLiteral | enumConstant | CHARACTER_LITERAL )
736 switch ( input
.LA(1) ) {
739 case DECIMAL_LITERAL
:
755 case CHARACTER_LITERAL
:
761 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
762 NoViableAltException nvae
=
763 new NoViableAltException("", 4, 0, input
);
770 // CTFParser.g:238:4: numberLiteral
772 root_0
= (CommonTree
)adaptor
.nil();
774 pushFollow(FOLLOW_numberLiteral_in_constant436
);
775 numberLiteral7
=numberLiteral();
781 if ( state
.backtracking
==0 ) {
782 adaptor
.addChild(root_0
, numberLiteral7
.getTree());
788 // CTFParser.g:239:5: enumConstant
790 root_0
= (CommonTree
)adaptor
.nil();
792 pushFollow(FOLLOW_enumConstant_in_constant442
);
793 enumConstant8
=enumConstant();
799 if ( state
.backtracking
==0 ) {
800 adaptor
.addChild(root_0
, enumConstant8
.getTree());
806 // CTFParser.g:240:5: CHARACTER_LITERAL
808 root_0
= (CommonTree
)adaptor
.nil();
810 CHARACTER_LITERAL9
=(Token
)match(input
,CHARACTER_LITERAL
,FOLLOW_CHARACTER_LITERAL_in_constant448
); if (state
.failed
) {
813 if ( state
.backtracking
==0 ) {
814 CHARACTER_LITERAL9_tree
= (CommonTree
)adaptor
.create(CHARACTER_LITERAL9
);
815 adaptor
.addChild(root_0
, CHARACTER_LITERAL9_tree
);
822 retval
.stop
= input
.LT(-1);
824 if ( state
.backtracking
==0 ) {
826 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
827 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
829 if ( state
.backtracking
==0 ) {
836 catch (RecognitionException e
)
844 // $ANTLR end "constant"
846 public static class primaryExpression_return
extends ParserRuleReturnScope
{
848 public Object
getTree() { return tree
; }
851 // $ANTLR start "primaryExpression"
852 // CTFParser.g:243:1: primaryExpression : ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | constant );
853 public final CTFParser
.primaryExpression_return
primaryExpression() throws RecognitionException
{
854 CTFParser
.primaryExpression_return retval
= new CTFParser
.primaryExpression_return();
855 retval
.start
= input
.LT(1);
857 CommonTree root_0
= null;
859 Token IDENTIFIER10
=null;
860 Token STRING_LITERAL12
=null;
861 CTFParser
.ctfKeyword_return ctfKeyword11
= null;
863 CTFParser
.constant_return constant13
= null;
866 CommonTree IDENTIFIER10_tree
=null;
867 CommonTree STRING_LITERAL12_tree
=null;
868 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
869 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
870 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
872 enter("primaryExpression");
875 // CTFParser.g:250:1: ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | constant )
877 switch ( input
.LA(1) ) {
880 int LA5_1
= input
.LA(2);
882 if ( (synpred1_CTFParser()) ) {
889 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
890 NoViableAltException nvae
=
891 new NoViableAltException("", 5, 1, input
);
902 int LA5_2
= input
.LA(2);
904 if ( (synpred2_CTFParser()) ) {
911 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
912 NoViableAltException nvae
=
913 new NoViableAltException("", 5, 2, input
);
921 int LA5_3
= input
.LA(2);
923 if ( (synpred3_CTFParser()) ) {
930 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
931 NoViableAltException nvae
=
932 new NoViableAltException("", 5, 3, input
);
940 case DECIMAL_LITERAL
:
942 case CHARACTER_LITERAL
:
948 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
949 NoViableAltException nvae
=
950 new NoViableAltException("", 5, 0, input
);
957 // CTFParser.g:251:5: ( IDENTIFIER )=> IDENTIFIER
959 IDENTIFIER10
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_primaryExpression479
); if (state
.failed
) {
962 if ( state
.backtracking
==0 ) {
963 stream_IDENTIFIER
.add(IDENTIFIER10
);
966 if ( state
.backtracking
==0 ) {
967 debug_print("IDENTIFIER: " + (IDENTIFIER10
!=null?IDENTIFIER10
.getText():null));
972 // elements: IDENTIFIER
974 // rule labels: retval
975 // token list labels:
978 if ( state
.backtracking
==0 ) {
979 retval
.tree
= root_0
;
980 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
982 root_0
= (CommonTree
)adaptor
.nil();
983 // 251:83: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
985 // CTFParser.g:251:86: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
987 CommonTree root_1
= (CommonTree
)adaptor
.nil();
988 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
990 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
992 adaptor
.addChild(root_0
, root_1
);
997 retval
.tree
= root_0
;}
1001 // CTFParser.g:252:5: ( ctfKeyword )=> ctfKeyword
1003 pushFollow(FOLLOW_ctfKeyword_in_primaryExpression501
);
1004 ctfKeyword11
=ctfKeyword();
1010 if ( state
.backtracking
==0 ) {
1011 stream_ctfKeyword
.add(ctfKeyword11
.getTree());
1016 // elements: ctfKeyword
1018 // rule labels: retval
1019 // token list labels:
1020 // rule list labels:
1022 if ( state
.backtracking
==0 ) {
1023 retval
.tree
= root_0
;
1024 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1026 root_0
= (CommonTree
)adaptor
.nil();
1027 // 252:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
1029 // CTFParser.g:252:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
1031 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1032 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1034 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
1036 adaptor
.addChild(root_0
, root_1
);
1041 retval
.tree
= root_0
;}
1045 // CTFParser.g:253:5: ( STRING_LITERAL )=> STRING_LITERAL
1047 STRING_LITERAL12
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_primaryExpression521
); if (state
.failed
) {
1050 if ( state
.backtracking
==0 ) {
1051 stream_STRING_LITERAL
.add(STRING_LITERAL12
);
1054 if ( state
.backtracking
==0 ) {
1055 debug_print("STRING_LITERAL: " + (STRING_LITERAL12
!=null?STRING_LITERAL12
.getText():null));
1060 // elements: STRING_LITERAL
1062 // rule labels: retval
1063 // token list labels:
1064 // rule list labels:
1066 if ( state
.backtracking
==0 ) {
1067 retval
.tree
= root_0
;
1068 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1070 root_0
= (CommonTree
)adaptor
.nil();
1071 // 253:99: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1073 // CTFParser.g:253:102: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1075 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1076 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
1078 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
1080 adaptor
.addChild(root_0
, root_1
);
1085 retval
.tree
= root_0
;}
1089 // CTFParser.g:255:5: constant
1091 root_0
= (CommonTree
)adaptor
.nil();
1093 pushFollow(FOLLOW_constant_in_primaryExpression542
);
1094 constant13
=constant();
1100 if ( state
.backtracking
==0 ) {
1101 adaptor
.addChild(root_0
, constant13
.getTree());
1108 retval
.stop
= input
.LT(-1);
1110 if ( state
.backtracking
==0 ) {
1112 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1113 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1115 if ( state
.backtracking
==0 ) {
1117 exit("primaryExpression");
1122 catch (RecognitionException e
)
1130 // $ANTLR end "primaryExpression"
1132 public static class reference_return
extends ParserRuleReturnScope
{
1134 public Object
getTree() { return tree
; }
1137 // $ANTLR start "reference"
1138 // CTFParser.g:258:1: reference : (ref= DOT | ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) ;
1139 public final CTFParser
.reference_return
reference() throws RecognitionException
{
1140 CTFParser
.reference_return retval
= new CTFParser
.reference_return();
1141 retval
.start
= input
.LT(1);
1143 CommonTree root_0
= null;
1146 Token IDENTIFIER14
=null;
1148 CommonTree ref_tree
=null;
1149 CommonTree IDENTIFIER14_tree
=null;
1150 RewriteRuleTokenStream stream_ARROW
=new RewriteRuleTokenStream(adaptor
,"token ARROW");
1151 RewriteRuleTokenStream stream_DOT
=new RewriteRuleTokenStream(adaptor
,"token DOT");
1152 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
1158 // CTFParser.g:266:1: ( (ref= DOT | ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
1159 // CTFParser.g:267:3: (ref= DOT | ref= ARROW ) IDENTIFIER
1161 // CTFParser.g:267:3: (ref= DOT | ref= ARROW )
1163 int LA6_0
= input
.LA(1);
1165 if ( (LA6_0
==DOT
) ) {
1168 else if ( (LA6_0
==ARROW
) ) {
1172 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1173 NoViableAltException nvae
=
1174 new NoViableAltException("", 6, 0, input
);
1180 // CTFParser.g:267:4: ref= DOT
1182 ref
=(Token
)match(input
,DOT
,FOLLOW_DOT_in_reference568
); if (state
.failed
) {
1185 if ( state
.backtracking
==0 ) {
1186 stream_DOT
.add(ref
);
1193 // CTFParser.g:267:14: ref= ARROW
1195 ref
=(Token
)match(input
,ARROW
,FOLLOW_ARROW_in_reference574
); if (state
.failed
) {
1198 if ( state
.backtracking
==0 ) {
1199 stream_ARROW
.add(ref
);
1208 IDENTIFIER14
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_reference577
); if (state
.failed
) {
1211 if ( state
.backtracking
==0 ) {
1212 stream_IDENTIFIER
.add(IDENTIFIER14
);
1218 // elements: IDENTIFIER, ref
1219 // token labels: ref
1220 // rule labels: retval
1221 // token list labels:
1222 // rule list labels:
1224 if ( state
.backtracking
==0 ) {
1225 retval
.tree
= root_0
;
1226 RewriteRuleTokenStream stream_ref
=new RewriteRuleTokenStream(adaptor
,"token ref",ref
);
1227 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1229 root_0
= (CommonTree
)adaptor
.nil();
1230 // 267:36: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1232 // CTFParser.g:267:39: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1234 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1235 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ref
.nextNode(), root_1
);
1237 // CTFParser.g:267:46: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1239 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1240 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_2
);
1242 adaptor
.addChild(root_2
, stream_IDENTIFIER
.nextNode());
1244 adaptor
.addChild(root_1
, root_2
);
1247 adaptor
.addChild(root_0
, root_1
);
1252 retval
.tree
= root_0
;}
1255 retval
.stop
= input
.LT(-1);
1257 if ( state
.backtracking
==0 ) {
1259 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1260 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1262 if ( state
.backtracking
==0 ) {
1264 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
1270 catch (RecognitionException e
)
1278 // $ANTLR end "reference"
1280 public static class postfixExpressionSuffix_return
extends ParserRuleReturnScope
{
1282 public Object
getTree() { return tree
; }
1285 // $ANTLR start "postfixExpressionSuffix"
1286 // CTFParser.g:270:1: postfixExpressionSuffix : ( ( OPENBRAC unaryExpression CLOSEBRAC ) | reference );
1287 public final CTFParser
.postfixExpressionSuffix_return
postfixExpressionSuffix() throws RecognitionException
{
1288 CTFParser
.postfixExpressionSuffix_return retval
= new CTFParser
.postfixExpressionSuffix_return();
1289 retval
.start
= input
.LT(1);
1291 CommonTree root_0
= null;
1293 Token OPENBRAC15
=null;
1294 Token CLOSEBRAC17
=null;
1295 CTFParser
.unaryExpression_return unaryExpression16
= null;
1297 CTFParser
.reference_return reference18
= null;
1300 CommonTree OPENBRAC15_tree
=null;
1301 CommonTree CLOSEBRAC17_tree
=null;
1304 enter("postfixExpressionSuffix");
1307 // CTFParser.g:277:1: ( ( OPENBRAC unaryExpression CLOSEBRAC ) | reference )
1309 int LA7_0
= input
.LA(1);
1311 if ( (LA7_0
==OPENBRAC
) ) {
1314 else if ( ((LA7_0
>=ARROW
&& LA7_0
<=DOT
)) ) {
1318 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1319 NoViableAltException nvae
=
1320 new NoViableAltException("", 7, 0, input
);
1326 // CTFParser.g:278:5: ( OPENBRAC unaryExpression CLOSEBRAC )
1328 root_0
= (CommonTree
)adaptor
.nil();
1330 // CTFParser.g:278:5: ( OPENBRAC unaryExpression CLOSEBRAC )
1331 // CTFParser.g:278:6: OPENBRAC unaryExpression CLOSEBRAC
1333 OPENBRAC15
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_postfixExpressionSuffix616
); if (state
.failed
) {
1336 if ( state
.backtracking
==0 ) {
1337 OPENBRAC15_tree
= (CommonTree
)adaptor
.create(OPENBRAC15
);
1338 adaptor
.addChild(root_0
, OPENBRAC15_tree
);
1340 pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix618
);
1341 unaryExpression16
=unaryExpression();
1347 if ( state
.backtracking
==0 ) {
1348 adaptor
.addChild(root_0
, unaryExpression16
.getTree());
1350 CLOSEBRAC17
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix620
); if (state
.failed
) {
1360 // CTFParser.g:279:5: reference
1362 root_0
= (CommonTree
)adaptor
.nil();
1364 pushFollow(FOLLOW_reference_in_postfixExpressionSuffix628
);
1365 reference18
=reference();
1371 if ( state
.backtracking
==0 ) {
1372 adaptor
.addChild(root_0
, reference18
.getTree());
1379 retval
.stop
= input
.LT(-1);
1381 if ( state
.backtracking
==0 ) {
1383 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1384 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1386 if ( state
.backtracking
==0 ) {
1388 exit("postfixExpressionSuffix");
1393 catch (RecognitionException e
)
1401 // $ANTLR end "postfixExpressionSuffix"
1403 public static class postfixExpression_return
extends ParserRuleReturnScope
{
1405 public Object
getTree() { return tree
; }
1408 // $ANTLR start "postfixExpression"
1409 // CTFParser.g:282:1: postfixExpression : ( ( primaryExpression ) ( postfixExpressionSuffix )* | ( ( ctfSpecifierHead ) ( postfixExpressionSuffix )+ ) );
1410 public final CTFParser
.postfixExpression_return
postfixExpression() throws RecognitionException
{
1411 CTFParser
.postfixExpression_return retval
= new CTFParser
.postfixExpression_return();
1412 retval
.start
= input
.LT(1);
1414 CommonTree root_0
= null;
1416 CTFParser
.primaryExpression_return primaryExpression19
= null;
1418 CTFParser
.postfixExpressionSuffix_return postfixExpressionSuffix20
= null;
1420 CTFParser
.ctfSpecifierHead_return ctfSpecifierHead21
= null;
1422 CTFParser
.postfixExpressionSuffix_return postfixExpressionSuffix22
= null;
1427 enter("postfixExpression");
1430 // CTFParser.g:289:1: ( ( primaryExpression ) ( postfixExpressionSuffix )* | ( ( ctfSpecifierHead ) ( postfixExpressionSuffix )+ ) )
1432 alt10
= dfa10
.predict(input
);
1435 // CTFParser.g:290:3: ( primaryExpression ) ( postfixExpressionSuffix )*
1437 root_0
= (CommonTree
)adaptor
.nil();
1439 // CTFParser.g:290:3: ( primaryExpression )
1440 // CTFParser.g:290:4: primaryExpression
1442 pushFollow(FOLLOW_primaryExpression_in_postfixExpression652
);
1443 primaryExpression19
=primaryExpression();
1449 if ( state
.backtracking
==0 ) {
1450 adaptor
.addChild(root_0
, primaryExpression19
.getTree());
1455 // CTFParser.g:290:23: ( postfixExpressionSuffix )*
1459 int LA8_0
= input
.LA(1);
1461 if ( (LA8_0
==OPENBRAC
||(LA8_0
>=ARROW
&& LA8_0
<=DOT
)) ) {
1468 // CTFParser.g:290:24: postfixExpressionSuffix
1470 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression656
);
1471 postfixExpressionSuffix20
=postfixExpressionSuffix();
1477 if ( state
.backtracking
==0 ) {
1478 adaptor
.addChild(root_0
, postfixExpressionSuffix20
.getTree());
1493 // CTFParser.g:291:3: ( ( ctfSpecifierHead ) ( postfixExpressionSuffix )+ )
1495 root_0
= (CommonTree
)adaptor
.nil();
1497 // CTFParser.g:291:3: ( ( ctfSpecifierHead ) ( postfixExpressionSuffix )+ )
1498 // CTFParser.g:291:4: ( ctfSpecifierHead ) ( postfixExpressionSuffix )+
1500 // CTFParser.g:291:4: ( ctfSpecifierHead )
1501 // CTFParser.g:291:5: ctfSpecifierHead
1503 pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression665
);
1504 ctfSpecifierHead21
=ctfSpecifierHead();
1510 if ( state
.backtracking
==0 ) {
1511 adaptor
.addChild(root_0
, ctfSpecifierHead21
.getTree());
1516 // CTFParser.g:291:24: ( postfixExpressionSuffix )+
1521 int LA9_0
= input
.LA(1);
1523 if ( (LA9_0
==OPENBRAC
||(LA9_0
>=ARROW
&& LA9_0
<=DOT
)) ) {
1530 // CTFParser.g:291:25: postfixExpressionSuffix
1532 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression670
);
1533 postfixExpressionSuffix22
=postfixExpressionSuffix();
1539 if ( state
.backtracking
==0 ) {
1540 adaptor
.addChild(root_0
, postfixExpressionSuffix22
.getTree());
1550 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1551 EarlyExitException eee
=
1552 new EarlyExitException(9, input
);
1566 retval
.stop
= input
.LT(-1);
1568 if ( state
.backtracking
==0 ) {
1570 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1571 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1573 if ( state
.backtracking
==0 ) {
1575 exit("postfixExpression");
1580 catch (RecognitionException e
)
1588 // $ANTLR end "postfixExpression"
1590 public static class unaryExpression_return
extends ParserRuleReturnScope
{
1592 public Object
getTree() { return tree
; }
1595 // $ANTLR start "unaryExpression"
1596 // CTFParser.g:294:1: unaryExpression : postfixExpression ;
1597 public final CTFParser
.unaryExpression_return
unaryExpression() throws RecognitionException
{
1598 CTFParser
.unaryExpression_return retval
= new CTFParser
.unaryExpression_return();
1599 retval
.start
= input
.LT(1);
1601 CommonTree root_0
= null;
1603 CTFParser
.postfixExpression_return postfixExpression23
= null;
1608 enter("unaryExpression");
1611 // CTFParser.g:301:1: ( postfixExpression )
1612 // CTFParser.g:304:5: postfixExpression
1614 root_0
= (CommonTree
)adaptor
.nil();
1616 pushFollow(FOLLOW_postfixExpression_in_unaryExpression704
);
1617 postfixExpression23
=postfixExpression();
1623 if ( state
.backtracking
==0 ) {
1624 adaptor
.addChild(root_0
, postfixExpression23
.getTree());
1629 retval
.stop
= input
.LT(-1);
1631 if ( state
.backtracking
==0 ) {
1633 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1634 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1636 if ( state
.backtracking
==0 ) {
1638 exit("unaryExpression");
1643 catch (RecognitionException e
)
1651 // $ANTLR end "unaryExpression"
1653 public static class enumConstant_return
extends ParserRuleReturnScope
{
1655 public Object
getTree() { return tree
; }
1658 // $ANTLR start "enumConstant"
1659 // CTFParser.g:307:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
1660 public final CTFParser
.enumConstant_return
enumConstant() throws RecognitionException
{
1661 CTFParser
.enumConstant_return retval
= new CTFParser
.enumConstant_return();
1662 retval
.start
= input
.LT(1);
1664 CommonTree root_0
= null;
1666 Token STRING_LITERAL24
=null;
1667 Token IDENTIFIER25
=null;
1668 CTFParser
.ctfKeyword_return ctfKeyword26
= null;
1671 CommonTree STRING_LITERAL24_tree
=null;
1672 CommonTree IDENTIFIER25_tree
=null;
1673 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
1674 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
1675 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
1677 enter("enumConstant");
1680 // CTFParser.g:315:1: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
1682 switch ( input
.LA(1) ) {
1683 case STRING_LITERAL
:
1702 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1703 NoViableAltException nvae
=
1704 new NoViableAltException("", 11, 0, input
);
1711 // CTFParser.g:316:5: STRING_LITERAL
1713 STRING_LITERAL24
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_enumConstant729
); if (state
.failed
) {
1716 if ( state
.backtracking
==0 ) {
1717 stream_STRING_LITERAL
.add(STRING_LITERAL24
);
1723 // elements: STRING_LITERAL
1725 // rule labels: retval
1726 // token list labels:
1727 // rule list labels:
1729 if ( state
.backtracking
==0 ) {
1730 retval
.tree
= root_0
;
1731 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1733 root_0
= (CommonTree
)adaptor
.nil();
1734 // 316:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1736 // CTFParser.g:316:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1738 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1739 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
1741 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
1743 adaptor
.addChild(root_0
, root_1
);
1748 retval
.tree
= root_0
;}
1752 // CTFParser.g:317:7: IDENTIFIER
1754 IDENTIFIER25
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumConstant745
); if (state
.failed
) {
1757 if ( state
.backtracking
==0 ) {
1758 stream_IDENTIFIER
.add(IDENTIFIER25
);
1764 // elements: IDENTIFIER
1766 // rule labels: retval
1767 // token list labels:
1768 // rule list labels:
1770 if ( state
.backtracking
==0 ) {
1771 retval
.tree
= root_0
;
1772 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1774 root_0
= (CommonTree
)adaptor
.nil();
1775 // 317:18: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1777 // CTFParser.g:317:21: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1779 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1780 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1782 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
1784 adaptor
.addChild(root_0
, root_1
);
1789 retval
.tree
= root_0
;}
1793 // CTFParser.g:318:7: ctfKeyword
1795 pushFollow(FOLLOW_ctfKeyword_in_enumConstant761
);
1796 ctfKeyword26
=ctfKeyword();
1802 if ( state
.backtracking
==0 ) {
1803 stream_ctfKeyword
.add(ctfKeyword26
.getTree());
1808 // elements: ctfKeyword
1810 // rule labels: retval
1811 // token list labels:
1812 // rule list labels:
1814 if ( state
.backtracking
==0 ) {
1815 retval
.tree
= root_0
;
1816 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1818 root_0
= (CommonTree
)adaptor
.nil();
1819 // 318:18: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
1821 // CTFParser.g:318:21: ^( UNARY_EXPRESSION_STRING ctfKeyword )
1823 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1824 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1826 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
1828 adaptor
.addChild(root_0
, root_1
);
1833 retval
.tree
= root_0
;}
1838 retval
.stop
= input
.LT(-1);
1840 if ( state
.backtracking
==0 ) {
1842 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1843 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1845 if ( state
.backtracking
==0 ) {
1847 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
1848 exit("enumConstant");
1853 catch (RecognitionException e
)
1861 // $ANTLR end "enumConstant"
1863 public static class declaration_return
extends ParserRuleReturnScope
{
1865 public Object
getTree() { return tree
; }
1868 // $ANTLR start "declaration"
1869 // CTFParser.g:322:1: declaration : ( ( declarationSpecifiers ( declaratorList )? TERM ) -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ( ctfSpecifier TERM ) );
1870 public final CTFParser
.declaration_return
declaration() throws RecognitionException
{
1871 CTFParser
.declaration_return retval
= new CTFParser
.declaration_return();
1872 retval
.start
= input
.LT(1);
1874 CommonTree root_0
= null;
1878 CTFParser
.declarationSpecifiers_return declarationSpecifiers27
= null;
1880 CTFParser
.declaratorList_return declaratorList28
= null;
1882 CTFParser
.ctfSpecifier_return ctfSpecifier30
= null;
1885 CommonTree TERM29_tree
=null;
1886 CommonTree TERM31_tree
=null;
1887 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
1888 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
1889 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
1891 enter("declaration");
1894 // CTFParser.g:331:1: ( ( declarationSpecifiers ( declaratorList )? TERM ) -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ( ctfSpecifier TERM ) )
1896 int LA13_0
= input
.LA(1);
1898 if ( ((LA13_0
>=CONSTTOK
&& LA13_0
<=ENUMTOK
)||(LA13_0
>=FLOATINGPOINTTOK
&& LA13_0
<=SIGNEDTOK
)||(LA13_0
>=STRINGTOK
&& LA13_0
<=STRUCTTOK
)||(LA13_0
>=TYPEDEFTOK
&& LA13_0
<=IMAGINARYTOK
)) ) {
1901 else if ( (LA13_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
1904 else if ( (LA13_0
==EVENTTOK
||LA13_0
==STREAMTOK
||(LA13_0
>=TRACETOK
&& LA13_0
<=TYPEALIASTOK
)||(LA13_0
>=ENVTOK
&& LA13_0
<=CALLSITETOK
)) ) {
1908 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1909 NoViableAltException nvae
=
1910 new NoViableAltException("", 13, 0, input
);
1916 // CTFParser.g:332:3: ( declarationSpecifiers ( declaratorList )? TERM )
1918 // CTFParser.g:332:3: ( declarationSpecifiers ( declaratorList )? TERM )
1919 // CTFParser.g:332:4: declarationSpecifiers ( declaratorList )? TERM
1921 pushFollow(FOLLOW_declarationSpecifiers_in_declaration794
);
1922 declarationSpecifiers27
=declarationSpecifiers();
1928 if ( state
.backtracking
==0 ) {
1929 stream_declarationSpecifiers
.add(declarationSpecifiers27
.getTree());
1931 // CTFParser.g:332:26: ( declaratorList )?
1933 int LA12_0
= input
.LA(1);
1935 if ( (LA12_0
==POINTER
||LA12_0
==IDENTIFIER
) ) {
1940 // CTFParser.g:332:26: declaratorList
1942 pushFollow(FOLLOW_declaratorList_in_declaration796
);
1943 declaratorList28
=declaratorList();
1949 if ( state
.backtracking
==0 ) {
1950 stream_declaratorList
.add(declaratorList28
.getTree());
1958 TERM29
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration799
); if (state
.failed
) {
1961 if ( state
.backtracking
==0 ) {
1962 stream_TERM
.add(TERM29
);
1971 // elements: declaratorList, declarationSpecifiers, declaratorList, declarationSpecifiers
1973 // rule labels: retval
1974 // token list labels:
1975 // rule list labels:
1977 if ( state
.backtracking
==0 ) {
1978 retval
.tree
= root_0
;
1979 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
1981 root_0
= (CommonTree
)adaptor
.nil();
1982 // 335:3: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1984 // CTFParser.g:335:21: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1986 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1987 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
1989 // CTFParser.g:335:35: ^( TYPEDEF declaratorList declarationSpecifiers )
1991 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1992 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_2
);
1994 adaptor
.addChild(root_2
, stream_declaratorList
.nextTree());
1995 adaptor
.addChild(root_2
, stream_declarationSpecifiers
.nextTree());
1997 adaptor
.addChild(root_1
, root_2
);
2000 adaptor
.addChild(root_0
, root_1
);
2004 else // 336:3: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
2006 // CTFParser.g:336:6: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
2008 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2009 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
2011 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
2012 // CTFParser.g:336:42: ( declaratorList )?
2013 if ( stream_declaratorList
.hasNext() ) {
2014 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
2017 stream_declaratorList
.reset();
2019 adaptor
.addChild(root_0
, root_1
);
2024 retval
.tree
= root_0
;}
2028 // CTFParser.g:338:5: ( ctfSpecifier TERM )
2030 root_0
= (CommonTree
)adaptor
.nil();
2032 // CTFParser.g:338:5: ( ctfSpecifier TERM )
2033 // CTFParser.g:338:6: ctfSpecifier TERM
2035 pushFollow(FOLLOW_ctfSpecifier_in_declaration848
);
2036 ctfSpecifier30
=ctfSpecifier();
2042 if ( state
.backtracking
==0 ) {
2043 adaptor
.addChild(root_0
, ctfSpecifier30
.getTree());
2045 TERM31
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration850
); if (state
.failed
) {
2056 retval
.stop
= input
.LT(-1);
2058 if ( state
.backtracking
==0 ) {
2060 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2061 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2063 if ( state
.backtracking
==0 ) {
2065 exit("declaration");
2073 catch (RecognitionException e
)
2081 // $ANTLR end "declaration"
2083 public static class declarationSpecifiers_return
extends ParserRuleReturnScope
{
2085 public Object
getTree() { return tree
; }
2088 // $ANTLR start "declarationSpecifiers"
2089 // CTFParser.g:341:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
2090 public final CTFParser
.declarationSpecifiers_return
declarationSpecifiers() throws RecognitionException
{
2091 CTFParser
.declarationSpecifiers_return retval
= new CTFParser
.declarationSpecifiers_return();
2092 retval
.start
= input
.LT(1);
2094 CommonTree root_0
= null;
2096 CTFParser
.storageClassSpecifier_return storageClassSpecifier32
= null;
2098 CTFParser
.typeQualifier_return typeQualifier33
= null;
2100 CTFParser
.typeSpecifier_return typeSpecifier34
= null;
2103 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
2104 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
2105 RewriteRuleSubtreeStream stream_storageClassSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule storageClassSpecifier");
2107 enter("declarationSpecifiers");
2110 // CTFParser.g:349:1: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
2111 // CTFParser.g:350:3: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
2113 // CTFParser.g:350:3: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
2118 switch ( input
.LA(1) ) {
2121 int LA14_2
= input
.LA(2);
2123 if ( ((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
2143 case FLOATINGPOINTTOK
:
2167 // CTFParser.g:353:6: storageClassSpecifier
2169 pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers895
);
2170 storageClassSpecifier32
=storageClassSpecifier();
2176 if ( state
.backtracking
==0 ) {
2177 stream_storageClassSpecifier
.add(storageClassSpecifier32
.getTree());
2183 // CTFParser.g:354:6: typeQualifier
2185 pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers902
);
2186 typeQualifier33
=typeQualifier();
2192 if ( state
.backtracking
==0 ) {
2193 stream_typeQualifier
.add(typeQualifier33
.getTree());
2199 // CTFParser.g:355:6: typeSpecifier
2201 pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers909
);
2202 typeSpecifier34
=typeSpecifier();
2208 if ( state
.backtracking
==0 ) {
2209 stream_typeSpecifier
.add(typeSpecifier34
.getTree());
2219 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2220 EarlyExitException eee
=
2221 new EarlyExitException(14, input
);
2230 // elements: typeSpecifier, typeQualifier
2232 // rule labels: retval
2233 // token list labels:
2234 // rule list labels:
2236 if ( state
.backtracking
==0 ) {
2237 retval
.tree
= root_0
;
2238 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
2240 root_0
= (CommonTree
)adaptor
.nil();
2241 // 356:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
2243 // CTFParser.g:356:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
2245 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2246 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
2248 // CTFParser.g:356:31: ( typeQualifier )*
2249 while ( stream_typeQualifier
.hasNext() ) {
2250 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
2253 stream_typeQualifier
.reset();
2254 // CTFParser.g:356:46: ( typeSpecifier )*
2255 while ( stream_typeSpecifier
.hasNext() ) {
2256 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
2259 stream_typeSpecifier
.reset();
2261 adaptor
.addChild(root_0
, root_1
);
2266 retval
.tree
= root_0
;}
2269 retval
.stop
= input
.LT(-1);
2271 if ( state
.backtracking
==0 ) {
2273 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2274 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2276 if ( state
.backtracking
==0 ) {
2278 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
2279 exit("declarationSpecifiers");
2284 catch (RecognitionException e
)
2292 // $ANTLR end "declarationSpecifiers"
2294 public static class declaratorList_return
extends ParserRuleReturnScope
{
2296 public Object
getTree() { return tree
; }
2299 // $ANTLR start "declaratorList"
2300 // CTFParser.g:359:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
2301 public final CTFParser
.declaratorList_return
declaratorList() throws RecognitionException
{
2302 CTFParser
.declaratorList_return retval
= new CTFParser
.declaratorList_return();
2303 retval
.start
= input
.LT(1);
2305 CommonTree root_0
= null;
2307 Token SEPARATOR36
=null;
2308 CTFParser
.declarator_return declarator35
= null;
2310 CTFParser
.declarator_return declarator37
= null;
2313 CommonTree SEPARATOR36_tree
=null;
2314 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2315 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
2317 enter("declaratorList");
2320 // CTFParser.g:366:1: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
2321 // CTFParser.g:367:3: declarator ( SEPARATOR declarator )*
2323 pushFollow(FOLLOW_declarator_in_declaratorList950
);
2324 declarator35
=declarator();
2330 if ( state
.backtracking
==0 ) {
2331 stream_declarator
.add(declarator35
.getTree());
2333 // CTFParser.g:367:14: ( SEPARATOR declarator )*
2337 int LA15_0
= input
.LA(1);
2339 if ( (LA15_0
==SEPARATOR
) ) {
2346 // CTFParser.g:367:15: SEPARATOR declarator
2348 SEPARATOR36
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_declaratorList953
); if (state
.failed
) {
2351 if ( state
.backtracking
==0 ) {
2352 stream_SEPARATOR
.add(SEPARATOR36
);
2355 pushFollow(FOLLOW_declarator_in_declaratorList955
);
2356 declarator37
=declarator();
2362 if ( state
.backtracking
==0 ) {
2363 stream_declarator
.add(declarator37
.getTree());
2377 // elements: declarator
2379 // rule labels: retval
2380 // token list labels:
2381 // rule list labels:
2383 if ( state
.backtracking
==0 ) {
2384 retval
.tree
= root_0
;
2385 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
2387 root_0
= (CommonTree
)adaptor
.nil();
2388 // 367:38: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2390 // CTFParser.g:367:41: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2392 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2393 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2395 if ( !(stream_declarator
.hasNext()) ) {
2396 throw new RewriteEarlyExitException();
2398 while ( stream_declarator
.hasNext() ) {
2399 adaptor
.addChild(root_1
, stream_declarator
.nextTree());
2402 stream_declarator
.reset();
2404 adaptor
.addChild(root_0
, root_1
);
2409 retval
.tree
= root_0
;}
2412 retval
.stop
= input
.LT(-1);
2414 if ( state
.backtracking
==0 ) {
2416 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2417 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2419 if ( state
.backtracking
==0 ) {
2421 exit("declaratorList");
2426 catch (RecognitionException e
)
2434 // $ANTLR end "declaratorList"
2436 public static class abstractDeclaratorList_return
extends ParserRuleReturnScope
{
2438 public Object
getTree() { return tree
; }
2441 // $ANTLR start "abstractDeclaratorList"
2442 // CTFParser.g:370:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
2443 public final CTFParser
.abstractDeclaratorList_return
abstractDeclaratorList() throws RecognitionException
{
2444 CTFParser
.abstractDeclaratorList_return retval
= new CTFParser
.abstractDeclaratorList_return();
2445 retval
.start
= input
.LT(1);
2447 CommonTree root_0
= null;
2449 Token SEPARATOR39
=null;
2450 CTFParser
.abstractDeclarator_return abstractDeclarator38
= null;
2452 CTFParser
.abstractDeclarator_return abstractDeclarator40
= null;
2455 CommonTree SEPARATOR39_tree
=null;
2456 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2457 RewriteRuleSubtreeStream stream_abstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule abstractDeclarator");
2459 enter("abstractDeclaratorList");
2462 // CTFParser.g:377:1: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
2463 // CTFParser.g:378:3: abstractDeclarator ( SEPARATOR abstractDeclarator )*
2465 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList989
);
2466 abstractDeclarator38
=abstractDeclarator();
2472 if ( state
.backtracking
==0 ) {
2473 stream_abstractDeclarator
.add(abstractDeclarator38
.getTree());
2475 // CTFParser.g:378:22: ( SEPARATOR abstractDeclarator )*
2479 int LA16_0
= input
.LA(1);
2481 if ( (LA16_0
==SEPARATOR
) ) {
2488 // CTFParser.g:378:23: SEPARATOR abstractDeclarator
2490 SEPARATOR39
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_abstractDeclaratorList992
); if (state
.failed
) {
2493 if ( state
.backtracking
==0 ) {
2494 stream_SEPARATOR
.add(SEPARATOR39
);
2497 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList994
);
2498 abstractDeclarator40
=abstractDeclarator();
2504 if ( state
.backtracking
==0 ) {
2505 stream_abstractDeclarator
.add(abstractDeclarator40
.getTree());
2519 // elements: abstractDeclarator
2521 // rule labels: retval
2522 // token list labels:
2523 // rule list labels:
2525 if ( state
.backtracking
==0 ) {
2526 retval
.tree
= root_0
;
2527 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
2529 root_0
= (CommonTree
)adaptor
.nil();
2530 // 378:54: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2532 // CTFParser.g:378:57: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2534 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2535 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2537 if ( !(stream_abstractDeclarator
.hasNext()) ) {
2538 throw new RewriteEarlyExitException();
2540 while ( stream_abstractDeclarator
.hasNext() ) {
2541 adaptor
.addChild(root_1
, stream_abstractDeclarator
.nextTree());
2544 stream_abstractDeclarator
.reset();
2546 adaptor
.addChild(root_0
, root_1
);
2551 retval
.tree
= root_0
;}
2554 retval
.stop
= input
.LT(-1);
2556 if ( state
.backtracking
==0 ) {
2558 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2559 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2561 if ( state
.backtracking
==0 ) {
2563 exit("abstractDeclaratorList");
2568 catch (RecognitionException e
)
2576 // $ANTLR end "abstractDeclaratorList"
2578 public static class storageClassSpecifier_return
extends ParserRuleReturnScope
{
2580 public Object
getTree() { return tree
; }
2583 // $ANTLR start "storageClassSpecifier"
2584 // CTFParser.g:381:1: storageClassSpecifier : TYPEDEFTOK ;
2585 public final CTFParser
.storageClassSpecifier_return
storageClassSpecifier() throws RecognitionException
{
2586 CTFParser
.storageClassSpecifier_return retval
= new CTFParser
.storageClassSpecifier_return();
2587 retval
.start
= input
.LT(1);
2589 CommonTree root_0
= null;
2591 Token TYPEDEFTOK41
=null;
2593 CommonTree TYPEDEFTOK41_tree
=null;
2596 // CTFParser.g:381:23: ( TYPEDEFTOK )
2597 // CTFParser.g:382:3: TYPEDEFTOK
2599 root_0
= (CommonTree
)adaptor
.nil();
2601 TYPEDEFTOK41
=(Token
)match(input
,TYPEDEFTOK
,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1018
); if (state
.failed
) {
2604 if ( state
.backtracking
==0 ) {
2605 TYPEDEFTOK41_tree
= (CommonTree
)adaptor
.create(TYPEDEFTOK41
);
2606 adaptor
.addChild(root_0
, TYPEDEFTOK41_tree
);
2608 if ( state
.backtracking
==0 ) {
2614 retval
.stop
= input
.LT(-1);
2616 if ( state
.backtracking
==0 ) {
2618 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2619 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2623 catch (RecognitionException e
)
2631 // $ANTLR end "storageClassSpecifier"
2633 public static class typeSpecifier_return
extends ParserRuleReturnScope
{
2635 public Object
getTree() { return tree
; }
2638 // $ANTLR start "typeSpecifier"
2639 // CTFParser.g:385:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier | {...}? => typedefName );
2640 public final CTFParser
.typeSpecifier_return
typeSpecifier() throws RecognitionException
{
2641 CTFParser
.typeSpecifier_return retval
= new CTFParser
.typeSpecifier_return();
2642 retval
.start
= input
.LT(1);
2644 CommonTree root_0
= null;
2646 Token FLOATTOK42
=null;
2647 Token INTTOK43
=null;
2648 Token LONGTOK44
=null;
2649 Token SHORTTOK45
=null;
2650 Token SIGNEDTOK46
=null;
2651 Token UNSIGNEDTOK47
=null;
2652 Token CHARTOK48
=null;
2653 Token DOUBLETOK49
=null;
2654 Token VOIDTOK50
=null;
2655 Token BOOLTOK51
=null;
2656 Token COMPLEXTOK52
=null;
2657 Token IMAGINARYTOK53
=null;
2658 CTFParser
.structSpecifier_return structSpecifier54
= null;
2660 CTFParser
.variantSpecifier_return variantSpecifier55
= null;
2662 CTFParser
.enumSpecifier_return enumSpecifier56
= null;
2664 CTFParser
.ctfTypeSpecifier_return ctfTypeSpecifier57
= null;
2666 CTFParser
.typedefName_return typedefName58
= null;
2669 CommonTree FLOATTOK42_tree
=null;
2670 CommonTree INTTOK43_tree
=null;
2671 CommonTree LONGTOK44_tree
=null;
2672 CommonTree SHORTTOK45_tree
=null;
2673 CommonTree SIGNEDTOK46_tree
=null;
2674 CommonTree UNSIGNEDTOK47_tree
=null;
2675 CommonTree CHARTOK48_tree
=null;
2676 CommonTree DOUBLETOK49_tree
=null;
2677 CommonTree VOIDTOK50_tree
=null;
2678 CommonTree BOOLTOK51_tree
=null;
2679 CommonTree COMPLEXTOK52_tree
=null;
2680 CommonTree IMAGINARYTOK53_tree
=null;
2683 enter("typeSpecifier");
2686 // CTFParser.g:393:1: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier | {...}? => typedefName )
2688 alt17
= dfa17
.predict(input
);
2691 // CTFParser.g:394:3: FLOATTOK
2693 root_0
= (CommonTree
)adaptor
.nil();
2695 FLOATTOK42
=(Token
)match(input
,FLOATTOK
,FOLLOW_FLOATTOK_in_typeSpecifier1044
); if (state
.failed
) {
2698 if ( state
.backtracking
==0 ) {
2699 FLOATTOK42_tree
= (CommonTree
)adaptor
.create(FLOATTOK42
);
2700 adaptor
.addChild(root_0
, FLOATTOK42_tree
);
2706 // CTFParser.g:395:5: INTTOK
2708 root_0
= (CommonTree
)adaptor
.nil();
2710 INTTOK43
=(Token
)match(input
,INTTOK
,FOLLOW_INTTOK_in_typeSpecifier1050
); if (state
.failed
) {
2713 if ( state
.backtracking
==0 ) {
2714 INTTOK43_tree
= (CommonTree
)adaptor
.create(INTTOK43
);
2715 adaptor
.addChild(root_0
, INTTOK43_tree
);
2721 // CTFParser.g:396:5: LONGTOK
2723 root_0
= (CommonTree
)adaptor
.nil();
2725 LONGTOK44
=(Token
)match(input
,LONGTOK
,FOLLOW_LONGTOK_in_typeSpecifier1056
); if (state
.failed
) {
2728 if ( state
.backtracking
==0 ) {
2729 LONGTOK44_tree
= (CommonTree
)adaptor
.create(LONGTOK44
);
2730 adaptor
.addChild(root_0
, LONGTOK44_tree
);
2736 // CTFParser.g:397:5: SHORTTOK
2738 root_0
= (CommonTree
)adaptor
.nil();
2740 SHORTTOK45
=(Token
)match(input
,SHORTTOK
,FOLLOW_SHORTTOK_in_typeSpecifier1062
); if (state
.failed
) {
2743 if ( state
.backtracking
==0 ) {
2744 SHORTTOK45_tree
= (CommonTree
)adaptor
.create(SHORTTOK45
);
2745 adaptor
.addChild(root_0
, SHORTTOK45_tree
);
2751 // CTFParser.g:398:5: SIGNEDTOK
2753 root_0
= (CommonTree
)adaptor
.nil();
2755 SIGNEDTOK46
=(Token
)match(input
,SIGNEDTOK
,FOLLOW_SIGNEDTOK_in_typeSpecifier1068
); if (state
.failed
) {
2758 if ( state
.backtracking
==0 ) {
2759 SIGNEDTOK46_tree
= (CommonTree
)adaptor
.create(SIGNEDTOK46
);
2760 adaptor
.addChild(root_0
, SIGNEDTOK46_tree
);
2766 // CTFParser.g:399:5: UNSIGNEDTOK
2768 root_0
= (CommonTree
)adaptor
.nil();
2770 UNSIGNEDTOK47
=(Token
)match(input
,UNSIGNEDTOK
,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1074
); if (state
.failed
) {
2773 if ( state
.backtracking
==0 ) {
2774 UNSIGNEDTOK47_tree
= (CommonTree
)adaptor
.create(UNSIGNEDTOK47
);
2775 adaptor
.addChild(root_0
, UNSIGNEDTOK47_tree
);
2781 // CTFParser.g:400:5: CHARTOK
2783 root_0
= (CommonTree
)adaptor
.nil();
2785 CHARTOK48
=(Token
)match(input
,CHARTOK
,FOLLOW_CHARTOK_in_typeSpecifier1080
); if (state
.failed
) {
2788 if ( state
.backtracking
==0 ) {
2789 CHARTOK48_tree
= (CommonTree
)adaptor
.create(CHARTOK48
);
2790 adaptor
.addChild(root_0
, CHARTOK48_tree
);
2796 // CTFParser.g:401:5: DOUBLETOK
2798 root_0
= (CommonTree
)adaptor
.nil();
2800 DOUBLETOK49
=(Token
)match(input
,DOUBLETOK
,FOLLOW_DOUBLETOK_in_typeSpecifier1086
); if (state
.failed
) {
2803 if ( state
.backtracking
==0 ) {
2804 DOUBLETOK49_tree
= (CommonTree
)adaptor
.create(DOUBLETOK49
);
2805 adaptor
.addChild(root_0
, DOUBLETOK49_tree
);
2811 // CTFParser.g:402:5: VOIDTOK
2813 root_0
= (CommonTree
)adaptor
.nil();
2815 VOIDTOK50
=(Token
)match(input
,VOIDTOK
,FOLLOW_VOIDTOK_in_typeSpecifier1092
); if (state
.failed
) {
2818 if ( state
.backtracking
==0 ) {
2819 VOIDTOK50_tree
= (CommonTree
)adaptor
.create(VOIDTOK50
);
2820 adaptor
.addChild(root_0
, VOIDTOK50_tree
);
2826 // CTFParser.g:403:5: BOOLTOK
2828 root_0
= (CommonTree
)adaptor
.nil();
2830 BOOLTOK51
=(Token
)match(input
,BOOLTOK
,FOLLOW_BOOLTOK_in_typeSpecifier1098
); if (state
.failed
) {
2833 if ( state
.backtracking
==0 ) {
2834 BOOLTOK51_tree
= (CommonTree
)adaptor
.create(BOOLTOK51
);
2835 adaptor
.addChild(root_0
, BOOLTOK51_tree
);
2841 // CTFParser.g:404:5: COMPLEXTOK
2843 root_0
= (CommonTree
)adaptor
.nil();
2845 COMPLEXTOK52
=(Token
)match(input
,COMPLEXTOK
,FOLLOW_COMPLEXTOK_in_typeSpecifier1104
); if (state
.failed
) {
2848 if ( state
.backtracking
==0 ) {
2849 COMPLEXTOK52_tree
= (CommonTree
)adaptor
.create(COMPLEXTOK52
);
2850 adaptor
.addChild(root_0
, COMPLEXTOK52_tree
);
2856 // CTFParser.g:405:5: IMAGINARYTOK
2858 root_0
= (CommonTree
)adaptor
.nil();
2860 IMAGINARYTOK53
=(Token
)match(input
,IMAGINARYTOK
,FOLLOW_IMAGINARYTOK_in_typeSpecifier1110
); if (state
.failed
) {
2863 if ( state
.backtracking
==0 ) {
2864 IMAGINARYTOK53_tree
= (CommonTree
)adaptor
.create(IMAGINARYTOK53
);
2865 adaptor
.addChild(root_0
, IMAGINARYTOK53_tree
);
2871 // CTFParser.g:406:5: structSpecifier
2873 root_0
= (CommonTree
)adaptor
.nil();
2875 pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1116
);
2876 structSpecifier54
=structSpecifier();
2882 if ( state
.backtracking
==0 ) {
2883 adaptor
.addChild(root_0
, structSpecifier54
.getTree());
2889 // CTFParser.g:407:5: variantSpecifier
2891 root_0
= (CommonTree
)adaptor
.nil();
2893 pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1122
);
2894 variantSpecifier55
=variantSpecifier();
2900 if ( state
.backtracking
==0 ) {
2901 adaptor
.addChild(root_0
, variantSpecifier55
.getTree());
2907 // CTFParser.g:408:5: enumSpecifier
2909 root_0
= (CommonTree
)adaptor
.nil();
2911 pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1128
);
2912 enumSpecifier56
=enumSpecifier();
2918 if ( state
.backtracking
==0 ) {
2919 adaptor
.addChild(root_0
, enumSpecifier56
.getTree());
2925 // CTFParser.g:409:5: ctfTypeSpecifier
2927 root_0
= (CommonTree
)adaptor
.nil();
2929 pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1134
);
2930 ctfTypeSpecifier57
=ctfTypeSpecifier();
2936 if ( state
.backtracking
==0 ) {
2937 adaptor
.addChild(root_0
, ctfTypeSpecifier57
.getTree());
2943 // CTFParser.g:410:5: {...}? => typedefName
2945 root_0
= (CommonTree
)adaptor
.nil();
2947 if ( !((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
2948 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2949 throw new FailedPredicateException(input
, "typeSpecifier", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
2951 pushFollow(FOLLOW_typedefName_in_typeSpecifier1144
);
2952 typedefName58
=typedefName();
2958 if ( state
.backtracking
==0 ) {
2959 adaptor
.addChild(root_0
, typedefName58
.getTree());
2966 retval
.stop
= input
.LT(-1);
2968 if ( state
.backtracking
==0 ) {
2970 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2971 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2973 if ( state
.backtracking
==0 ) {
2975 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
2976 exit("typeSpecifier");
2981 catch (RecognitionException e
)
2989 // $ANTLR end "typeSpecifier"
2991 public static class typeQualifier_return
extends ParserRuleReturnScope
{
2993 public Object
getTree() { return tree
; }
2996 // $ANTLR start "typeQualifier"
2997 // CTFParser.g:413:1: typeQualifier : CONSTTOK ;
2998 public final CTFParser
.typeQualifier_return
typeQualifier() throws RecognitionException
{
2999 CTFParser
.typeQualifier_return retval
= new CTFParser
.typeQualifier_return();
3000 retval
.start
= input
.LT(1);
3002 CommonTree root_0
= null;
3004 Token CONSTTOK59
=null;
3006 CommonTree CONSTTOK59_tree
=null;
3009 enter("typeQualifier");
3012 // CTFParser.g:421:1: ( CONSTTOK )
3013 // CTFParser.g:422:3: CONSTTOK
3015 root_0
= (CommonTree
)adaptor
.nil();
3017 CONSTTOK59
=(Token
)match(input
,CONSTTOK
,FOLLOW_CONSTTOK_in_typeQualifier1167
); if (state
.failed
) {
3020 if ( state
.backtracking
==0 ) {
3021 CONSTTOK59_tree
= (CommonTree
)adaptor
.create(CONSTTOK59
);
3022 adaptor
.addChild(root_0
, CONSTTOK59_tree
);
3027 retval
.stop
= input
.LT(-1);
3029 if ( state
.backtracking
==0 ) {
3031 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3032 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3034 if ( state
.backtracking
==0 ) {
3036 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
3037 exit("typeQualifier");
3042 catch (RecognitionException e
)
3050 // $ANTLR end "typeQualifier"
3052 public static class alignAttribute_return
extends ParserRuleReturnScope
{
3054 public Object
getTree() { return tree
; }
3057 // $ANTLR start "alignAttribute"
3058 // CTFParser.g:425:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
3059 public final CTFParser
.alignAttribute_return
alignAttribute() throws RecognitionException
{
3060 CTFParser
.alignAttribute_return retval
= new CTFParser
.alignAttribute_return();
3061 retval
.start
= input
.LT(1);
3063 CommonTree root_0
= null;
3065 Token ALIGNTOK60
=null;
3066 Token LPAREN61
=null;
3067 Token RPAREN63
=null;
3068 CTFParser
.unaryExpression_return unaryExpression62
= null;
3071 CommonTree ALIGNTOK60_tree
=null;
3072 CommonTree LPAREN61_tree
=null;
3073 CommonTree RPAREN63_tree
=null;
3074 RewriteRuleTokenStream stream_RPAREN
=new RewriteRuleTokenStream(adaptor
,"token RPAREN");
3075 RewriteRuleTokenStream stream_ALIGNTOK
=new RewriteRuleTokenStream(adaptor
,"token ALIGNTOK");
3076 RewriteRuleTokenStream stream_LPAREN
=new RewriteRuleTokenStream(adaptor
,"token LPAREN");
3077 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
3079 // CTFParser.g:425:16: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
3080 // CTFParser.g:426:3: ALIGNTOK LPAREN unaryExpression RPAREN
3082 ALIGNTOK60
=(Token
)match(input
,ALIGNTOK
,FOLLOW_ALIGNTOK_in_alignAttribute1180
); if (state
.failed
) {
3085 if ( state
.backtracking
==0 ) {
3086 stream_ALIGNTOK
.add(ALIGNTOK60
);
3089 LPAREN61
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_alignAttribute1182
); if (state
.failed
) {
3092 if ( state
.backtracking
==0 ) {
3093 stream_LPAREN
.add(LPAREN61
);
3096 pushFollow(FOLLOW_unaryExpression_in_alignAttribute1184
);
3097 unaryExpression62
=unaryExpression();
3103 if ( state
.backtracking
==0 ) {
3104 stream_unaryExpression
.add(unaryExpression62
.getTree());
3106 RPAREN63
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_alignAttribute1186
); if (state
.failed
) {
3109 if ( state
.backtracking
==0 ) {
3110 stream_RPAREN
.add(RPAREN63
);
3116 // elements: unaryExpression
3118 // rule labels: retval
3119 // token list labels:
3120 // rule list labels:
3122 if ( state
.backtracking
==0 ) {
3123 retval
.tree
= root_0
;
3124 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
3126 root_0
= (CommonTree
)adaptor
.nil();
3127 // 426:42: -> ^( ALIGN unaryExpression )
3129 // CTFParser.g:426:45: ^( ALIGN unaryExpression )
3131 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3132 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ALIGN
, "ALIGN"), root_1
);
3134 adaptor
.addChild(root_1
, stream_unaryExpression
.nextTree());
3136 adaptor
.addChild(root_0
, root_1
);
3141 retval
.tree
= root_0
;}
3144 retval
.stop
= input
.LT(-1);
3146 if ( state
.backtracking
==0 ) {
3148 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3149 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3153 catch (RecognitionException e
)
3161 // $ANTLR end "alignAttribute"
3163 public static class structBody_return
extends ParserRuleReturnScope
{
3165 public Object
getTree() { return tree
; }
3168 // $ANTLR start "structBody"
3169 // CTFParser.g:430:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
3170 public final CTFParser
.structBody_return
structBody() throws RecognitionException
{
3171 Symbols_stack
.push(new Symbols_scope());
3173 CTFParser
.structBody_return retval
= new CTFParser
.structBody_return();
3174 retval
.start
= input
.LT(1);
3176 CommonTree root_0
= null;
3180 CTFParser
.structOrVariantDeclarationList_return structOrVariantDeclarationList65
= null;
3183 CommonTree LCURL64_tree
=null;
3184 CommonTree RCURL66_tree
=null;
3185 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
3186 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
3187 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
3189 enter("structBody");
3190 debug_print("Scope push " + Symbols_stack
.size());
3191 ((Symbols_scope
)Symbols_stack
.peek()).types
= new HashSet
<String
>();
3194 // CTFParser.g:441:1: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
3195 // CTFParser.g:442:3: LCURL ( structOrVariantDeclarationList )? RCURL
3197 LCURL64
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_structBody1227
); if (state
.failed
) {
3200 if ( state
.backtracking
==0 ) {
3201 stream_LCURL
.add(LCURL64
);
3204 // CTFParser.g:442:9: ( structOrVariantDeclarationList )?
3206 int LA18_0
= input
.LA(1);
3208 if ( ((LA18_0
>=CONSTTOK
&& LA18_0
<=ENUMTOK
)||(LA18_0
>=FLOATINGPOINTTOK
&& LA18_0
<=SIGNEDTOK
)||(LA18_0
>=STRINGTOK
&& LA18_0
<=STRUCTTOK
)||(LA18_0
>=TYPEDEFTOK
&& LA18_0
<=IMAGINARYTOK
)) ) {
3211 else if ( (LA18_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
3214 else if ( (LA18_0
==TYPEALIASTOK
) ) {
3219 // CTFParser.g:442:9: structOrVariantDeclarationList
3221 pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1229
);
3222 structOrVariantDeclarationList65
=structOrVariantDeclarationList();
3228 if ( state
.backtracking
==0 ) {
3229 stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList65
.getTree());
3237 RCURL66
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_structBody1232
); if (state
.failed
) {
3240 if ( state
.backtracking
==0 ) {
3241 stream_RCURL
.add(RCURL66
);
3247 // elements: structOrVariantDeclarationList
3249 // rule labels: retval
3250 // token list labels:
3251 // rule list labels:
3253 if ( state
.backtracking
==0 ) {
3254 retval
.tree
= root_0
;
3255 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
3257 root_0
= (CommonTree
)adaptor
.nil();
3258 // 442:47: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
3260 // CTFParser.g:442:50: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
3262 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3263 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_BODY
, "STRUCT_BODY"), root_1
);
3265 // CTFParser.g:442:64: ( structOrVariantDeclarationList )?
3266 if ( stream_structOrVariantDeclarationList
.hasNext() ) {
3267 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
3270 stream_structOrVariantDeclarationList
.reset();
3272 adaptor
.addChild(root_0
, root_1
);
3277 retval
.tree
= root_0
;}
3280 retval
.stop
= input
.LT(-1);
3282 if ( state
.backtracking
==0 ) {
3284 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3285 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3287 if ( state
.backtracking
==0 ) {
3289 debug_print("Scope pop " + Symbols_stack
.size());
3295 catch (RecognitionException e
)
3300 Symbols_stack
.pop();
3305 // $ANTLR end "structBody"
3307 public static class structSpecifier_return
extends ParserRuleReturnScope
{
3309 public Object
getTree() { return tree
; }
3312 // $ANTLR start "structSpecifier"
3313 // CTFParser.g:447:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) ) | ( structBody ( alignAttribute | ) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
3314 public final CTFParser
.structSpecifier_return
structSpecifier() throws RecognitionException
{
3315 CTFParser
.structSpecifier_return retval
= new CTFParser
.structSpecifier_return();
3316 retval
.start
= input
.LT(1);
3318 CommonTree root_0
= null;
3320 Token STRUCTTOK67
=null;
3321 CTFParser
.structName_return structName68
= null;
3323 CTFParser
.alignAttribute_return alignAttribute69
= null;
3325 CTFParser
.structBody_return structBody70
= null;
3327 CTFParser
.alignAttribute_return alignAttribute71
= null;
3329 CTFParser
.structBody_return structBody72
= null;
3331 CTFParser
.alignAttribute_return alignAttribute73
= null;
3334 CommonTree STRUCTTOK67_tree
=null;
3335 RewriteRuleTokenStream stream_STRUCTTOK
=new RewriteRuleTokenStream(adaptor
,"token STRUCTTOK");
3336 RewriteRuleSubtreeStream stream_structName
=new RewriteRuleSubtreeStream(adaptor
,"rule structName");
3337 RewriteRuleSubtreeStream stream_structBody
=new RewriteRuleSubtreeStream(adaptor
,"rule structBody");
3338 RewriteRuleSubtreeStream stream_alignAttribute
=new RewriteRuleSubtreeStream(adaptor
,"rule alignAttribute");
3340 enter("structSpecifier");
3343 // CTFParser.g:454:1: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) ) | ( structBody ( alignAttribute | ) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
3344 // CTFParser.g:455:3: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) ) | ( structBody ( alignAttribute | ) ) )
3346 STRUCTTOK67
=(Token
)match(input
,STRUCTTOK
,FOLLOW_STRUCTTOK_in_structSpecifier1270
); if (state
.failed
) {
3349 if ( state
.backtracking
==0 ) {
3350 stream_STRUCTTOK
.add(STRUCTTOK67
);
3353 // CTFParser.g:456:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) ) | ( structBody ( alignAttribute | ) ) )
3355 int LA22_0
= input
.LA(1);
3357 if ( (LA22_0
==IDENTIFIER
) ) {
3360 else if ( (LA22_0
==LCURL
) ) {
3364 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3365 NoViableAltException nvae
=
3366 new NoViableAltException("", 22, 0, input
);
3372 // CTFParser.g:458:5: ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) )
3374 // CTFParser.g:458:5: ( structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | ) )
3375 // CTFParser.g:459:6: structName ( alignAttribute | ( structBody ( alignAttribute | ) ) | )
3377 pushFollow(FOLLOW_structName_in_structSpecifier1292
);
3378 structName68
=structName();
3384 if ( state
.backtracking
==0 ) {
3385 stream_structName
.add(structName68
.getTree());
3387 // CTFParser.g:460:6: ( alignAttribute | ( structBody ( alignAttribute | ) ) | )
3389 switch ( input
.LA(1) ) {
3397 switch ( input
.LA(2) ) {
3402 case FLOATINGPOINTTOK
:
3424 int LA20_5
= input
.LA(3);
3426 if ( ((LA20_5
>=CONSTTOK
&& LA20_5
<=ENUMTOK
)||(LA20_5
>=FLOATINGPOINTTOK
&& LA20_5
<=SIGNEDTOK
)||(LA20_5
>=STRINGTOK
&& LA20_5
<=STRUCTTOK
)||(LA20_5
>=TYPEDEFTOK
&& LA20_5
<=IMAGINARYTOK
)||LA20_5
==POINTER
||LA20_5
==IDENTIFIER
) ) {
3429 else if ( (LA20_5
==SEPARATOR
||LA20_5
==ASSIGNMENT
||LA20_5
==RCURL
) ) {
3433 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3434 NoViableAltException nvae
=
3435 new NoViableAltException("", 20, 5, input
);
3443 int LA20_6
= input
.LA(3);
3445 if ( (LA20_6
==SEPARATOR
||LA20_6
==ASSIGNMENT
||LA20_6
==RCURL
) ) {
3448 else if ( ((LA20_6
>=CONSTTOK
&& LA20_6
<=ENUMTOK
)||(LA20_6
>=FLOATINGPOINTTOK
&& LA20_6
<=SIGNEDTOK
)||(LA20_6
>=STRINGTOK
&& LA20_6
<=STRUCTTOK
)||(LA20_6
>=TYPEDEFTOK
&& LA20_6
<=IMAGINARYTOK
)||LA20_6
==LCURL
||LA20_6
==POINTER
||LA20_6
==IDENTIFIER
) ) {
3452 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3453 NoViableAltException nvae
=
3454 new NoViableAltException("", 20, 6, input
);
3462 int LA20_7
= input
.LA(3);
3464 if ( (LA20_7
==SEPARATOR
||LA20_7
==ASSIGNMENT
||LA20_7
==RCURL
) ) {
3467 else if ( ((LA20_7
>=CONSTTOK
&& LA20_7
<=ENUMTOK
)||(LA20_7
>=FLOATINGPOINTTOK
&& LA20_7
<=SIGNEDTOK
)||(LA20_7
>=STRINGTOK
&& LA20_7
<=STRUCTTOK
)||(LA20_7
>=TYPEDEFTOK
&& LA20_7
<=IMAGINARYTOK
)||LA20_7
==POINTER
||LA20_7
==IDENTIFIER
) ) {
3471 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3472 NoViableAltException nvae
=
3473 new NoViableAltException("", 20, 7, input
);
3481 case STRING_LITERAL
:
3487 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3488 NoViableAltException nvae
=
3489 new NoViableAltException("", 20, 2, input
);
3501 case FLOATINGPOINTTOK
:
3517 case TYPE_ASSIGNMENT
:
3527 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3528 NoViableAltException nvae
=
3529 new NoViableAltException("", 20, 0, input
);
3536 // CTFParser.g:461:8: alignAttribute
3538 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1308
);
3539 alignAttribute69
=alignAttribute();
3545 if ( state
.backtracking
==0 ) {
3546 stream_alignAttribute
.add(alignAttribute69
.getTree());
3552 // CTFParser.g:463:8: ( structBody ( alignAttribute | ) )
3554 // CTFParser.g:463:8: ( structBody ( alignAttribute | ) )
3555 // CTFParser.g:464:10: structBody ( alignAttribute | )
3557 pushFollow(FOLLOW_structBody_in_structSpecifier1337
);
3558 structBody70
=structBody();
3564 if ( state
.backtracking
==0 ) {
3565 stream_structBody
.add(structBody70
.getTree());
3567 // CTFParser.g:465:10: ( alignAttribute | )
3569 int LA19_0
= input
.LA(1);
3571 if ( (LA19_0
==ALIGNTOK
) ) {
3574 else if ( (LA19_0
==EOF
||(LA19_0
>=CONSTTOK
&& LA19_0
<=ENUMTOK
)||(LA19_0
>=FLOATINGPOINTTOK
&& LA19_0
<=SIGNEDTOK
)||(LA19_0
>=STRINGTOK
&& LA19_0
<=STRUCTTOK
)||(LA19_0
>=TYPEDEFTOK
&& LA19_0
<=IMAGINARYTOK
)||LA19_0
==TYPE_ASSIGNMENT
||LA19_0
==LPAREN
||LA19_0
==LCURL
||(LA19_0
>=TERM
&& LA19_0
<=POINTER
)||LA19_0
==IDENTIFIER
) ) {
3578 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3579 NoViableAltException nvae
=
3580 new NoViableAltException("", 19, 0, input
);
3586 // CTFParser.g:466:11: alignAttribute
3588 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1362
);
3589 alignAttribute71
=alignAttribute();
3595 if ( state
.backtracking
==0 ) {
3596 stream_alignAttribute
.add(alignAttribute71
.getTree());
3602 // CTFParser.g:469:10:
3616 // CTFParser.g:473:6:
3630 // CTFParser.g:477:5: ( structBody ( alignAttribute | ) )
3632 // CTFParser.g:477:5: ( structBody ( alignAttribute | ) )
3633 // CTFParser.g:478:7: structBody ( alignAttribute | )
3635 pushFollow(FOLLOW_structBody_in_structSpecifier1460
);
3636 structBody72
=structBody();
3642 if ( state
.backtracking
==0 ) {
3643 stream_structBody
.add(structBody72
.getTree());
3645 // CTFParser.g:479:7: ( alignAttribute | )
3647 int LA21_0
= input
.LA(1);
3649 if ( (LA21_0
==ALIGNTOK
) ) {
3652 else if ( (LA21_0
==EOF
||(LA21_0
>=CONSTTOK
&& LA21_0
<=ENUMTOK
)||(LA21_0
>=FLOATINGPOINTTOK
&& LA21_0
<=SIGNEDTOK
)||(LA21_0
>=STRINGTOK
&& LA21_0
<=STRUCTTOK
)||(LA21_0
>=TYPEDEFTOK
&& LA21_0
<=IMAGINARYTOK
)||LA21_0
==TYPE_ASSIGNMENT
||LA21_0
==LPAREN
||LA21_0
==LCURL
||(LA21_0
>=TERM
&& LA21_0
<=POINTER
)||LA21_0
==IDENTIFIER
) ) {
3656 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3657 NoViableAltException nvae
=
3658 new NoViableAltException("", 21, 0, input
);
3664 // CTFParser.g:480:9: alignAttribute
3666 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1478
);
3667 alignAttribute73
=alignAttribute();
3673 if ( state
.backtracking
==0 ) {
3674 stream_alignAttribute
.add(alignAttribute73
.getTree());
3680 // CTFParser.g:483:7:
3699 // elements: alignAttribute, structBody, structName
3701 // rule labels: retval
3702 // token list labels:
3703 // rule list labels:
3705 if ( state
.backtracking
==0 ) {
3706 retval
.tree
= root_0
;
3707 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
3709 root_0
= (CommonTree
)adaptor
.nil();
3710 // 485:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3712 // CTFParser.g:485:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3714 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3715 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT
, "STRUCT"), root_1
);
3717 // CTFParser.g:485:17: ( structName )?
3718 if ( stream_structName
.hasNext() ) {
3719 adaptor
.addChild(root_1
, stream_structName
.nextTree());
3722 stream_structName
.reset();
3723 // CTFParser.g:485:29: ( structBody )?
3724 if ( stream_structBody
.hasNext() ) {
3725 adaptor
.addChild(root_1
, stream_structBody
.nextTree());
3728 stream_structBody
.reset();
3729 // CTFParser.g:485:41: ( alignAttribute )?
3730 if ( stream_alignAttribute
.hasNext() ) {
3731 adaptor
.addChild(root_1
, stream_alignAttribute
.nextTree());
3734 stream_alignAttribute
.reset();
3736 adaptor
.addChild(root_0
, root_1
);
3741 retval
.tree
= root_0
;}
3744 retval
.stop
= input
.LT(-1);
3746 if ( state
.backtracking
==0 ) {
3748 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3749 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3751 if ( state
.backtracking
==0 ) {
3753 exit("structSpecifier");
3758 catch (RecognitionException e
)
3766 // $ANTLR end "structSpecifier"
3768 public static class structName_return
extends ParserRuleReturnScope
{
3770 public Object
getTree() { return tree
; }
3773 // $ANTLR start "structName"
3774 // CTFParser.g:488:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
3775 public final CTFParser
.structName_return
structName() throws RecognitionException
{
3776 CTFParser
.structName_return retval
= new CTFParser
.structName_return();
3777 retval
.start
= input
.LT(1);
3779 CommonTree root_0
= null;
3781 Token IDENTIFIER74
=null;
3783 CommonTree IDENTIFIER74_tree
=null;
3784 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
3787 enter("structName");
3790 // CTFParser.g:496:1: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
3791 // CTFParser.g:497:3: IDENTIFIER
3793 IDENTIFIER74
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_structName1554
); if (state
.failed
) {
3796 if ( state
.backtracking
==0 ) {
3797 stream_IDENTIFIER
.add(IDENTIFIER74
);
3803 // elements: IDENTIFIER
3805 // rule labels: retval
3806 // token list labels:
3807 // rule list labels:
3809 if ( state
.backtracking
==0 ) {
3810 retval
.tree
= root_0
;
3811 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
3813 root_0
= (CommonTree
)adaptor
.nil();
3814 // 497:14: -> ^( STRUCT_NAME IDENTIFIER )
3816 // CTFParser.g:497:17: ^( STRUCT_NAME IDENTIFIER )
3818 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3819 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_NAME
, "STRUCT_NAME"), root_1
);
3821 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
3823 adaptor
.addChild(root_0
, root_1
);
3828 retval
.tree
= root_0
;}
3831 retval
.stop
= input
.LT(-1);
3833 if ( state
.backtracking
==0 ) {
3835 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3836 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3838 if ( state
.backtracking
==0 ) {
3840 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
3846 catch (RecognitionException e
)
3854 // $ANTLR end "structName"
3856 public static class structOrVariantDeclarationList_return
extends ParserRuleReturnScope
{
3858 public Object
getTree() { return tree
; }
3861 // $ANTLR start "structOrVariantDeclarationList"
3862 // CTFParser.g:500:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
3863 public final CTFParser
.structOrVariantDeclarationList_return
structOrVariantDeclarationList() throws RecognitionException
{
3864 CTFParser
.structOrVariantDeclarationList_return retval
= new CTFParser
.structOrVariantDeclarationList_return();
3865 retval
.start
= input
.LT(1);
3867 CommonTree root_0
= null;
3869 CTFParser
.structOrVariantDeclaration_return structOrVariantDeclaration75
= null;
3874 enter("structOrVariantDeclarationList");
3877 // CTFParser.g:507:1: ( ( structOrVariantDeclaration )+ )
3878 // CTFParser.g:508:3: ( structOrVariantDeclaration )+
3880 root_0
= (CommonTree
)adaptor
.nil();
3882 // CTFParser.g:508:3: ( structOrVariantDeclaration )+
3887 int LA23_0
= input
.LA(1);
3889 if ( ((LA23_0
>=CONSTTOK
&& LA23_0
<=ENUMTOK
)||(LA23_0
>=FLOATINGPOINTTOK
&& LA23_0
<=SIGNEDTOK
)||(LA23_0
>=STRINGTOK
&& LA23_0
<=STRUCTTOK
)||(LA23_0
>=TYPEDEFTOK
&& LA23_0
<=IMAGINARYTOK
)) ) {
3892 else if ( (LA23_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
3895 else if ( (LA23_0
==TYPEALIASTOK
) ) {
3902 // CTFParser.g:508:3: structOrVariantDeclaration
3904 pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1585
);
3905 structOrVariantDeclaration75
=structOrVariantDeclaration();
3911 if ( state
.backtracking
==0 ) {
3912 adaptor
.addChild(root_0
, structOrVariantDeclaration75
.getTree());
3922 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3923 EarlyExitException eee
=
3924 new EarlyExitException(23, input
);
3933 retval
.stop
= input
.LT(-1);
3935 if ( state
.backtracking
==0 ) {
3937 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3938 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3940 if ( state
.backtracking
==0 ) {
3942 exit("structOrVariantDeclarationList");
3947 catch (RecognitionException e
)
3955 // $ANTLR end "structOrVariantDeclarationList"
3957 public static class structOrVariantDeclaration_return
extends ParserRuleReturnScope
{
3959 public Object
getTree() { return tree
; }
3962 // $ANTLR start "structOrVariantDeclaration"
3963 // CTFParser.g:511:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
3964 public final CTFParser
.structOrVariantDeclaration_return
structOrVariantDeclaration() throws RecognitionException
{
3965 CTFParser
.structOrVariantDeclaration_return retval
= new CTFParser
.structOrVariantDeclaration_return();
3966 retval
.start
= input
.LT(1);
3968 CommonTree root_0
= null;
3971 CTFParser
.declarationSpecifiers_return declarationSpecifiers76
= null;
3973 CTFParser
.declaratorList_return declaratorList77
= null;
3975 CTFParser
.structOrVariantDeclaratorList_return structOrVariantDeclaratorList78
= null;
3977 CTFParser
.typealiasDecl_return typealiasDecl79
= null;
3980 CommonTree TERM80_tree
=null;
3981 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
3982 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
3983 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
3984 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
3985 RewriteRuleSubtreeStream stream_structOrVariantDeclaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclaratorList");
3987 enter("structOrVariantDeclaration");
3990 // CTFParser.g:518:1: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
3991 // CTFParser.g:519:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
3993 // CTFParser.g:519:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
3995 int LA25_0
= input
.LA(1);
3997 if ( ((LA25_0
>=CONSTTOK
&& LA25_0
<=ENUMTOK
)||(LA25_0
>=FLOATINGPOINTTOK
&& LA25_0
<=SIGNEDTOK
)||(LA25_0
>=STRINGTOK
&& LA25_0
<=STRUCTTOK
)||(LA25_0
>=TYPEDEFTOK
&& LA25_0
<=IMAGINARYTOK
)) ) {
4000 else if ( (LA25_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
4003 else if ( (LA25_0
==TYPEALIASTOK
) ) {
4007 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4008 NoViableAltException nvae
=
4009 new NoViableAltException("", 25, 0, input
);
4015 // CTFParser.g:520:4: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
4017 // CTFParser.g:520:4: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
4018 // CTFParser.g:521:5: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
4020 pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1623
);
4021 declarationSpecifiers76
=declarationSpecifiers();
4027 if ( state
.backtracking
==0 ) {
4028 stream_declarationSpecifiers
.add(declarationSpecifiers76
.getTree());
4030 // CTFParser.g:522:7: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
4032 alt24
= dfa24
.predict(input
);
4035 // CTFParser.g:524:9: {...}? => declaratorList
4037 if ( !((inTypedef())) ) {
4038 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4039 throw new FailedPredicateException(input
, "structOrVariantDeclaration", "inTypedef()");
4041 pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1655
);
4042 declaratorList77
=declaratorList();
4048 if ( state
.backtracking
==0 ) {
4049 stream_declaratorList
.add(declaratorList77
.getTree());
4051 if ( state
.backtracking
==0 ) {
4057 // elements: declaratorList, declarationSpecifiers
4059 // rule labels: retval
4060 // token list labels:
4061 // rule list labels:
4063 if ( state
.backtracking
==0 ) {
4064 retval
.tree
= root_0
;
4065 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4067 root_0
= (CommonTree
)adaptor
.nil();
4068 // 525:11: -> ^( TYPEDEF declaratorList declarationSpecifiers )
4070 // CTFParser.g:525:14: ^( TYPEDEF declaratorList declarationSpecifiers )
4072 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4073 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
4075 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
4076 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
4078 adaptor
.addChild(root_0
, root_1
);
4083 retval
.tree
= root_0
;}
4087 // CTFParser.g:526:11: structOrVariantDeclaratorList
4089 pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1689
);
4090 structOrVariantDeclaratorList78
=structOrVariantDeclaratorList();
4096 if ( state
.backtracking
==0 ) {
4097 stream_structOrVariantDeclaratorList
.add(structOrVariantDeclaratorList78
.getTree());
4102 // elements: declarationSpecifiers, structOrVariantDeclaratorList
4104 // rule labels: retval
4105 // token list labels:
4106 // rule list labels:
4108 if ( state
.backtracking
==0 ) {
4109 retval
.tree
= root_0
;
4110 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4112 root_0
= (CommonTree
)adaptor
.nil();
4113 // 527:11: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
4115 // CTFParser.g:527:14: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
4117 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4118 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(SV_DECLARATION
, "SV_DECLARATION"), root_1
);
4120 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
4121 adaptor
.addChild(root_1
, stream_structOrVariantDeclaratorList
.nextTree());
4123 adaptor
.addChild(root_0
, root_1
);
4128 retval
.tree
= root_0
;}
4141 // CTFParser.g:532:5: typealiasDecl
4143 pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1739
);
4144 typealiasDecl79
=typealiasDecl();
4150 if ( state
.backtracking
==0 ) {
4151 stream_typealiasDecl
.add(typealiasDecl79
.getTree());
4156 // elements: typealiasDecl
4158 // rule labels: retval
4159 // token list labels:
4160 // rule list labels:
4162 if ( state
.backtracking
==0 ) {
4163 retval
.tree
= root_0
;
4164 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4166 root_0
= (CommonTree
)adaptor
.nil();
4167 // 532:19: -> typealiasDecl
4169 adaptor
.addChild(root_0
, stream_typealiasDecl
.nextTree());
4173 retval
.tree
= root_0
;}
4179 TERM80
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_structOrVariantDeclaration1751
); if (state
.failed
) {
4182 if ( state
.backtracking
==0 ) {
4183 stream_TERM
.add(TERM80
);
4189 retval
.stop
= input
.LT(-1);
4191 if ( state
.backtracking
==0 ) {
4193 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4194 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4196 if ( state
.backtracking
==0 ) {
4198 exit("structOrVariantDeclaration");
4203 catch (RecognitionException e
)
4211 // $ANTLR end "structOrVariantDeclaration"
4213 public static class specifierQualifierList_return
extends ParserRuleReturnScope
{
4215 public Object
getTree() { return tree
; }
4218 // $ANTLR start "specifierQualifierList"
4219 // CTFParser.g:537:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
4220 public final CTFParser
.specifierQualifierList_return
specifierQualifierList() throws RecognitionException
{
4221 CTFParser
.specifierQualifierList_return retval
= new CTFParser
.specifierQualifierList_return();
4222 retval
.start
= input
.LT(1);
4224 CommonTree root_0
= null;
4226 CTFParser
.typeQualifier_return typeQualifier81
= null;
4228 CTFParser
.typeSpecifier_return typeSpecifier82
= null;
4231 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
4232 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
4234 enter("specifierQualifierList");
4237 // CTFParser.g:544:1: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
4238 // CTFParser.g:545:3: ( typeQualifier | typeSpecifier )+
4240 // CTFParser.g:545:3: ( typeQualifier | typeSpecifier )+
4245 int LA26_0
= input
.LA(1);
4247 if ( (LA26_0
==CONSTTOK
) ) {
4250 else if ( ((LA26_0
>=CHARTOK
&& LA26_0
<=ENUMTOK
)||(LA26_0
>=FLOATINGPOINTTOK
&& LA26_0
<=SIGNEDTOK
)||(LA26_0
>=STRINGTOK
&& LA26_0
<=STRUCTTOK
)||(LA26_0
>=UNSIGNEDTOK
&& LA26_0
<=IMAGINARYTOK
)) ) {
4253 else if ( (LA26_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
4260 // CTFParser.g:545:4: typeQualifier
4262 pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1775
);
4263 typeQualifier81
=typeQualifier();
4269 if ( state
.backtracking
==0 ) {
4270 stream_typeQualifier
.add(typeQualifier81
.getTree());
4276 // CTFParser.g:545:20: typeSpecifier
4278 pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1779
);
4279 typeSpecifier82
=typeSpecifier();
4285 if ( state
.backtracking
==0 ) {
4286 stream_typeSpecifier
.add(typeSpecifier82
.getTree());
4296 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4297 EarlyExitException eee
=
4298 new EarlyExitException(26, input
);
4307 // elements: typeQualifier, typeSpecifier
4309 // rule labels: retval
4310 // token list labels:
4311 // rule list labels:
4313 if ( state
.backtracking
==0 ) {
4314 retval
.tree
= root_0
;
4315 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4317 root_0
= (CommonTree
)adaptor
.nil();
4318 // 545:36: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
4320 // CTFParser.g:545:39: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
4322 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4323 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
4325 // CTFParser.g:545:61: ( typeQualifier )*
4326 while ( stream_typeQualifier
.hasNext() ) {
4327 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
4330 stream_typeQualifier
.reset();
4331 // CTFParser.g:545:76: ( typeSpecifier )*
4332 while ( stream_typeSpecifier
.hasNext() ) {
4333 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
4336 stream_typeSpecifier
.reset();
4338 adaptor
.addChild(root_0
, root_1
);
4343 retval
.tree
= root_0
;}
4346 retval
.stop
= input
.LT(-1);
4348 if ( state
.backtracking
==0 ) {
4350 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4351 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4353 if ( state
.backtracking
==0 ) {
4355 exit("specifierQualifierList");
4360 catch (RecognitionException e
)
4368 // $ANTLR end "specifierQualifierList"
4370 public static class structOrVariantDeclaratorList_return
extends ParserRuleReturnScope
{
4372 public Object
getTree() { return tree
; }
4375 // $ANTLR start "structOrVariantDeclaratorList"
4376 // CTFParser.g:548:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
4377 public final CTFParser
.structOrVariantDeclaratorList_return
structOrVariantDeclaratorList() throws RecognitionException
{
4378 CTFParser
.structOrVariantDeclaratorList_return retval
= new CTFParser
.structOrVariantDeclaratorList_return();
4379 retval
.start
= input
.LT(1);
4381 CommonTree root_0
= null;
4383 Token SEPARATOR84
=null;
4384 CTFParser
.structOrVariantDeclarator_return structOrVariantDeclarator83
= null;
4386 CTFParser
.structOrVariantDeclarator_return structOrVariantDeclarator85
= null;
4389 CommonTree SEPARATOR84_tree
=null;
4390 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
4391 RewriteRuleSubtreeStream stream_structOrVariantDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarator");
4393 enter("structOrVariantDeclaratorList");
4396 // CTFParser.g:555:1: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
4397 // CTFParser.g:556:3: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
4399 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1816
);
4400 structOrVariantDeclarator83
=structOrVariantDeclarator();
4406 if ( state
.backtracking
==0 ) {
4407 stream_structOrVariantDeclarator
.add(structOrVariantDeclarator83
.getTree());
4409 // CTFParser.g:556:29: ( SEPARATOR structOrVariantDeclarator )*
4413 int LA27_0
= input
.LA(1);
4415 if ( (LA27_0
==SEPARATOR
) ) {
4422 // CTFParser.g:556:30: SEPARATOR structOrVariantDeclarator
4424 SEPARATOR84
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1819
); if (state
.failed
) {
4427 if ( state
.backtracking
==0 ) {
4428 stream_SEPARATOR
.add(SEPARATOR84
);
4431 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1821
);
4432 structOrVariantDeclarator85
=structOrVariantDeclarator();
4438 if ( state
.backtracking
==0 ) {
4439 stream_structOrVariantDeclarator
.add(structOrVariantDeclarator85
.getTree());
4453 // elements: structOrVariantDeclarator
4455 // rule labels: retval
4456 // token list labels:
4457 // rule list labels:
4459 if ( state
.backtracking
==0 ) {
4460 retval
.tree
= root_0
;
4461 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4463 root_0
= (CommonTree
)adaptor
.nil();
4464 // 556:68: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
4466 // CTFParser.g:556:71: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
4468 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4469 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
4471 if ( !(stream_structOrVariantDeclarator
.hasNext()) ) {
4472 throw new RewriteEarlyExitException();
4474 while ( stream_structOrVariantDeclarator
.hasNext() ) {
4475 adaptor
.addChild(root_1
, stream_structOrVariantDeclarator
.nextTree());
4478 stream_structOrVariantDeclarator
.reset();
4480 adaptor
.addChild(root_0
, root_1
);
4485 retval
.tree
= root_0
;}
4488 retval
.stop
= input
.LT(-1);
4490 if ( state
.backtracking
==0 ) {
4492 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4493 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4495 if ( state
.backtracking
==0 ) {
4497 exit("structOrVariantDeclaratorList");
4502 catch (RecognitionException e
)
4510 // $ANTLR end "structOrVariantDeclaratorList"
4512 public static class structOrVariantDeclarator_return
extends ParserRuleReturnScope
{
4514 public Object
getTree() { return tree
; }
4517 // $ANTLR start "structOrVariantDeclarator"
4518 // CTFParser.g:559:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
4519 public final CTFParser
.structOrVariantDeclarator_return
structOrVariantDeclarator() throws RecognitionException
{
4520 CTFParser
.structOrVariantDeclarator_return retval
= new CTFParser
.structOrVariantDeclarator_return();
4521 retval
.start
= input
.LT(1);
4523 CommonTree root_0
= null;
4526 CTFParser
.declarator_return declarator86
= null;
4528 CTFParser
.numberLiteral_return numberLiteral88
= null;
4531 CommonTree COLON87_tree
=null;
4532 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
4533 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
4534 RewriteRuleSubtreeStream stream_numberLiteral
=new RewriteRuleSubtreeStream(adaptor
,"rule numberLiteral");
4536 enter("structOrVariantDeclarator");
4539 // CTFParser.g:566:1: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
4540 // CTFParser.g:568:5: ( declarator ( COLON numberLiteral )? )
4542 // CTFParser.g:568:5: ( declarator ( COLON numberLiteral )? )
4543 // CTFParser.g:568:6: declarator ( COLON numberLiteral )?
4545 pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1862
);
4546 declarator86
=declarator();
4552 if ( state
.backtracking
==0 ) {
4553 stream_declarator
.add(declarator86
.getTree());
4555 // CTFParser.g:568:17: ( COLON numberLiteral )?
4557 int LA28_0
= input
.LA(1);
4559 if ( (LA28_0
==COLON
) ) {
4564 // CTFParser.g:568:18: COLON numberLiteral
4566 COLON87
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_structOrVariantDeclarator1865
); if (state
.failed
) {
4569 if ( state
.backtracking
==0 ) {
4570 stream_COLON
.add(COLON87
);
4573 pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1867
);
4574 numberLiteral88
=numberLiteral();
4580 if ( state
.backtracking
==0 ) {
4581 stream_numberLiteral
.add(numberLiteral88
.getTree());
4595 // elements: declarator
4597 // rule labels: retval
4598 // token list labels:
4599 // rule list labels:
4601 if ( state
.backtracking
==0 ) {
4602 retval
.tree
= root_0
;
4603 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4605 root_0
= (CommonTree
)adaptor
.nil();
4606 // 568:41: -> declarator
4608 adaptor
.addChild(root_0
, stream_declarator
.nextTree());
4612 retval
.tree
= root_0
;}
4615 retval
.stop
= input
.LT(-1);
4617 if ( state
.backtracking
==0 ) {
4619 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4620 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4622 if ( state
.backtracking
==0 ) {
4624 exit("structOrVariantDeclarator");
4629 catch (RecognitionException e
)
4637 // $ANTLR end "structOrVariantDeclarator"
4639 public static class variantSpecifier_return
extends ParserRuleReturnScope
{
4641 public Object
getTree() { return tree
; }
4644 // $ANTLR start "variantSpecifier"
4645 // CTFParser.g:572:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
4646 public final CTFParser
.variantSpecifier_return
variantSpecifier() throws RecognitionException
{
4647 CTFParser
.variantSpecifier_return retval
= new CTFParser
.variantSpecifier_return();
4648 retval
.start
= input
.LT(1);
4650 CommonTree root_0
= null;
4652 Token VARIANTTOK89
=null;
4653 CTFParser
.variantName_return variantName90
= null;
4655 CTFParser
.variantTag_return variantTag91
= null;
4657 CTFParser
.variantBody_return variantBody92
= null;
4659 CTFParser
.variantBody_return variantBody93
= null;
4661 CTFParser
.variantTag_return variantTag94
= null;
4663 CTFParser
.variantBody_return variantBody95
= null;
4665 CTFParser
.variantBody_return variantBody96
= null;
4668 CommonTree VARIANTTOK89_tree
=null;
4669 RewriteRuleTokenStream stream_VARIANTTOK
=new RewriteRuleTokenStream(adaptor
,"token VARIANTTOK");
4670 RewriteRuleSubtreeStream stream_variantName
=new RewriteRuleSubtreeStream(adaptor
,"rule variantName");
4671 RewriteRuleSubtreeStream stream_variantTag
=new RewriteRuleSubtreeStream(adaptor
,"rule variantTag");
4672 RewriteRuleSubtreeStream stream_variantBody
=new RewriteRuleSubtreeStream(adaptor
,"rule variantBody");
4674 enter("variantSpecifier");
4677 // CTFParser.g:579:1: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
4678 // CTFParser.g:580:3: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4680 VARIANTTOK89
=(Token
)match(input
,VARIANTTOK
,FOLLOW_VARIANTTOK_in_variantSpecifier1901
); if (state
.failed
) {
4683 if ( state
.backtracking
==0 ) {
4684 stream_VARIANTTOK
.add(VARIANTTOK89
);
4687 // CTFParser.g:581:3: ( ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4689 switch ( input
.LA(1) ) {
4706 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4707 NoViableAltException nvae
=
4708 new NoViableAltException("", 31, 0, input
);
4715 // CTFParser.g:582:5: ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) )
4717 // CTFParser.g:582:5: ( variantName ( ( variantTag ( variantBody | ) ) | variantBody ) )
4718 // CTFParser.g:583:7: variantName ( ( variantTag ( variantBody | ) ) | variantBody )
4720 pushFollow(FOLLOW_variantName_in_variantSpecifier1919
);
4721 variantName90
=variantName();
4727 if ( state
.backtracking
==0 ) {
4728 stream_variantName
.add(variantName90
.getTree());
4730 // CTFParser.g:584:7: ( ( variantTag ( variantBody | ) ) | variantBody )
4732 int LA30_0
= input
.LA(1);
4734 if ( (LA30_0
==LT
) ) {
4737 else if ( (LA30_0
==LCURL
) ) {
4741 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4742 NoViableAltException nvae
=
4743 new NoViableAltException("", 30, 0, input
);
4749 // CTFParser.g:585:9: ( variantTag ( variantBody | ) )
4751 // CTFParser.g:585:9: ( variantTag ( variantBody | ) )
4752 // CTFParser.g:586:11: variantTag ( variantBody | )
4754 pushFollow(FOLLOW_variantTag_in_variantSpecifier1950
);
4755 variantTag91
=variantTag();
4761 if ( state
.backtracking
==0 ) {
4762 stream_variantTag
.add(variantTag91
.getTree());
4764 // CTFParser.g:587:11: ( variantBody | )
4766 int LA29_0
= input
.LA(1);
4768 if ( (LA29_0
==LCURL
) ) {
4769 switch ( input
.LA(2) ) {
4774 case FLOATINGPOINTTOK
:
4795 int LA29_4
= input
.LA(3);
4797 if ( ((LA29_4
>=CONSTTOK
&& LA29_4
<=ENUMTOK
)||(LA29_4
>=FLOATINGPOINTTOK
&& LA29_4
<=SIGNEDTOK
)||(LA29_4
>=STRINGTOK
&& LA29_4
<=STRUCTTOK
)||(LA29_4
>=TYPEDEFTOK
&& LA29_4
<=IMAGINARYTOK
)||LA29_4
==POINTER
||LA29_4
==IDENTIFIER
) ) {
4800 else if ( (LA29_4
==SEPARATOR
||LA29_4
==ASSIGNMENT
||LA29_4
==RCURL
) ) {
4804 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4805 NoViableAltException nvae
=
4806 new NoViableAltException("", 29, 4, input
);
4814 int LA29_5
= input
.LA(3);
4816 if ( ((LA29_5
>=CONSTTOK
&& LA29_5
<=ENUMTOK
)||(LA29_5
>=FLOATINGPOINTTOK
&& LA29_5
<=SIGNEDTOK
)||(LA29_5
>=STRINGTOK
&& LA29_5
<=STRUCTTOK
)||(LA29_5
>=TYPEDEFTOK
&& LA29_5
<=IMAGINARYTOK
)||LA29_5
==LCURL
||LA29_5
==POINTER
||LA29_5
==IDENTIFIER
) ) {
4819 else if ( (LA29_5
==SEPARATOR
||LA29_5
==ASSIGNMENT
||LA29_5
==RCURL
) ) {
4823 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4824 NoViableAltException nvae
=
4825 new NoViableAltException("", 29, 5, input
);
4833 int LA29_6
= input
.LA(3);
4835 if ( (LA29_6
==SEPARATOR
||LA29_6
==ASSIGNMENT
||LA29_6
==RCURL
) ) {
4838 else if ( ((LA29_6
>=CONSTTOK
&& LA29_6
<=ENUMTOK
)||(LA29_6
>=FLOATINGPOINTTOK
&& LA29_6
<=SIGNEDTOK
)||(LA29_6
>=STRINGTOK
&& LA29_6
<=STRUCTTOK
)||(LA29_6
>=TYPEDEFTOK
&& LA29_6
<=IMAGINARYTOK
)||LA29_6
==POINTER
||LA29_6
==IDENTIFIER
) ) {
4842 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4843 NoViableAltException nvae
=
4844 new NoViableAltException("", 29, 6, input
);
4852 case STRING_LITERAL
:
4858 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4859 NoViableAltException nvae
=
4860 new NoViableAltException("", 29, 1, input
);
4866 else if ( (LA29_0
==EOF
||(LA29_0
>=CONSTTOK
&& LA29_0
<=ENUMTOK
)||(LA29_0
>=FLOATINGPOINTTOK
&& LA29_0
<=SIGNEDTOK
)||(LA29_0
>=STRINGTOK
&& LA29_0
<=STRUCTTOK
)||(LA29_0
>=TYPEDEFTOK
&& LA29_0
<=IMAGINARYTOK
)||LA29_0
==TYPE_ASSIGNMENT
||LA29_0
==LPAREN
||(LA29_0
>=TERM
&& LA29_0
<=POINTER
)||LA29_0
==IDENTIFIER
) ) {
4870 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4871 NoViableAltException nvae
=
4872 new NoViableAltException("", 29, 0, input
);
4878 // CTFParser.g:588:13: variantBody
4880 pushFollow(FOLLOW_variantBody_in_variantSpecifier1976
);
4881 variantBody92
=variantBody();
4887 if ( state
.backtracking
==0 ) {
4888 stream_variantBody
.add(variantBody92
.getTree());
4894 // CTFParser.g:591:11:
4908 // CTFParser.g:594:9: variantBody
4910 pushFollow(FOLLOW_variantBody_in_variantSpecifier2044
);
4911 variantBody93
=variantBody();
4917 if ( state
.backtracking
==0 ) {
4918 stream_variantBody
.add(variantBody93
.getTree());
4933 // CTFParser.g:598:5: ( variantTag variantBody )
4935 // CTFParser.g:598:5: ( variantTag variantBody )
4936 // CTFParser.g:598:6: variantTag variantBody
4938 pushFollow(FOLLOW_variantTag_in_variantSpecifier2069
);
4939 variantTag94
=variantTag();
4945 if ( state
.backtracking
==0 ) {
4946 stream_variantTag
.add(variantTag94
.getTree());
4948 pushFollow(FOLLOW_variantBody_in_variantSpecifier2071
);
4949 variantBody95
=variantBody();
4955 if ( state
.backtracking
==0 ) {
4956 stream_variantBody
.add(variantBody95
.getTree());
4965 // CTFParser.g:600:5: variantBody
4967 pushFollow(FOLLOW_variantBody_in_variantSpecifier2082
);
4968 variantBody96
=variantBody();
4974 if ( state
.backtracking
==0 ) {
4975 stream_variantBody
.add(variantBody96
.getTree());
4986 // elements: variantTag, variantName, variantBody
4988 // rule labels: retval
4989 // token list labels:
4990 // rule list labels:
4992 if ( state
.backtracking
==0 ) {
4993 retval
.tree
= root_0
;
4994 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
4996 root_0
= (CommonTree
)adaptor
.nil();
4997 // 601:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
4999 // CTFParser.g:601:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
5001 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5002 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT
, "VARIANT"), root_1
);
5004 // CTFParser.g:601:18: ( variantName )?
5005 if ( stream_variantName
.hasNext() ) {
5006 adaptor
.addChild(root_1
, stream_variantName
.nextTree());
5009 stream_variantName
.reset();
5010 // CTFParser.g:601:31: ( variantTag )?
5011 if ( stream_variantTag
.hasNext() ) {
5012 adaptor
.addChild(root_1
, stream_variantTag
.nextTree());
5015 stream_variantTag
.reset();
5016 // CTFParser.g:601:43: ( variantBody )?
5017 if ( stream_variantBody
.hasNext() ) {
5018 adaptor
.addChild(root_1
, stream_variantBody
.nextTree());
5021 stream_variantBody
.reset();
5023 adaptor
.addChild(root_0
, root_1
);
5028 retval
.tree
= root_0
;}
5031 retval
.stop
= input
.LT(-1);
5033 if ( state
.backtracking
==0 ) {
5035 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5036 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5038 if ( state
.backtracking
==0 ) {
5040 exit("variantSpecifier");
5045 catch (RecognitionException e
)
5053 // $ANTLR end "variantSpecifier"
5055 public static class variantName_return
extends ParserRuleReturnScope
{
5057 public Object
getTree() { return tree
; }
5060 // $ANTLR start "variantName"
5061 // CTFParser.g:604:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
5062 public final CTFParser
.variantName_return
variantName() throws RecognitionException
{
5063 CTFParser
.variantName_return retval
= new CTFParser
.variantName_return();
5064 retval
.start
= input
.LT(1);
5066 CommonTree root_0
= null;
5068 Token IDENTIFIER97
=null;
5070 CommonTree IDENTIFIER97_tree
=null;
5071 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
5074 enter("variantName");
5077 // CTFParser.g:612:1: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
5078 // CTFParser.g:613:3: IDENTIFIER
5080 IDENTIFIER97
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantName2124
); if (state
.failed
) {
5083 if ( state
.backtracking
==0 ) {
5084 stream_IDENTIFIER
.add(IDENTIFIER97
);
5090 // elements: IDENTIFIER
5092 // rule labels: retval
5093 // token list labels:
5094 // rule list labels:
5096 if ( state
.backtracking
==0 ) {
5097 retval
.tree
= root_0
;
5098 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5100 root_0
= (CommonTree
)adaptor
.nil();
5101 // 613:14: -> ^( VARIANT_NAME IDENTIFIER )
5103 // CTFParser.g:613:17: ^( VARIANT_NAME IDENTIFIER )
5105 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5106 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_NAME
, "VARIANT_NAME"), root_1
);
5108 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
5110 adaptor
.addChild(root_0
, root_1
);
5115 retval
.tree
= root_0
;}
5118 retval
.stop
= input
.LT(-1);
5120 if ( state
.backtracking
==0 ) {
5122 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5123 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5125 if ( state
.backtracking
==0 ) {
5127 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
5128 exit("variantName");
5133 catch (RecognitionException e
)
5141 // $ANTLR end "variantName"
5143 public static class variantBody_return
extends ParserRuleReturnScope
{
5145 public Object
getTree() { return tree
; }
5148 // $ANTLR start "variantBody"
5149 // CTFParser.g:616:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
5150 public final CTFParser
.variantBody_return
variantBody() throws RecognitionException
{
5151 Symbols_stack
.push(new Symbols_scope());
5153 CTFParser
.variantBody_return retval
= new CTFParser
.variantBody_return();
5154 retval
.start
= input
.LT(1);
5156 CommonTree root_0
= null;
5159 Token RCURL100
=null;
5160 CTFParser
.structOrVariantDeclarationList_return structOrVariantDeclarationList99
= null;
5163 CommonTree LCURL98_tree
=null;
5164 CommonTree RCURL100_tree
=null;
5165 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
5166 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
5167 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
5169 enter("variantBody");
5170 debug_print("Scope push " + Symbols_stack
.size());
5171 ((Symbols_scope
)Symbols_stack
.peek()).types
= new HashSet
<String
>();
5174 // CTFParser.g:627:1: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
5175 // CTFParser.g:628:3: LCURL structOrVariantDeclarationList RCURL
5177 LCURL98
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_variantBody2160
); if (state
.failed
) {
5180 if ( state
.backtracking
==0 ) {
5181 stream_LCURL
.add(LCURL98
);
5184 pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2162
);
5185 structOrVariantDeclarationList99
=structOrVariantDeclarationList();
5191 if ( state
.backtracking
==0 ) {
5192 stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList99
.getTree());
5194 RCURL100
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_variantBody2164
); if (state
.failed
) {
5197 if ( state
.backtracking
==0 ) {
5198 stream_RCURL
.add(RCURL100
);
5204 // elements: structOrVariantDeclarationList
5206 // rule labels: retval
5207 // token list labels:
5208 // rule list labels:
5210 if ( state
.backtracking
==0 ) {
5211 retval
.tree
= root_0
;
5212 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5214 root_0
= (CommonTree
)adaptor
.nil();
5215 // 628:46: -> ^( VARIANT_BODY structOrVariantDeclarationList )
5217 // CTFParser.g:628:49: ^( VARIANT_BODY structOrVariantDeclarationList )
5219 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5220 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_BODY
, "VARIANT_BODY"), root_1
);
5222 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
5224 adaptor
.addChild(root_0
, root_1
);
5229 retval
.tree
= root_0
;}
5232 retval
.stop
= input
.LT(-1);
5234 if ( state
.backtracking
==0 ) {
5236 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5237 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5239 if ( state
.backtracking
==0 ) {
5241 debug_print("Scope pop " + Symbols_stack
.size());
5242 exit("variantBody");
5247 catch (RecognitionException e
)
5252 Symbols_stack
.pop();
5257 // $ANTLR end "variantBody"
5259 public static class variantTag_return
extends ParserRuleReturnScope
{
5261 public Object
getTree() { return tree
; }
5264 // $ANTLR start "variantTag"
5265 // CTFParser.g:631:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
5266 public final CTFParser
.variantTag_return
variantTag() throws RecognitionException
{
5267 CTFParser
.variantTag_return retval
= new CTFParser
.variantTag_return();
5268 retval
.start
= input
.LT(1);
5270 CommonTree root_0
= null;
5273 Token IDENTIFIER102
=null;
5276 CommonTree LT101_tree
=null;
5277 CommonTree IDENTIFIER102_tree
=null;
5278 CommonTree GT103_tree
=null;
5279 RewriteRuleTokenStream stream_GT
=new RewriteRuleTokenStream(adaptor
,"token GT");
5280 RewriteRuleTokenStream stream_LT
=new RewriteRuleTokenStream(adaptor
,"token LT");
5281 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
5284 enter("variantTag");
5287 // CTFParser.g:639:1: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
5288 // CTFParser.g:640:3: LT IDENTIFIER GT
5290 LT101
=(Token
)match(input
,LT
,FOLLOW_LT_in_variantTag2195
); if (state
.failed
) {
5293 if ( state
.backtracking
==0 ) {
5294 stream_LT
.add(LT101
);
5297 IDENTIFIER102
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantTag2197
); if (state
.failed
) {
5300 if ( state
.backtracking
==0 ) {
5301 stream_IDENTIFIER
.add(IDENTIFIER102
);
5304 GT103
=(Token
)match(input
,GT
,FOLLOW_GT_in_variantTag2199
); if (state
.failed
) {
5307 if ( state
.backtracking
==0 ) {
5308 stream_GT
.add(GT103
);
5314 // elements: IDENTIFIER
5316 // rule labels: retval
5317 // token list labels:
5318 // rule list labels:
5320 if ( state
.backtracking
==0 ) {
5321 retval
.tree
= root_0
;
5322 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5324 root_0
= (CommonTree
)adaptor
.nil();
5325 // 640:20: -> ^( VARIANT_TAG IDENTIFIER )
5327 // CTFParser.g:640:23: ^( VARIANT_TAG IDENTIFIER )
5329 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5330 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_TAG
, "VARIANT_TAG"), root_1
);
5332 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
5334 adaptor
.addChild(root_0
, root_1
);
5339 retval
.tree
= root_0
;}
5342 retval
.stop
= input
.LT(-1);
5344 if ( state
.backtracking
==0 ) {
5346 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5347 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5349 if ( state
.backtracking
==0 ) {
5351 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
5357 catch (RecognitionException e
)
5365 // $ANTLR end "variantTag"
5367 public static class enumSpecifier_return
extends ParserRuleReturnScope
{
5369 public Object
getTree() { return tree
; }
5372 // $ANTLR start "enumSpecifier"
5373 // CTFParser.g:643:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody | ) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
5374 public final CTFParser
.enumSpecifier_return
enumSpecifier() throws RecognitionException
{
5375 CTFParser
.enumSpecifier_return retval
= new CTFParser
.enumSpecifier_return();
5376 retval
.start
= input
.LT(1);
5378 CommonTree root_0
= null;
5380 Token ENUMTOK104
=null;
5381 CTFParser
.enumName_return enumName105
= null;
5383 CTFParser
.enumContainerType_return enumContainerType106
= null;
5385 CTFParser
.enumBody_return enumBody107
= null;
5387 CTFParser
.enumBody_return enumBody108
= null;
5389 CTFParser
.enumContainerType_return enumContainerType109
= null;
5391 CTFParser
.enumBody_return enumBody110
= null;
5393 CTFParser
.enumBody_return enumBody111
= null;
5396 CommonTree ENUMTOK104_tree
=null;
5397 RewriteRuleTokenStream stream_ENUMTOK
=new RewriteRuleTokenStream(adaptor
,"token ENUMTOK");
5398 RewriteRuleSubtreeStream stream_enumName
=new RewriteRuleSubtreeStream(adaptor
,"rule enumName");
5399 RewriteRuleSubtreeStream stream_enumContainerType
=new RewriteRuleSubtreeStream(adaptor
,"rule enumContainerType");
5400 RewriteRuleSubtreeStream stream_enumBody
=new RewriteRuleSubtreeStream(adaptor
,"rule enumBody");
5402 enter("enumSpecifier");
5405 // CTFParser.g:650:1: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody | ) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
5406 // CTFParser.g:651:2: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody | ) ) | ( enumContainerType enumBody | enumBody ) )
5408 ENUMTOK104
=(Token
)match(input
,ENUMTOK
,FOLLOW_ENUMTOK_in_enumSpecifier2229
); if (state
.failed
) {
5411 if ( state
.backtracking
==0 ) {
5412 stream_ENUMTOK
.add(ENUMTOK104
);
5415 // CTFParser.g:652:2: ( ( enumName ( enumContainerType enumBody | enumBody | ) ) | ( enumContainerType enumBody | enumBody ) )
5417 int LA34_0
= input
.LA(1);
5419 if ( (LA34_0
==IDENTIFIER
) ) {
5422 else if ( (LA34_0
==COLON
||LA34_0
==LCURL
) ) {
5426 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
5427 NoViableAltException nvae
=
5428 new NoViableAltException("", 34, 0, input
);
5434 // CTFParser.g:654:3: ( enumName ( enumContainerType enumBody | enumBody | ) )
5436 // CTFParser.g:654:3: ( enumName ( enumContainerType enumBody | enumBody | ) )
5437 // CTFParser.g:655:4: enumName ( enumContainerType enumBody | enumBody | )
5439 pushFollow(FOLLOW_enumName_in_enumSpecifier2244
);
5440 enumName105
=enumName();
5446 if ( state
.backtracking
==0 ) {
5447 stream_enumName
.add(enumName105
.getTree());
5449 // CTFParser.g:656:4: ( enumContainerType enumBody | enumBody | )
5451 alt32
= dfa32
.predict(input
);
5454 // CTFParser.g:657:5: enumContainerType enumBody
5456 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2255
);
5457 enumContainerType106
=enumContainerType();
5463 if ( state
.backtracking
==0 ) {
5464 stream_enumContainerType
.add(enumContainerType106
.getTree());
5466 pushFollow(FOLLOW_enumBody_in_enumSpecifier2257
);
5467 enumBody107
=enumBody();
5473 if ( state
.backtracking
==0 ) {
5474 stream_enumBody
.add(enumBody107
.getTree());
5480 // CTFParser.g:659:5: enumBody
5482 pushFollow(FOLLOW_enumBody_in_enumSpecifier2269
);
5483 enumBody108
=enumBody();
5489 if ( state
.backtracking
==0 ) {
5490 stream_enumBody
.add(enumBody108
.getTree());
5496 // CTFParser.g:662:4:
5510 // CTFParser.g:666:3: ( enumContainerType enumBody | enumBody )
5512 // CTFParser.g:666:3: ( enumContainerType enumBody | enumBody )
5514 int LA33_0
= input
.LA(1);
5516 if ( (LA33_0
==COLON
) ) {
5519 else if ( (LA33_0
==LCURL
) ) {
5523 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
5524 NoViableAltException nvae
=
5525 new NoViableAltException("", 33, 0, input
);
5531 // CTFParser.g:667:4: enumContainerType enumBody
5533 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2304
);
5534 enumContainerType109
=enumContainerType();
5540 if ( state
.backtracking
==0 ) {
5541 stream_enumContainerType
.add(enumContainerType109
.getTree());
5543 pushFollow(FOLLOW_enumBody_in_enumSpecifier2306
);
5544 enumBody110
=enumBody();
5550 if ( state
.backtracking
==0 ) {
5551 stream_enumBody
.add(enumBody110
.getTree());
5557 // CTFParser.g:669:4: enumBody
5559 pushFollow(FOLLOW_enumBody_in_enumSpecifier2315
);
5560 enumBody111
=enumBody();
5566 if ( state
.backtracking
==0 ) {
5567 stream_enumBody
.add(enumBody111
.getTree());
5584 // elements: enumBody, enumContainerType, enumName
5586 // rule labels: retval
5587 // token list labels:
5588 // rule list labels:
5590 if ( state
.backtracking
==0 ) {
5591 retval
.tree
= root_0
;
5592 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5594 root_0
= (CommonTree
)adaptor
.nil();
5595 // 671:4: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
5597 // CTFParser.g:671:7: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
5599 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5600 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM
, "ENUM"), root_1
);
5602 // CTFParser.g:671:14: ( enumName )?
5603 if ( stream_enumName
.hasNext() ) {
5604 adaptor
.addChild(root_1
, stream_enumName
.nextTree());
5607 stream_enumName
.reset();
5608 // CTFParser.g:671:24: ( enumContainerType )?
5609 if ( stream_enumContainerType
.hasNext() ) {
5610 adaptor
.addChild(root_1
, stream_enumContainerType
.nextTree());
5613 stream_enumContainerType
.reset();
5614 // CTFParser.g:671:43: ( enumBody )?
5615 if ( stream_enumBody
.hasNext() ) {
5616 adaptor
.addChild(root_1
, stream_enumBody
.nextTree());
5619 stream_enumBody
.reset();
5621 adaptor
.addChild(root_0
, root_1
);
5626 retval
.tree
= root_0
;}
5629 retval
.stop
= input
.LT(-1);
5631 if ( state
.backtracking
==0 ) {
5633 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5634 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5636 if ( state
.backtracking
==0 ) {
5638 exit("enumSpecifier");
5643 catch (RecognitionException e
)
5651 // $ANTLR end "enumSpecifier"
5653 public static class enumName_return
extends ParserRuleReturnScope
{
5655 public Object
getTree() { return tree
; }
5658 // $ANTLR start "enumName"
5659 // CTFParser.g:674:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
5660 public final CTFParser
.enumName_return
enumName() throws RecognitionException
{
5661 CTFParser
.enumName_return retval
= new CTFParser
.enumName_return();
5662 retval
.start
= input
.LT(1);
5664 CommonTree root_0
= null;
5666 Token IDENTIFIER112
=null;
5668 CommonTree IDENTIFIER112_tree
=null;
5669 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
5675 // CTFParser.g:682:1: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
5676 // CTFParser.g:683:3: IDENTIFIER
5678 IDENTIFIER112
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumName2360
); if (state
.failed
) {
5681 if ( state
.backtracking
==0 ) {
5682 stream_IDENTIFIER
.add(IDENTIFIER112
);
5688 // elements: IDENTIFIER
5690 // rule labels: retval
5691 // token list labels:
5692 // rule list labels:
5694 if ( state
.backtracking
==0 ) {
5695 retval
.tree
= root_0
;
5696 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5698 root_0
= (CommonTree
)adaptor
.nil();
5699 // 683:14: -> ^( ENUM_NAME IDENTIFIER )
5701 // CTFParser.g:683:17: ^( ENUM_NAME IDENTIFIER )
5703 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5704 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_NAME
, "ENUM_NAME"), root_1
);
5706 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
5708 adaptor
.addChild(root_0
, root_1
);
5713 retval
.tree
= root_0
;}
5716 retval
.stop
= input
.LT(-1);
5718 if ( state
.backtracking
==0 ) {
5720 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5721 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5723 if ( state
.backtracking
==0 ) {
5725 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
5731 catch (RecognitionException e
)
5739 // $ANTLR end "enumName"
5741 public static class enumBody_return
extends ParserRuleReturnScope
{
5743 public Object
getTree() { return tree
; }
5746 // $ANTLR start "enumBody"
5747 // CTFParser.g:686:1: enumBody : LCURL enumeratorList ( SEPARATOR RCURL | RCURL ) -> ^( ENUM_BODY enumeratorList ) ;
5748 public final CTFParser
.enumBody_return
enumBody() throws RecognitionException
{
5749 CTFParser
.enumBody_return retval
= new CTFParser
.enumBody_return();
5750 retval
.start
= input
.LT(1);
5752 CommonTree root_0
= null;
5754 Token LCURL113
=null;
5755 Token SEPARATOR115
=null;
5756 Token RCURL116
=null;
5757 Token RCURL117
=null;
5758 CTFParser
.enumeratorList_return enumeratorList114
= null;
5761 CommonTree LCURL113_tree
=null;
5762 CommonTree SEPARATOR115_tree
=null;
5763 CommonTree RCURL116_tree
=null;
5764 CommonTree RCURL117_tree
=null;
5765 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
5766 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
5767 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
5768 RewriteRuleSubtreeStream stream_enumeratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule enumeratorList");
5773 // CTFParser.g:693:1: ( LCURL enumeratorList ( SEPARATOR RCURL | RCURL ) -> ^( ENUM_BODY enumeratorList ) )
5774 // CTFParser.g:694:3: LCURL enumeratorList ( SEPARATOR RCURL | RCURL )
5776 LCURL113
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_enumBody2393
); if (state
.failed
) {
5779 if ( state
.backtracking
==0 ) {
5780 stream_LCURL
.add(LCURL113
);
5783 pushFollow(FOLLOW_enumeratorList_in_enumBody2395
);
5784 enumeratorList114
=enumeratorList();
5790 if ( state
.backtracking
==0 ) {
5791 stream_enumeratorList
.add(enumeratorList114
.getTree());
5793 // CTFParser.g:694:24: ( SEPARATOR RCURL | RCURL )
5795 int LA35_0
= input
.LA(1);
5797 if ( (LA35_0
==SEPARATOR
) ) {
5800 else if ( (LA35_0
==RCURL
) ) {
5804 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
5805 NoViableAltException nvae
=
5806 new NoViableAltException("", 35, 0, input
);
5812 // CTFParser.g:694:25: SEPARATOR RCURL
5814 SEPARATOR115
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumBody2398
); if (state
.failed
) {
5817 if ( state
.backtracking
==0 ) {
5818 stream_SEPARATOR
.add(SEPARATOR115
);
5821 RCURL116
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_enumBody2400
); if (state
.failed
) {
5824 if ( state
.backtracking
==0 ) {
5825 stream_RCURL
.add(RCURL116
);
5832 // CTFParser.g:694:43: RCURL
5834 RCURL117
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_enumBody2404
); if (state
.failed
) {
5837 if ( state
.backtracking
==0 ) {
5838 stream_RCURL
.add(RCURL117
);
5850 // elements: enumeratorList
5852 // rule labels: retval
5853 // token list labels:
5854 // rule list labels:
5856 if ( state
.backtracking
==0 ) {
5857 retval
.tree
= root_0
;
5858 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5860 root_0
= (CommonTree
)adaptor
.nil();
5861 // 694:50: -> ^( ENUM_BODY enumeratorList )
5863 // CTFParser.g:694:53: ^( ENUM_BODY enumeratorList )
5865 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5866 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_BODY
, "ENUM_BODY"), root_1
);
5868 adaptor
.addChild(root_1
, stream_enumeratorList
.nextTree());
5870 adaptor
.addChild(root_0
, root_1
);
5875 retval
.tree
= root_0
;}
5878 retval
.stop
= input
.LT(-1);
5880 if ( state
.backtracking
==0 ) {
5882 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5883 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5885 if ( state
.backtracking
==0 ) {
5892 catch (RecognitionException e
)
5900 // $ANTLR end "enumBody"
5902 public static class enumContainerType_return
extends ParserRuleReturnScope
{
5904 public Object
getTree() { return tree
; }
5907 // $ANTLR start "enumContainerType"
5908 // CTFParser.g:697:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
5909 public final CTFParser
.enumContainerType_return
enumContainerType() throws RecognitionException
{
5910 CTFParser
.enumContainerType_return retval
= new CTFParser
.enumContainerType_return();
5911 retval
.start
= input
.LT(1);
5913 CommonTree root_0
= null;
5915 Token COLON118
=null;
5916 CTFParser
.declarationSpecifiers_return declarationSpecifiers119
= null;
5919 CommonTree COLON118_tree
=null;
5920 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
5921 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
5923 enter("enumContainerType");
5926 // CTFParser.g:704:1: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
5927 // CTFParser.g:705:3: COLON declarationSpecifiers
5929 COLON118
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_enumContainerType2436
); if (state
.failed
) {
5932 if ( state
.backtracking
==0 ) {
5933 stream_COLON
.add(COLON118
);
5936 pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2438
);
5937 declarationSpecifiers119
=declarationSpecifiers();
5943 if ( state
.backtracking
==0 ) {
5944 stream_declarationSpecifiers
.add(declarationSpecifiers119
.getTree());
5949 // elements: declarationSpecifiers
5951 // rule labels: retval
5952 // token list labels:
5953 // rule list labels:
5955 if ( state
.backtracking
==0 ) {
5956 retval
.tree
= root_0
;
5957 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
5959 root_0
= (CommonTree
)adaptor
.nil();
5960 // 705:31: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5962 // CTFParser.g:705:34: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5964 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5965 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_CONTAINER_TYPE
, "ENUM_CONTAINER_TYPE"), root_1
);
5967 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
5969 adaptor
.addChild(root_0
, root_1
);
5974 retval
.tree
= root_0
;}
5977 retval
.stop
= input
.LT(-1);
5979 if ( state
.backtracking
==0 ) {
5981 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5982 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5984 if ( state
.backtracking
==0 ) {
5986 exit("enumContainerType");
5991 catch (RecognitionException e
)
5999 // $ANTLR end "enumContainerType"
6001 public static class enumeratorList_return
extends ParserRuleReturnScope
{
6003 public Object
getTree() { return tree
; }
6006 // $ANTLR start "enumeratorList"
6007 // CTFParser.g:708:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
6008 public final CTFParser
.enumeratorList_return
enumeratorList() throws RecognitionException
{
6009 CTFParser
.enumeratorList_return retval
= new CTFParser
.enumeratorList_return();
6010 retval
.start
= input
.LT(1);
6012 CommonTree root_0
= null;
6014 Token SEPARATOR121
=null;
6015 CTFParser
.enumerator_return enumerator120
= null;
6017 CTFParser
.enumerator_return enumerator122
= null;
6020 CommonTree SEPARATOR121_tree
=null;
6021 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
6022 RewriteRuleSubtreeStream stream_enumerator
=new RewriteRuleSubtreeStream(adaptor
,"rule enumerator");
6024 enter("enumeratorList");
6027 // CTFParser.g:715:1: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
6028 // CTFParser.g:716:3: enumerator ( SEPARATOR enumerator )*
6030 pushFollow(FOLLOW_enumerator_in_enumeratorList2469
);
6031 enumerator120
=enumerator();
6037 if ( state
.backtracking
==0 ) {
6038 stream_enumerator
.add(enumerator120
.getTree());
6040 // CTFParser.g:716:14: ( SEPARATOR enumerator )*
6044 int LA36_0
= input
.LA(1);
6046 if ( (LA36_0
==SEPARATOR
) ) {
6047 int LA36_1
= input
.LA(2);
6049 if ( (LA36_1
==ALIGNTOK
||LA36_1
==EVENTTOK
||LA36_1
==SIGNEDTOK
||LA36_1
==STRINGTOK
||LA36_1
==STRING_LITERAL
||LA36_1
==IDENTIFIER
) ) {
6059 // CTFParser.g:716:15: SEPARATOR enumerator
6061 SEPARATOR121
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumeratorList2472
); if (state
.failed
) {
6064 if ( state
.backtracking
==0 ) {
6065 stream_SEPARATOR
.add(SEPARATOR121
);
6068 pushFollow(FOLLOW_enumerator_in_enumeratorList2474
);
6069 enumerator122
=enumerator();
6075 if ( state
.backtracking
==0 ) {
6076 stream_enumerator
.add(enumerator122
.getTree());
6090 // elements: enumerator
6092 // rule labels: retval
6093 // token list labels:
6094 // rule list labels:
6096 if ( state
.backtracking
==0 ) {
6097 retval
.tree
= root_0
;
6098 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6100 root_0
= (CommonTree
)adaptor
.nil();
6101 // 716:38: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
6103 if ( !(stream_enumerator
.hasNext()) ) {
6104 throw new RewriteEarlyExitException();
6106 while ( stream_enumerator
.hasNext() ) {
6107 // CTFParser.g:716:42: ^( ENUM_ENUMERATOR enumerator )
6109 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6110 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_ENUMERATOR
, "ENUM_ENUMERATOR"), root_1
);
6112 adaptor
.addChild(root_1
, stream_enumerator
.nextTree());
6114 adaptor
.addChild(root_0
, root_1
);
6118 stream_enumerator
.reset();
6122 retval
.tree
= root_0
;}
6125 retval
.stop
= input
.LT(-1);
6127 if ( state
.backtracking
==0 ) {
6129 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6130 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6132 if ( state
.backtracking
==0 ) {
6134 exit("enumeratorList");
6139 catch (RecognitionException e
)
6147 // $ANTLR end "enumeratorList"
6149 public static class enumerator_return
extends ParserRuleReturnScope
{
6151 public Object
getTree() { return tree
; }
6154 // $ANTLR start "enumerator"
6155 // CTFParser.g:719:1: enumerator : enumConstant ( enumeratorValue )? ;
6156 public final CTFParser
.enumerator_return
enumerator() throws RecognitionException
{
6157 CTFParser
.enumerator_return retval
= new CTFParser
.enumerator_return();
6158 retval
.start
= input
.LT(1);
6160 CommonTree root_0
= null;
6162 CTFParser
.enumConstant_return enumConstant123
= null;
6164 CTFParser
.enumeratorValue_return enumeratorValue124
= null;
6169 enter("enumerator");
6172 // CTFParser.g:726:1: ( enumConstant ( enumeratorValue )? )
6173 // CTFParser.g:727:3: enumConstant ( enumeratorValue )?
6175 root_0
= (CommonTree
)adaptor
.nil();
6177 pushFollow(FOLLOW_enumConstant_in_enumerator2510
);
6178 enumConstant123
=enumConstant();
6184 if ( state
.backtracking
==0 ) {
6185 adaptor
.addChild(root_0
, enumConstant123
.getTree());
6187 // CTFParser.g:727:16: ( enumeratorValue )?
6189 int LA37_0
= input
.LA(1);
6191 if ( (LA37_0
==ASSIGNMENT
) ) {
6196 // CTFParser.g:727:16: enumeratorValue
6198 pushFollow(FOLLOW_enumeratorValue_in_enumerator2512
);
6199 enumeratorValue124
=enumeratorValue();
6205 if ( state
.backtracking
==0 ) {
6206 adaptor
.addChild(root_0
, enumeratorValue124
.getTree());
6217 retval
.stop
= input
.LT(-1);
6219 if ( state
.backtracking
==0 ) {
6221 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6222 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6224 if ( state
.backtracking
==0 ) {
6231 catch (RecognitionException e
)
6239 // $ANTLR end "enumerator"
6241 public static class enumeratorValue_return
extends ParserRuleReturnScope
{
6243 public Object
getTree() { return tree
; }
6246 // $ANTLR start "enumeratorValue"
6247 // CTFParser.g:730:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
6248 public final CTFParser
.enumeratorValue_return
enumeratorValue() throws RecognitionException
{
6249 CTFParser
.enumeratorValue_return retval
= new CTFParser
.enumeratorValue_return();
6250 retval
.start
= input
.LT(1);
6252 CommonTree root_0
= null;
6254 Token ASSIGNMENT125
=null;
6255 Token ELIPSES126
=null;
6256 CTFParser
.unaryExpression_return e1
= null;
6258 CTFParser
.unaryExpression_return e2
= null;
6261 CommonTree ASSIGNMENT125_tree
=null;
6262 CommonTree ELIPSES126_tree
=null;
6263 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
6264 RewriteRuleTokenStream stream_ELIPSES
=new RewriteRuleTokenStream(adaptor
,"token ELIPSES");
6265 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
6267 enter("enumeratorValue");
6270 // CTFParser.g:737:1: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
6271 // CTFParser.g:738:3: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
6273 ASSIGNMENT125
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_enumeratorValue2536
); if (state
.failed
) {
6276 if ( state
.backtracking
==0 ) {
6277 stream_ASSIGNMENT
.add(ASSIGNMENT125
);
6280 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2540
);
6281 e1
=unaryExpression();
6287 if ( state
.backtracking
==0 ) {
6288 stream_unaryExpression
.add(e1
.getTree());
6290 // CTFParser.g:739:3: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
6292 int LA38_0
= input
.LA(1);
6294 if ( (LA38_0
==SEPARATOR
||LA38_0
==RCURL
) ) {
6297 else if ( (LA38_0
==ELIPSES
) ) {
6301 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6302 NoViableAltException nvae
=
6303 new NoViableAltException("", 38, 0, input
);
6309 // CTFParser.g:740:5:
6315 // rule labels: retval, e1
6316 // token list labels:
6317 // rule list labels:
6319 if ( state
.backtracking
==0 ) {
6320 retval
.tree
= root_0
;
6321 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6322 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.tree
:null);
6324 root_0
= (CommonTree
)adaptor
.nil();
6325 // 740:5: -> ^( ENUM_VALUE $e1)
6327 // CTFParser.g:740:8: ^( ENUM_VALUE $e1)
6329 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6330 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE
, "ENUM_VALUE"), root_1
);
6332 adaptor
.addChild(root_1
, stream_e1
.nextTree());
6334 adaptor
.addChild(root_0
, root_1
);
6339 retval
.tree
= root_0
;}
6343 // CTFParser.g:741:7: ELIPSES e2= unaryExpression
6345 ELIPSES126
=(Token
)match(input
,ELIPSES
,FOLLOW_ELIPSES_in_enumeratorValue2566
); if (state
.failed
) {
6348 if ( state
.backtracking
==0 ) {
6349 stream_ELIPSES
.add(ELIPSES126
);
6352 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2570
);
6353 e2
=unaryExpression();
6359 if ( state
.backtracking
==0 ) {
6360 stream_unaryExpression
.add(e2
.getTree());
6367 // rule labels: retval, e1, e2
6368 // token list labels:
6369 // rule list labels:
6371 if ( state
.backtracking
==0 ) {
6372 retval
.tree
= root_0
;
6373 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6374 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.tree
:null);
6375 RewriteRuleSubtreeStream stream_e2
=new RewriteRuleSubtreeStream(adaptor
,"rule e2",e2
!=null?e2
.tree
:null);
6377 root_0
= (CommonTree
)adaptor
.nil();
6378 // 741:34: -> ^( ENUM_VALUE_RANGE $e1 $e2)
6380 // CTFParser.g:741:37: ^( ENUM_VALUE_RANGE $e1 $e2)
6382 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6383 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE_RANGE
, "ENUM_VALUE_RANGE"), root_1
);
6385 adaptor
.addChild(root_1
, stream_e1
.nextTree());
6386 adaptor
.addChild(root_1
, stream_e2
.nextTree());
6388 adaptor
.addChild(root_0
, root_1
);
6393 retval
.tree
= root_0
;}
6402 retval
.stop
= input
.LT(-1);
6404 if ( state
.backtracking
==0 ) {
6406 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6407 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6409 if ( state
.backtracking
==0 ) {
6411 exit("enumeratorValue");
6416 catch (RecognitionException e
)
6424 // $ANTLR end "enumeratorValue"
6426 public static class declarator_return
extends ParserRuleReturnScope
{
6428 public Object
getTree() { return tree
; }
6431 // $ANTLR start "declarator"
6432 // CTFParser.g:746:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
6433 public final CTFParser
.declarator_return
declarator() throws RecognitionException
{
6434 CTFParser
.declarator_return retval
= new CTFParser
.declarator_return();
6435 retval
.start
= input
.LT(1);
6437 CommonTree root_0
= null;
6439 CTFParser
.pointer_return pointer127
= null;
6441 CTFParser
.directDeclarator_return directDeclarator128
= null;
6444 RewriteRuleSubtreeStream stream_directDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclarator");
6445 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
6447 enter("declarator");
6450 // CTFParser.g:753:1: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
6451 // CTFParser.g:754:3: ( pointer )* directDeclarator
6453 // CTFParser.g:754:3: ( pointer )*
6457 int LA39_0
= input
.LA(1);
6459 if ( (LA39_0
==POINTER
) ) {
6466 // CTFParser.g:754:3: pointer
6468 pushFollow(FOLLOW_pointer_in_declarator2612
);
6469 pointer127
=pointer();
6475 if ( state
.backtracking
==0 ) {
6476 stream_pointer
.add(pointer127
.getTree());
6487 pushFollow(FOLLOW_directDeclarator_in_declarator2615
);
6488 directDeclarator128
=directDeclarator();
6494 if ( state
.backtracking
==0 ) {
6495 stream_directDeclarator
.add(directDeclarator128
.getTree());
6500 // elements: directDeclarator, pointer
6502 // rule labels: retval
6503 // token list labels:
6504 // rule list labels:
6506 if ( state
.backtracking
==0 ) {
6507 retval
.tree
= root_0
;
6508 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6510 root_0
= (CommonTree
)adaptor
.nil();
6511 // 754:29: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
6513 // CTFParser.g:754:32: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
6515 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6516 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6518 // CTFParser.g:754:50: ( pointer )*
6519 while ( stream_pointer
.hasNext() ) {
6520 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
6523 stream_pointer
.reset();
6524 adaptor
.addChild(root_1
, stream_directDeclarator
.nextTree());
6526 adaptor
.addChild(root_0
, root_1
);
6531 retval
.tree
= root_0
;}
6534 retval
.stop
= input
.LT(-1);
6536 if ( state
.backtracking
==0 ) {
6538 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6539 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6541 if ( state
.backtracking
==0 ) {
6548 catch (RecognitionException e
)
6556 // $ANTLR end "declarator"
6558 public static class directDeclarator_return
extends ParserRuleReturnScope
{
6560 public Object
getTree() { return tree
; }
6563 // $ANTLR start "directDeclarator"
6564 // CTFParser.g:757:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
6565 public final CTFParser
.directDeclarator_return
directDeclarator() throws RecognitionException
{
6566 CTFParser
.directDeclarator_return retval
= new CTFParser
.directDeclarator_return();
6567 retval
.start
= input
.LT(1);
6569 CommonTree root_0
= null;
6571 Token IDENTIFIER129
=null;
6572 CTFParser
.directDeclaratorSuffix_return directDeclaratorSuffix130
= null;
6575 CommonTree IDENTIFIER129_tree
=null;
6578 enter("directDeclarator");
6581 // CTFParser.g:764:1: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
6582 // CTFParser.g:765:3: ( IDENTIFIER ) ( directDeclaratorSuffix )*
6584 root_0
= (CommonTree
)adaptor
.nil();
6586 // CTFParser.g:765:3: ( IDENTIFIER )
6587 // CTFParser.g:766:6: IDENTIFIER
6589 IDENTIFIER129
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directDeclarator2659
); if (state
.failed
) {
6592 if ( state
.backtracking
==0 ) {
6593 IDENTIFIER129_tree
= (CommonTree
)adaptor
.create(IDENTIFIER129
);
6594 adaptor
.addChild(root_0
, IDENTIFIER129_tree
);
6596 if ( state
.backtracking
==0 ) {
6598 addTypeName((IDENTIFIER129
!=null?IDENTIFIER129
.getText():null));
6601 if ( state
.backtracking
==0 ) {
6602 debug_print((IDENTIFIER129
!=null?IDENTIFIER129
.getText():null));
6607 // CTFParser.g:769:2: ( directDeclaratorSuffix )*
6611 int LA40_0
= input
.LA(1);
6613 if ( (LA40_0
==OPENBRAC
) ) {
6620 // CTFParser.g:769:2: directDeclaratorSuffix
6622 pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2677
);
6623 directDeclaratorSuffix130
=directDeclaratorSuffix();
6629 if ( state
.backtracking
==0 ) {
6630 adaptor
.addChild(root_0
, directDeclaratorSuffix130
.getTree());
6644 retval
.stop
= input
.LT(-1);
6646 if ( state
.backtracking
==0 ) {
6648 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6649 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6651 if ( state
.backtracking
==0 ) {
6653 exit("directDeclarator");
6658 catch (RecognitionException e
)
6666 // $ANTLR end "directDeclarator"
6668 public static class directDeclaratorSuffix_return
extends ParserRuleReturnScope
{
6670 public Object
getTree() { return tree
; }
6673 // $ANTLR start "directDeclaratorSuffix"
6674 // CTFParser.g:772:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
6675 public final CTFParser
.directDeclaratorSuffix_return
directDeclaratorSuffix() throws RecognitionException
{
6676 CTFParser
.directDeclaratorSuffix_return retval
= new CTFParser
.directDeclaratorSuffix_return();
6677 retval
.start
= input
.LT(1);
6679 CommonTree root_0
= null;
6681 Token OPENBRAC131
=null;
6682 Token CLOSEBRAC133
=null;
6683 CTFParser
.directDeclaratorLength_return directDeclaratorLength132
= null;
6686 CommonTree OPENBRAC131_tree
=null;
6687 CommonTree CLOSEBRAC133_tree
=null;
6688 RewriteRuleTokenStream stream_OPENBRAC
=new RewriteRuleTokenStream(adaptor
,"token OPENBRAC");
6689 RewriteRuleTokenStream stream_CLOSEBRAC
=new RewriteRuleTokenStream(adaptor
,"token CLOSEBRAC");
6690 RewriteRuleSubtreeStream stream_directDeclaratorLength
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclaratorLength");
6692 // CTFParser.g:772:23: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
6693 // CTFParser.g:773:3: OPENBRAC directDeclaratorLength CLOSEBRAC
6695 OPENBRAC131
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2690
); if (state
.failed
) {
6698 if ( state
.backtracking
==0 ) {
6699 stream_OPENBRAC
.add(OPENBRAC131
);
6702 pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2692
);
6703 directDeclaratorLength132
=directDeclaratorLength();
6709 if ( state
.backtracking
==0 ) {
6710 stream_directDeclaratorLength
.add(directDeclaratorLength132
.getTree());
6712 CLOSEBRAC133
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2694
); if (state
.failed
) {
6715 if ( state
.backtracking
==0 ) {
6716 stream_CLOSEBRAC
.add(CLOSEBRAC133
);
6722 // elements: directDeclaratorLength
6724 // rule labels: retval
6725 // token list labels:
6726 // rule list labels:
6728 if ( state
.backtracking
==0 ) {
6729 retval
.tree
= root_0
;
6730 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6732 root_0
= (CommonTree
)adaptor
.nil();
6733 // 773:45: -> ^( LENGTH directDeclaratorLength )
6735 // CTFParser.g:773:48: ^( LENGTH directDeclaratorLength )
6737 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6738 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(LENGTH
, "LENGTH"), root_1
);
6740 adaptor
.addChild(root_1
, stream_directDeclaratorLength
.nextTree());
6742 adaptor
.addChild(root_0
, root_1
);
6747 retval
.tree
= root_0
;}
6750 retval
.stop
= input
.LT(-1);
6752 if ( state
.backtracking
==0 ) {
6754 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6755 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6759 catch (RecognitionException e
)
6767 // $ANTLR end "directDeclaratorSuffix"
6769 public static class directDeclaratorLength_return
extends ParserRuleReturnScope
{
6771 public Object
getTree() { return tree
; }
6774 // $ANTLR start "directDeclaratorLength"
6775 // CTFParser.g:776:1: directDeclaratorLength : unaryExpression ;
6776 public final CTFParser
.directDeclaratorLength_return
directDeclaratorLength() throws RecognitionException
{
6777 CTFParser
.directDeclaratorLength_return retval
= new CTFParser
.directDeclaratorLength_return();
6778 retval
.start
= input
.LT(1);
6780 CommonTree root_0
= null;
6782 CTFParser
.unaryExpression_return unaryExpression134
= null;
6787 // CTFParser.g:776:24: ( unaryExpression )
6788 // CTFParser.g:777:3: unaryExpression
6790 root_0
= (CommonTree
)adaptor
.nil();
6792 pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2715
);
6793 unaryExpression134
=unaryExpression();
6799 if ( state
.backtracking
==0 ) {
6800 adaptor
.addChild(root_0
, unaryExpression134
.getTree());
6805 retval
.stop
= input
.LT(-1);
6807 if ( state
.backtracking
==0 ) {
6809 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6810 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6814 catch (RecognitionException e
)
6822 // $ANTLR end "directDeclaratorLength"
6824 public static class abstractDeclarator_return
extends ParserRuleReturnScope
{
6826 public Object
getTree() { return tree
; }
6829 // $ANTLR start "abstractDeclarator"
6830 // CTFParser.g:781:1: abstractDeclarator : ( ( ( pointer )+ ( directAbstractDeclarator )? ) -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
6831 public final CTFParser
.abstractDeclarator_return
abstractDeclarator() throws RecognitionException
{
6832 CTFParser
.abstractDeclarator_return retval
= new CTFParser
.abstractDeclarator_return();
6833 retval
.start
= input
.LT(1);
6835 CommonTree root_0
= null;
6837 CTFParser
.pointer_return pointer135
= null;
6839 CTFParser
.directAbstractDeclarator_return directAbstractDeclarator136
= null;
6841 CTFParser
.directAbstractDeclarator_return directAbstractDeclarator137
= null;
6844 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
6845 RewriteRuleSubtreeStream stream_directAbstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directAbstractDeclarator");
6847 enter("abstractDeclarator");
6850 // CTFParser.g:788:1: ( ( ( pointer )+ ( directAbstractDeclarator )? ) -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
6852 int LA43_0
= input
.LA(1);
6854 if ( (LA43_0
==POINTER
) ) {
6857 else if ( (LA43_0
==LPAREN
||LA43_0
==IDENTIFIER
) ) {
6861 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6862 NoViableAltException nvae
=
6863 new NoViableAltException("", 43, 0, input
);
6869 // CTFParser.g:789:5: ( ( pointer )+ ( directAbstractDeclarator )? )
6871 // CTFParser.g:789:5: ( ( pointer )+ ( directAbstractDeclarator )? )
6872 // CTFParser.g:789:6: ( pointer )+ ( directAbstractDeclarator )?
6874 // CTFParser.g:789:6: ( pointer )+
6879 int LA41_0
= input
.LA(1);
6881 if ( (LA41_0
==POINTER
) ) {
6888 // CTFParser.g:789:6: pointer
6890 pushFollow(FOLLOW_pointer_in_abstractDeclarator2746
);
6891 pointer135
=pointer();
6897 if ( state
.backtracking
==0 ) {
6898 stream_pointer
.add(pointer135
.getTree());
6908 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6909 EarlyExitException eee
=
6910 new EarlyExitException(41, input
);
6916 // CTFParser.g:789:15: ( directAbstractDeclarator )?
6918 int LA42_0
= input
.LA(1);
6920 if ( (LA42_0
==LPAREN
||LA42_0
==IDENTIFIER
) ) {
6925 // CTFParser.g:789:15: directAbstractDeclarator
6927 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2749
);
6928 directAbstractDeclarator136
=directAbstractDeclarator();
6934 if ( state
.backtracking
==0 ) {
6935 stream_directAbstractDeclarator
.add(directAbstractDeclarator136
.getTree());
6949 // elements: pointer, directAbstractDeclarator
6951 // rule labels: retval
6952 // token list labels:
6953 // rule list labels:
6955 if ( state
.backtracking
==0 ) {
6956 retval
.tree
= root_0
;
6957 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
6959 root_0
= (CommonTree
)adaptor
.nil();
6960 // 789:42: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6962 // CTFParser.g:789:45: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6964 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6965 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6967 if ( !(stream_pointer
.hasNext()) ) {
6968 throw new RewriteEarlyExitException();
6970 while ( stream_pointer
.hasNext() ) {
6971 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
6974 stream_pointer
.reset();
6975 // CTFParser.g:789:72: ( directAbstractDeclarator )?
6976 if ( stream_directAbstractDeclarator
.hasNext() ) {
6977 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
6980 stream_directAbstractDeclarator
.reset();
6982 adaptor
.addChild(root_0
, root_1
);
6987 retval
.tree
= root_0
;}
6991 // CTFParser.g:790:5: directAbstractDeclarator
6993 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2769
);
6994 directAbstractDeclarator137
=directAbstractDeclarator();
7000 if ( state
.backtracking
==0 ) {
7001 stream_directAbstractDeclarator
.add(directAbstractDeclarator137
.getTree());
7006 // elements: directAbstractDeclarator
7008 // rule labels: retval
7009 // token list labels:
7010 // rule list labels:
7012 if ( state
.backtracking
==0 ) {
7013 retval
.tree
= root_0
;
7014 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
7016 root_0
= (CommonTree
)adaptor
.nil();
7017 // 790:30: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
7019 // CTFParser.g:790:33: ^( TYPE_DECLARATOR directAbstractDeclarator )
7021 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7022 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
7024 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
7026 adaptor
.addChild(root_0
, root_1
);
7031 retval
.tree
= root_0
;}
7036 retval
.stop
= input
.LT(-1);
7038 if ( state
.backtracking
==0 ) {
7040 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7041 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7043 if ( state
.backtracking
==0 ) {
7045 exit("abstractDeclarator");
7050 catch (RecognitionException e
)
7058 // $ANTLR end "abstractDeclarator"
7060 public static class directAbstractDeclarator_return
extends ParserRuleReturnScope
{
7062 public Object
getTree() { return tree
; }
7065 // $ANTLR start "directAbstractDeclarator"
7066 // CTFParser.g:797:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
7067 public final CTFParser
.directAbstractDeclarator_return
directAbstractDeclarator() throws RecognitionException
{
7068 CTFParser
.directAbstractDeclarator_return retval
= new CTFParser
.directAbstractDeclarator_return();
7069 retval
.start
= input
.LT(1);
7071 CommonTree root_0
= null;
7073 Token IDENTIFIER138
=null;
7074 Token LPAREN139
=null;
7075 Token RPAREN141
=null;
7076 Token OPENBRAC142
=null;
7077 Token CLOSEBRAC144
=null;
7078 CTFParser
.abstractDeclarator_return abstractDeclarator140
= null;
7080 CTFParser
.unaryExpression_return unaryExpression143
= null;
7083 CommonTree IDENTIFIER138_tree
=null;
7084 CommonTree LPAREN139_tree
=null;
7085 CommonTree RPAREN141_tree
=null;
7086 CommonTree OPENBRAC142_tree
=null;
7087 CommonTree CLOSEBRAC144_tree
=null;
7090 enter("directAbstractDeclarator");
7093 // CTFParser.g:805:1: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
7094 // CTFParser.g:806:3: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
7096 root_0
= (CommonTree
)adaptor
.nil();
7098 // CTFParser.g:806:3: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
7100 int LA44_0
= input
.LA(1);
7102 if ( (LA44_0
==IDENTIFIER
) ) {
7105 else if ( (LA44_0
==LPAREN
) ) {
7109 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7110 NoViableAltException nvae
=
7111 new NoViableAltException("", 44, 0, input
);
7117 // CTFParser.g:807:6: IDENTIFIER
7119 IDENTIFIER138
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2809
); if (state
.failed
) {
7122 if ( state
.backtracking
==0 ) {
7123 IDENTIFIER138_tree
= (CommonTree
)adaptor
.create(IDENTIFIER138
);
7124 adaptor
.addChild(root_0
, IDENTIFIER138_tree
);
7130 // CTFParser.g:808:7: ( LPAREN abstractDeclarator RPAREN )
7132 // CTFParser.g:808:7: ( LPAREN abstractDeclarator RPAREN )
7133 // CTFParser.g:808:8: LPAREN abstractDeclarator RPAREN
7135 LPAREN139
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_directAbstractDeclarator2818
); if (state
.failed
) {
7138 if ( state
.backtracking
==0 ) {
7139 LPAREN139_tree
= (CommonTree
)adaptor
.create(LPAREN139
);
7140 adaptor
.addChild(root_0
, LPAREN139_tree
);
7142 pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2820
);
7143 abstractDeclarator140
=abstractDeclarator();
7149 if ( state
.backtracking
==0 ) {
7150 adaptor
.addChild(root_0
, abstractDeclarator140
.getTree());
7152 RPAREN141
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_directAbstractDeclarator2822
); if (state
.failed
) {
7155 if ( state
.backtracking
==0 ) {
7156 RPAREN141_tree
= (CommonTree
)adaptor
.create(RPAREN141
);
7157 adaptor
.addChild(root_0
, RPAREN141_tree
);
7168 // CTFParser.g:810:3: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
7170 int LA46_0
= input
.LA(1);
7172 if ( (LA46_0
==OPENBRAC
) ) {
7177 // CTFParser.g:811:5: OPENBRAC ( unaryExpression )? CLOSEBRAC
7179 OPENBRAC142
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directAbstractDeclarator2837
); if (state
.failed
) {
7182 if ( state
.backtracking
==0 ) {
7183 OPENBRAC142_tree
= (CommonTree
)adaptor
.create(OPENBRAC142
);
7184 adaptor
.addChild(root_0
, OPENBRAC142_tree
);
7186 // CTFParser.g:811:14: ( unaryExpression )?
7188 int LA45_0
= input
.LA(1);
7190 if ( (LA45_0
==ALIGNTOK
||LA45_0
==EVENTTOK
||(LA45_0
>=SIGNEDTOK
&& LA45_0
<=STRINGTOK
)||LA45_0
==TRACETOK
||(LA45_0
>=ENVTOK
&& LA45_0
<=CALLSITETOK
)||LA45_0
==SIGN
||LA45_0
==OCTAL_LITERAL
||LA45_0
==DECIMAL_LITERAL
||LA45_0
==HEX_LITERAL
||LA45_0
==CHARACTER_LITERAL
||LA45_0
==STRING_LITERAL
||LA45_0
==IDENTIFIER
) ) {
7195 // CTFParser.g:811:14: unaryExpression
7197 pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2839
);
7198 unaryExpression143
=unaryExpression();
7204 if ( state
.backtracking
==0 ) {
7205 adaptor
.addChild(root_0
, unaryExpression143
.getTree());
7213 CLOSEBRAC144
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2842
); if (state
.failed
) {
7216 if ( state
.backtracking
==0 ) {
7217 CLOSEBRAC144_tree
= (CommonTree
)adaptor
.create(CLOSEBRAC144
);
7218 adaptor
.addChild(root_0
, CLOSEBRAC144_tree
);
7229 retval
.stop
= input
.LT(-1);
7231 if ( state
.backtracking
==0 ) {
7233 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7234 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7236 if ( state
.backtracking
==0 ) {
7238 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
7239 exit("directAbstractDeclarator");
7244 catch (RecognitionException e
)
7252 // $ANTLR end "directAbstractDeclarator"
7254 public static class pointer_return
extends ParserRuleReturnScope
{
7256 public Object
getTree() { return tree
; }
7259 // $ANTLR start "pointer"
7260 // CTFParser.g:815:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
7261 public final CTFParser
.pointer_return
pointer() throws RecognitionException
{
7262 CTFParser
.pointer_return retval
= new CTFParser
.pointer_return();
7263 retval
.start
= input
.LT(1);
7265 CommonTree root_0
= null;
7267 Token POINTER145
=null;
7268 CTFParser
.typeQualifierList_return typeQualifierList146
= null;
7271 CommonTree POINTER145_tree
=null;
7272 RewriteRuleTokenStream stream_POINTER
=new RewriteRuleTokenStream(adaptor
,"token POINTER");
7273 RewriteRuleSubtreeStream stream_typeQualifierList
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifierList");
7278 // CTFParser.g:823:1: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
7279 // CTFParser.g:824:3: POINTER ( typeQualifierList )?
7281 POINTER145
=(Token
)match(input
,POINTER
,FOLLOW_POINTER_in_pointer2870
); if (state
.failed
) {
7284 if ( state
.backtracking
==0 ) {
7285 stream_POINTER
.add(POINTER145
);
7288 // CTFParser.g:824:11: ( typeQualifierList )?
7290 int LA47_0
= input
.LA(1);
7292 if ( (LA47_0
==CONSTTOK
) ) {
7297 // CTFParser.g:824:11: typeQualifierList
7299 pushFollow(FOLLOW_typeQualifierList_in_pointer2872
);
7300 typeQualifierList146
=typeQualifierList();
7306 if ( state
.backtracking
==0 ) {
7307 stream_typeQualifierList
.add(typeQualifierList146
.getTree());
7318 // elements: POINTER, typeQualifierList
7320 // rule labels: retval
7321 // token list labels:
7322 // rule list labels:
7324 if ( state
.backtracking
==0 ) {
7325 retval
.tree
= root_0
;
7326 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
7328 root_0
= (CommonTree
)adaptor
.nil();
7329 // 824:30: -> ^( POINTER ( typeQualifierList )? )
7331 // CTFParser.g:824:33: ^( POINTER ( typeQualifierList )? )
7333 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7334 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_POINTER
.nextNode(), root_1
);
7336 // CTFParser.g:824:43: ( typeQualifierList )?
7337 if ( stream_typeQualifierList
.hasNext() ) {
7338 adaptor
.addChild(root_1
, stream_typeQualifierList
.nextTree());
7341 stream_typeQualifierList
.reset();
7343 adaptor
.addChild(root_0
, root_1
);
7348 retval
.tree
= root_0
;}
7351 retval
.stop
= input
.LT(-1);
7353 if ( state
.backtracking
==0 ) {
7355 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7356 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7358 if ( state
.backtracking
==0 ) {
7360 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
7366 catch (RecognitionException e
)
7374 // $ANTLR end "pointer"
7376 public static class typeQualifierList_return
extends ParserRuleReturnScope
{
7378 public Object
getTree() { return tree
; }
7381 // $ANTLR start "typeQualifierList"
7382 // CTFParser.g:827:1: typeQualifierList : ( typeQualifier )+ ;
7383 public final CTFParser
.typeQualifierList_return
typeQualifierList() throws RecognitionException
{
7384 CTFParser
.typeQualifierList_return retval
= new CTFParser
.typeQualifierList_return();
7385 retval
.start
= input
.LT(1);
7387 CommonTree root_0
= null;
7389 CTFParser
.typeQualifier_return typeQualifier147
= null;
7394 // CTFParser.g:827:19: ( ( typeQualifier )+ )
7395 // CTFParser.g:828:3: ( typeQualifier )+
7397 root_0
= (CommonTree
)adaptor
.nil();
7399 // CTFParser.g:828:3: ( typeQualifier )+
7404 int LA48_0
= input
.LA(1);
7406 if ( (LA48_0
==CONSTTOK
) ) {
7413 // CTFParser.g:828:3: typeQualifier
7415 pushFollow(FOLLOW_typeQualifier_in_typeQualifierList2895
);
7416 typeQualifier147
=typeQualifier();
7422 if ( state
.backtracking
==0 ) {
7423 adaptor
.addChild(root_0
, typeQualifier147
.getTree());
7433 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7434 EarlyExitException eee
=
7435 new EarlyExitException(48, input
);
7444 retval
.stop
= input
.LT(-1);
7446 if ( state
.backtracking
==0 ) {
7448 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7449 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7453 catch (RecognitionException e
)
7461 // $ANTLR end "typeQualifierList"
7463 public static class typedefName_return
extends ParserRuleReturnScope
{
7465 public Object
getTree() { return tree
; }
7468 // $ANTLR start "typedefName"
7469 // CTFParser.g:831:1: typedefName : {...}? IDENTIFIER ;
7470 public final CTFParser
.typedefName_return
typedefName() throws RecognitionException
{
7471 CTFParser
.typedefName_return retval
= new CTFParser
.typedefName_return();
7472 retval
.start
= input
.LT(1);
7474 CommonTree root_0
= null;
7476 Token IDENTIFIER148
=null;
7478 CommonTree IDENTIFIER148_tree
=null;
7481 enter("typedefName");
7484 // CTFParser.g:839:1: ({...}? IDENTIFIER )
7485 // CTFParser.g:840:3: {...}? IDENTIFIER
7487 root_0
= (CommonTree
)adaptor
.nil();
7489 if ( !((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
7490 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7491 throw new FailedPredicateException(input
, "typedefName", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
7493 IDENTIFIER148
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_typedefName2921
); if (state
.failed
) {
7496 if ( state
.backtracking
==0 ) {
7497 IDENTIFIER148_tree
= (CommonTree
)adaptor
.create(IDENTIFIER148
);
7498 adaptor
.addChild(root_0
, IDENTIFIER148_tree
);
7500 if ( state
.backtracking
==0 ) {
7501 if ((inTypedef() || inTypealiasAlias()) && !isTypeName((IDENTIFIER148
!=null?IDENTIFIER148
.getText():null))) { addTypeName((IDENTIFIER148
!=null?IDENTIFIER148
.getText():null)); }
7506 retval
.stop
= input
.LT(-1);
7508 if ( state
.backtracking
==0 ) {
7510 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7511 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7513 if ( state
.backtracking
==0 ) {
7515 debug_print("typedefName: " + input
.toString(retval
.start
,input
.LT(-1)));
7516 exit("typedefName");
7521 catch (RecognitionException e
)
7529 // $ANTLR end "typedefName"
7531 public static class typealiasTarget_return
extends ParserRuleReturnScope
{
7533 public Object
getTree() { return tree
; }
7536 // $ANTLR start "typealiasTarget"
7537 // CTFParser.g:843:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
7538 public final CTFParser
.typealiasTarget_return
typealiasTarget() throws RecognitionException
{
7539 CTFParser
.typealiasTarget_return retval
= new CTFParser
.typealiasTarget_return();
7540 retval
.start
= input
.LT(1);
7542 CommonTree root_0
= null;
7544 CTFParser
.declarationSpecifiers_return declarationSpecifiers149
= null;
7546 CTFParser
.abstractDeclaratorList_return abstractDeclaratorList150
= null;
7551 enter("typealiasTarget");
7554 // CTFParser.g:856:1: ( declarationSpecifiers ( abstractDeclaratorList )? )
7555 // CTFParser.g:857:3: declarationSpecifiers ( abstractDeclaratorList )?
7557 root_0
= (CommonTree
)adaptor
.nil();
7559 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget2949
);
7560 declarationSpecifiers149
=declarationSpecifiers();
7566 if ( state
.backtracking
==0 ) {
7567 adaptor
.addChild(root_0
, declarationSpecifiers149
.getTree());
7569 // CTFParser.g:857:25: ( abstractDeclaratorList )?
7571 int LA49_0
= input
.LA(1);
7573 if ( (LA49_0
==LPAREN
||LA49_0
==POINTER
||LA49_0
==IDENTIFIER
) ) {
7578 // CTFParser.g:857:25: abstractDeclaratorList
7580 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget2951
);
7581 abstractDeclaratorList150
=abstractDeclaratorList();
7587 if ( state
.backtracking
==0 ) {
7588 adaptor
.addChild(root_0
, abstractDeclaratorList150
.getTree());
7599 retval
.stop
= input
.LT(-1);
7601 if ( state
.backtracking
==0 ) {
7603 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7604 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7606 if ( state
.backtracking
==0 ) {
7608 exit("typealiasTarget");
7613 catch (RecognitionException e
)
7621 // $ANTLR end "typealiasTarget"
7623 public static class typealiasAlias_return
extends ParserRuleReturnScope
{
7625 public Object
getTree() { return tree
; }
7628 // $ANTLR start "typealiasAlias"
7629 // CTFParser.g:860:1: typealiasAlias : ( abstractDeclaratorList | ( declarationSpecifiers ( abstractDeclaratorList )? ) ) ;
7630 public final CTFParser
.typealiasAlias_return
typealiasAlias() throws RecognitionException
{
7631 CTFParser
.typealiasAlias_return retval
= new CTFParser
.typealiasAlias_return();
7632 retval
.start
= input
.LT(1);
7634 CommonTree root_0
= null;
7636 CTFParser
.abstractDeclaratorList_return abstractDeclaratorList151
= null;
7638 CTFParser
.declarationSpecifiers_return declarationSpecifiers152
= null;
7640 CTFParser
.abstractDeclaratorList_return abstractDeclaratorList153
= null;
7645 enter("typealiasAlias");
7649 // CTFParser.g:875:1: ( ( abstractDeclaratorList | ( declarationSpecifiers ( abstractDeclaratorList )? ) ) )
7650 // CTFParser.g:876:3: ( abstractDeclaratorList | ( declarationSpecifiers ( abstractDeclaratorList )? ) )
7652 root_0
= (CommonTree
)adaptor
.nil();
7654 // CTFParser.g:876:3: ( abstractDeclaratorList | ( declarationSpecifiers ( abstractDeclaratorList )? ) )
7656 switch ( input
.LA(1) ) {
7665 int LA51_2
= input
.LA(2);
7667 if ( (!(((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))))) ) {
7670 else if ( ((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
7674 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7675 NoViableAltException nvae
=
7676 new NoViableAltException("", 51, 2, input
);
7686 case FLOATINGPOINTTOK
:
7707 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7708 NoViableAltException nvae
=
7709 new NoViableAltException("", 51, 0, input
);
7716 // CTFParser.g:877:3: abstractDeclaratorList
7718 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias2984
);
7719 abstractDeclaratorList151
=abstractDeclaratorList();
7725 if ( state
.backtracking
==0 ) {
7726 adaptor
.addChild(root_0
, abstractDeclaratorList151
.getTree());
7732 // CTFParser.g:879:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
7734 // CTFParser.g:879:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
7735 // CTFParser.g:879:4: declarationSpecifiers ( abstractDeclaratorList )?
7737 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias2993
);
7738 declarationSpecifiers152
=declarationSpecifiers();
7744 if ( state
.backtracking
==0 ) {
7745 adaptor
.addChild(root_0
, declarationSpecifiers152
.getTree());
7747 // CTFParser.g:879:26: ( abstractDeclaratorList )?
7749 int LA50_0
= input
.LA(1);
7751 if ( (LA50_0
==LPAREN
||LA50_0
==POINTER
||LA50_0
==IDENTIFIER
) ) {
7756 // CTFParser.g:879:26: abstractDeclaratorList
7758 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias2995
);
7759 abstractDeclaratorList153
=abstractDeclaratorList();
7765 if ( state
.backtracking
==0 ) {
7766 adaptor
.addChild(root_0
, abstractDeclaratorList153
.getTree());
7786 retval
.stop
= input
.LT(-1);
7788 if ( state
.backtracking
==0 ) {
7790 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7791 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7793 if ( state
.backtracking
==0 ) {
7795 exit("typealiasAlias");
7796 typealiasAliasOff();
7801 catch (RecognitionException e
)
7809 // $ANTLR end "typealiasAlias"
7811 public static class typealiasDecl_return
extends ParserRuleReturnScope
{
7813 public Object
getTree() { return tree
; }
7816 // $ANTLR start "typealiasDecl"
7817 // CTFParser.g:883:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
7818 public final CTFParser
.typealiasDecl_return
typealiasDecl() throws RecognitionException
{
7819 CTFParser
.typealiasDecl_return retval
= new CTFParser
.typealiasDecl_return();
7820 retval
.start
= input
.LT(1);
7822 CommonTree root_0
= null;
7824 Token TYPEALIASTOK154
=null;
7825 Token TYPE_ASSIGNMENT156
=null;
7826 CTFParser
.typealiasTarget_return typealiasTarget155
= null;
7828 CTFParser
.typealiasAlias_return typealiasAlias157
= null;
7831 CommonTree TYPEALIASTOK154_tree
=null;
7832 CommonTree TYPE_ASSIGNMENT156_tree
=null;
7833 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
7834 RewriteRuleTokenStream stream_TYPEALIASTOK
=new RewriteRuleTokenStream(adaptor
,"token TYPEALIASTOK");
7835 RewriteRuleSubtreeStream stream_typealiasAlias
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasAlias");
7836 RewriteRuleSubtreeStream stream_typealiasTarget
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasTarget");
7838 enter("typealiasDecl");
7841 // CTFParser.g:890:1: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
7842 // CTFParser.g:891:3: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
7844 TYPEALIASTOK154
=(Token
)match(input
,TYPEALIASTOK
,FOLLOW_TYPEALIASTOK_in_typealiasDecl3027
); if (state
.failed
) {
7847 if ( state
.backtracking
==0 ) {
7848 stream_TYPEALIASTOK
.add(TYPEALIASTOK154
);
7851 pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3029
);
7852 typealiasTarget155
=typealiasTarget();
7858 if ( state
.backtracking
==0 ) {
7859 stream_typealiasTarget
.add(typealiasTarget155
.getTree());
7861 TYPE_ASSIGNMENT156
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3031
); if (state
.failed
) {
7864 if ( state
.backtracking
==0 ) {
7865 stream_TYPE_ASSIGNMENT
.add(TYPE_ASSIGNMENT156
);
7868 pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3033
);
7869 typealiasAlias157
=typealiasAlias();
7875 if ( state
.backtracking
==0 ) {
7876 stream_typealiasAlias
.add(typealiasAlias157
.getTree());
7881 // elements: typealiasAlias, typealiasTarget
7883 // rule labels: retval
7884 // token list labels:
7885 // rule list labels:
7887 if ( state
.backtracking
==0 ) {
7888 retval
.tree
= root_0
;
7889 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
7891 root_0
= (CommonTree
)adaptor
.nil();
7892 // 892:3: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
7894 // CTFParser.g:892:6: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
7896 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7897 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS
, "TYPEALIAS"), root_1
);
7899 // CTFParser.g:892:18: ^( TYPEALIAS_TARGET typealiasTarget )
7901 CommonTree root_2
= (CommonTree
)adaptor
.nil();
7902 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_TARGET
, "TYPEALIAS_TARGET"), root_2
);
7904 adaptor
.addChild(root_2
, stream_typealiasTarget
.nextTree());
7906 adaptor
.addChild(root_1
, root_2
);
7908 // CTFParser.g:892:54: ^( TYPEALIAS_ALIAS typealiasAlias )
7910 CommonTree root_2
= (CommonTree
)adaptor
.nil();
7911 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_ALIAS
, "TYPEALIAS_ALIAS"), root_2
);
7913 adaptor
.addChild(root_2
, stream_typealiasAlias
.nextTree());
7915 adaptor
.addChild(root_1
, root_2
);
7918 adaptor
.addChild(root_0
, root_1
);
7923 retval
.tree
= root_0
;}
7926 retval
.stop
= input
.LT(-1);
7928 if ( state
.backtracking
==0 ) {
7930 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7931 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7933 if ( state
.backtracking
==0 ) {
7935 exit("typealiasDecl");
7940 catch (RecognitionException e
)
7948 // $ANTLR end "typealiasDecl"
7950 public static class ctfKeyword_return
extends ParserRuleReturnScope
{
7952 public Object
getTree() { return tree
; }
7955 // $ANTLR start "ctfKeyword"
7956 // CTFParser.g:898:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
7957 public final CTFParser
.ctfKeyword_return
ctfKeyword() throws RecognitionException
{
7958 CTFParser
.ctfKeyword_return retval
= new CTFParser
.ctfKeyword_return();
7959 retval
.start
= input
.LT(1);
7961 CommonTree root_0
= null;
7965 CommonTree set158_tree
=null;
7968 enter("ctfKeyword");
7971 // CTFParser.g:906:1: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
7974 root_0
= (CommonTree
)adaptor
.nil();
7976 set158
=(Token
)input
.LT(1);
7977 if ( input
.LA(1)==ALIGNTOK
||input
.LA(1)==EVENTTOK
||input
.LA(1)==SIGNEDTOK
||input
.LA(1)==STRINGTOK
) {
7979 if ( state
.backtracking
==0 ) {
7980 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(set158
));
7982 state
.errorRecovery
=false;state
.failed
=false;
7985 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7986 MismatchedSetException mse
= new MismatchedSetException(null,input
);
7993 retval
.stop
= input
.LT(-1);
7995 if ( state
.backtracking
==0 ) {
7997 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7998 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8000 if ( state
.backtracking
==0 ) {
8002 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
8008 catch (RecognitionException e
)
8016 // $ANTLR end "ctfKeyword"
8018 public static class ctfSpecifier_return
extends ParserRuleReturnScope
{
8020 public Object
getTree() { return tree
; }
8023 // $ANTLR start "ctfSpecifier"
8024 // CTFParser.g:913:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
8025 public final CTFParser
.ctfSpecifier_return
ctfSpecifier() throws RecognitionException
{
8026 CTFParser
.ctfSpecifier_return retval
= new CTFParser
.ctfSpecifier_return();
8027 retval
.start
= input
.LT(1);
8029 CommonTree root_0
= null;
8031 CTFParser
.ctfSpecifierHead_return ctfSpecifierHead159
= null;
8033 CTFParser
.ctfBody_return ctfBody160
= null;
8035 CTFParser
.typealiasDecl_return typealiasDecl161
= null;
8038 RewriteRuleSubtreeStream stream_ctfSpecifierHead
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfSpecifierHead");
8039 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
8040 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
8042 enter("ctfSpecifier");
8045 // CTFParser.g:920:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
8047 int LA52_0
= input
.LA(1);
8049 if ( (LA52_0
==EVENTTOK
||LA52_0
==STREAMTOK
||LA52_0
==TRACETOK
||(LA52_0
>=ENVTOK
&& LA52_0
<=CALLSITETOK
)) ) {
8052 else if ( (LA52_0
==TYPEALIASTOK
) ) {
8056 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8057 NoViableAltException nvae
=
8058 new NoViableAltException("", 52, 0, input
);
8064 // CTFParser.g:922:3: ctfSpecifierHead ctfBody
8066 pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3127
);
8067 ctfSpecifierHead159
=ctfSpecifierHead();
8073 if ( state
.backtracking
==0 ) {
8074 stream_ctfSpecifierHead
.add(ctfSpecifierHead159
.getTree());
8076 pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3129
);
8077 ctfBody160
=ctfBody();
8083 if ( state
.backtracking
==0 ) {
8084 stream_ctfBody
.add(ctfBody160
.getTree());
8089 // elements: ctfSpecifierHead, ctfBody
8091 // rule labels: retval
8092 // token list labels:
8093 // rule list labels:
8095 if ( state
.backtracking
==0 ) {
8096 retval
.tree
= root_0
;
8097 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8099 root_0
= (CommonTree
)adaptor
.nil();
8100 // 922:28: -> ^( ctfSpecifierHead ctfBody )
8102 // CTFParser.g:922:31: ^( ctfSpecifierHead ctfBody )
8104 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8105 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ctfSpecifierHead
.nextNode(), root_1
);
8107 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
8109 adaptor
.addChild(root_0
, root_1
);
8114 retval
.tree
= root_0
;}
8118 // CTFParser.g:925:3: typealiasDecl
8120 pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3148
);
8121 typealiasDecl161
=typealiasDecl();
8127 if ( state
.backtracking
==0 ) {
8128 stream_typealiasDecl
.add(typealiasDecl161
.getTree());
8133 // elements: typealiasDecl
8135 // rule labels: retval
8136 // token list labels:
8137 // rule list labels:
8139 if ( state
.backtracking
==0 ) {
8140 retval
.tree
= root_0
;
8141 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8143 root_0
= (CommonTree
)adaptor
.nil();
8144 // 925:17: -> ^( DECLARATION typealiasDecl )
8146 // CTFParser.g:925:20: ^( DECLARATION typealiasDecl )
8148 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8149 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
8151 adaptor
.addChild(root_1
, stream_typealiasDecl
.nextTree());
8153 adaptor
.addChild(root_0
, root_1
);
8158 retval
.tree
= root_0
;}
8163 retval
.stop
= input
.LT(-1);
8165 if ( state
.backtracking
==0 ) {
8167 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8168 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8170 if ( state
.backtracking
==0 ) {
8172 exit("ctfSpecifier");
8177 catch (RecognitionException e
)
8185 // $ANTLR end "ctfSpecifier"
8187 public static class ctfSpecifierHead_return
extends ParserRuleReturnScope
{
8189 public Object
getTree() { return tree
; }
8192 // $ANTLR start "ctfSpecifierHead"
8193 // CTFParser.g:928:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE );
8194 public final CTFParser
.ctfSpecifierHead_return
ctfSpecifierHead() throws RecognitionException
{
8195 CTFParser
.ctfSpecifierHead_return retval
= new CTFParser
.ctfSpecifierHead_return();
8196 retval
.start
= input
.LT(1);
8198 CommonTree root_0
= null;
8200 Token EVENTTOK162
=null;
8201 Token STREAMTOK163
=null;
8202 Token TRACETOK164
=null;
8203 Token ENVTOK165
=null;
8204 Token CLOCKTOK166
=null;
8205 Token CALLSITETOK167
=null;
8207 CommonTree EVENTTOK162_tree
=null;
8208 CommonTree STREAMTOK163_tree
=null;
8209 CommonTree TRACETOK164_tree
=null;
8210 CommonTree ENVTOK165_tree
=null;
8211 CommonTree CLOCKTOK166_tree
=null;
8212 CommonTree CALLSITETOK167_tree
=null;
8213 RewriteRuleTokenStream stream_EVENTTOK
=new RewriteRuleTokenStream(adaptor
,"token EVENTTOK");
8214 RewriteRuleTokenStream stream_CALLSITETOK
=new RewriteRuleTokenStream(adaptor
,"token CALLSITETOK");
8215 RewriteRuleTokenStream stream_STREAMTOK
=new RewriteRuleTokenStream(adaptor
,"token STREAMTOK");
8216 RewriteRuleTokenStream stream_ENVTOK
=new RewriteRuleTokenStream(adaptor
,"token ENVTOK");
8217 RewriteRuleTokenStream stream_CLOCKTOK
=new RewriteRuleTokenStream(adaptor
,"token CLOCKTOK");
8218 RewriteRuleTokenStream stream_TRACETOK
=new RewriteRuleTokenStream(adaptor
,"token TRACETOK");
8221 enter("ctfSpecifierHead");
8224 // CTFParser.g:936:1: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE )
8226 switch ( input
.LA(1) ) {
8258 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8259 NoViableAltException nvae
=
8260 new NoViableAltException("", 53, 0, input
);
8267 // CTFParser.g:937:4: EVENTTOK
8269 EVENTTOK162
=(Token
)match(input
,EVENTTOK
,FOLLOW_EVENTTOK_in_ctfSpecifierHead3180
); if (state
.failed
) {
8272 if ( state
.backtracking
==0 ) {
8273 stream_EVENTTOK
.add(EVENTTOK162
);
8281 // rule labels: retval
8282 // token list labels:
8283 // rule list labels:
8285 if ( state
.backtracking
==0 ) {
8286 retval
.tree
= root_0
;
8287 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8289 root_0
= (CommonTree
)adaptor
.nil();
8292 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(EVENT
, "EVENT"));
8296 retval
.tree
= root_0
;}
8300 // CTFParser.g:938:4: STREAMTOK
8302 STREAMTOK163
=(Token
)match(input
,STREAMTOK
,FOLLOW_STREAMTOK_in_ctfSpecifierHead3189
); if (state
.failed
) {
8305 if ( state
.backtracking
==0 ) {
8306 stream_STREAMTOK
.add(STREAMTOK163
);
8314 // rule labels: retval
8315 // token list labels:
8316 // rule list labels:
8318 if ( state
.backtracking
==0 ) {
8319 retval
.tree
= root_0
;
8320 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8322 root_0
= (CommonTree
)adaptor
.nil();
8323 // 938:14: -> STREAM
8325 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(STREAM
, "STREAM"));
8329 retval
.tree
= root_0
;}
8333 // CTFParser.g:939:4: TRACETOK
8335 TRACETOK164
=(Token
)match(input
,TRACETOK
,FOLLOW_TRACETOK_in_ctfSpecifierHead3198
); if (state
.failed
) {
8338 if ( state
.backtracking
==0 ) {
8339 stream_TRACETOK
.add(TRACETOK164
);
8347 // rule labels: retval
8348 // token list labels:
8349 // rule list labels:
8351 if ( state
.backtracking
==0 ) {
8352 retval
.tree
= root_0
;
8353 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8355 root_0
= (CommonTree
)adaptor
.nil();
8358 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(TRACE
, "TRACE"));
8362 retval
.tree
= root_0
;}
8366 // CTFParser.g:940:4: ENVTOK
8368 ENVTOK165
=(Token
)match(input
,ENVTOK
,FOLLOW_ENVTOK_in_ctfSpecifierHead3207
); if (state
.failed
) {
8371 if ( state
.backtracking
==0 ) {
8372 stream_ENVTOK
.add(ENVTOK165
);
8380 // rule labels: retval
8381 // token list labels:
8382 // rule list labels:
8384 if ( state
.backtracking
==0 ) {
8385 retval
.tree
= root_0
;
8386 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8388 root_0
= (CommonTree
)adaptor
.nil();
8391 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(ENV
, "ENV"));
8395 retval
.tree
= root_0
;}
8399 // CTFParser.g:941:4: CLOCKTOK
8401 CLOCKTOK166
=(Token
)match(input
,CLOCKTOK
,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3216
); if (state
.failed
) {
8404 if ( state
.backtracking
==0 ) {
8405 stream_CLOCKTOK
.add(CLOCKTOK166
);
8413 // rule labels: retval
8414 // token list labels:
8415 // rule list labels:
8417 if ( state
.backtracking
==0 ) {
8418 retval
.tree
= root_0
;
8419 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8421 root_0
= (CommonTree
)adaptor
.nil();
8424 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(CLOCK
, "CLOCK"));
8428 retval
.tree
= root_0
;}
8432 // CTFParser.g:942:4: CALLSITETOK
8434 CALLSITETOK167
=(Token
)match(input
,CALLSITETOK
,FOLLOW_CALLSITETOK_in_ctfSpecifierHead3225
); if (state
.failed
) {
8437 if ( state
.backtracking
==0 ) {
8438 stream_CALLSITETOK
.add(CALLSITETOK167
);
8446 // rule labels: retval
8447 // token list labels:
8448 // rule list labels:
8450 if ( state
.backtracking
==0 ) {
8451 retval
.tree
= root_0
;
8452 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8454 root_0
= (CommonTree
)adaptor
.nil();
8455 // 942:16: -> CALLSITE
8457 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(CALLSITE
, "CALLSITE"));
8461 retval
.tree
= root_0
;}
8466 retval
.stop
= input
.LT(-1);
8468 if ( state
.backtracking
==0 ) {
8470 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8471 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8473 if ( state
.backtracking
==0 ) {
8475 debug_print(input
.toString(retval
.start
,input
.LT(-1)));
8476 exit("ctfSpecifierHead");
8481 catch (RecognitionException e
)
8489 // $ANTLR end "ctfSpecifierHead"
8491 public static class ctfTypeSpecifier_return
extends ParserRuleReturnScope
{
8493 public Object
getTree() { return tree
; }
8496 // $ANTLR start "ctfTypeSpecifier"
8497 // CTFParser.g:945:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
8498 public final CTFParser
.ctfTypeSpecifier_return
ctfTypeSpecifier() throws RecognitionException
{
8499 CTFParser
.ctfTypeSpecifier_return retval
= new CTFParser
.ctfTypeSpecifier_return();
8500 retval
.start
= input
.LT(1);
8502 CommonTree root_0
= null;
8504 Token FLOATINGPOINTTOK168
=null;
8505 Token INTEGERTOK170
=null;
8506 Token STRINGTOK172
=null;
8507 CTFParser
.ctfBody_return ctfBody169
= null;
8509 CTFParser
.ctfBody_return ctfBody171
= null;
8511 CTFParser
.ctfBody_return ctfBody173
= null;
8514 CommonTree FLOATINGPOINTTOK168_tree
=null;
8515 CommonTree INTEGERTOK170_tree
=null;
8516 CommonTree STRINGTOK172_tree
=null;
8517 RewriteRuleTokenStream stream_FLOATINGPOINTTOK
=new RewriteRuleTokenStream(adaptor
,"token FLOATINGPOINTTOK");
8518 RewriteRuleTokenStream stream_STRINGTOK
=new RewriteRuleTokenStream(adaptor
,"token STRINGTOK");
8519 RewriteRuleTokenStream stream_INTEGERTOK
=new RewriteRuleTokenStream(adaptor
,"token INTEGERTOK");
8520 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
8522 enter("ctfTypeSpecifier");
8525 // CTFParser.g:952:1: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
8527 switch ( input
.LA(1) ) {
8528 case FLOATINGPOINTTOK
:
8544 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8545 NoViableAltException nvae
=
8546 new NoViableAltException("", 55, 0, input
);
8553 // CTFParser.g:954:5: FLOATINGPOINTTOK ctfBody
8555 FLOATINGPOINTTOK168
=(Token
)match(input
,FLOATINGPOINTTOK
,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3259
); if (state
.failed
) {
8558 if ( state
.backtracking
==0 ) {
8559 stream_FLOATINGPOINTTOK
.add(FLOATINGPOINTTOK168
);
8562 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3261
);
8563 ctfBody169
=ctfBody();
8569 if ( state
.backtracking
==0 ) {
8570 stream_ctfBody
.add(ctfBody169
.getTree());
8575 // elements: ctfBody
8577 // rule labels: retval
8578 // token list labels:
8579 // rule list labels:
8581 if ( state
.backtracking
==0 ) {
8582 retval
.tree
= root_0
;
8583 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8585 root_0
= (CommonTree
)adaptor
.nil();
8586 // 954:30: -> ^( FLOATING_POINT ( ctfBody )? )
8588 // CTFParser.g:954:33: ^( FLOATING_POINT ( ctfBody )? )
8590 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8591 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(FLOATING_POINT
, "FLOATING_POINT"), root_1
);
8593 // CTFParser.g:954:50: ( ctfBody )?
8594 if ( stream_ctfBody
.hasNext() ) {
8595 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
8598 stream_ctfBody
.reset();
8600 adaptor
.addChild(root_0
, root_1
);
8605 retval
.tree
= root_0
;}
8609 // CTFParser.g:955:5: INTEGERTOK ctfBody
8611 INTEGERTOK170
=(Token
)match(input
,INTEGERTOK
,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3276
); if (state
.failed
) {
8614 if ( state
.backtracking
==0 ) {
8615 stream_INTEGERTOK
.add(INTEGERTOK170
);
8618 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3278
);
8619 ctfBody171
=ctfBody();
8625 if ( state
.backtracking
==0 ) {
8626 stream_ctfBody
.add(ctfBody171
.getTree());
8631 // elements: ctfBody
8633 // rule labels: retval
8634 // token list labels:
8635 // rule list labels:
8637 if ( state
.backtracking
==0 ) {
8638 retval
.tree
= root_0
;
8639 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8641 root_0
= (CommonTree
)adaptor
.nil();
8642 // 955:24: -> ^( INTEGER ( ctfBody )? )
8644 // CTFParser.g:955:27: ^( INTEGER ( ctfBody )? )
8646 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8647 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(INTEGER
, "INTEGER"), root_1
);
8649 // CTFParser.g:955:37: ( ctfBody )?
8650 if ( stream_ctfBody
.hasNext() ) {
8651 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
8654 stream_ctfBody
.reset();
8656 adaptor
.addChild(root_0
, root_1
);
8661 retval
.tree
= root_0
;}
8665 // CTFParser.g:956:5: STRINGTOK ( ctfBody )?
8667 STRINGTOK172
=(Token
)match(input
,STRINGTOK
,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3293
); if (state
.failed
) {
8670 if ( state
.backtracking
==0 ) {
8671 stream_STRINGTOK
.add(STRINGTOK172
);
8674 // CTFParser.g:956:15: ( ctfBody )?
8676 alt54
= dfa54
.predict(input
);
8679 // CTFParser.g:956:15: ctfBody
8681 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3295
);
8682 ctfBody173
=ctfBody();
8688 if ( state
.backtracking
==0 ) {
8689 stream_ctfBody
.add(ctfBody173
.getTree());
8700 // elements: ctfBody
8702 // rule labels: retval
8703 // token list labels:
8704 // rule list labels:
8706 if ( state
.backtracking
==0 ) {
8707 retval
.tree
= root_0
;
8708 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8710 root_0
= (CommonTree
)adaptor
.nil();
8711 // 956:24: -> ^( STRING ( ctfBody )? )
8713 // CTFParser.g:956:27: ^( STRING ( ctfBody )? )
8715 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8716 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRING
, "STRING"), root_1
);
8718 // CTFParser.g:956:36: ( ctfBody )?
8719 if ( stream_ctfBody
.hasNext() ) {
8720 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
8723 stream_ctfBody
.reset();
8725 adaptor
.addChild(root_0
, root_1
);
8730 retval
.tree
= root_0
;}
8735 retval
.stop
= input
.LT(-1);
8737 if ( state
.backtracking
==0 ) {
8739 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8740 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8742 if ( state
.backtracking
==0 ) {
8744 exit("ctfTypeSpecifier");
8749 catch (RecognitionException e
)
8757 // $ANTLR end "ctfTypeSpecifier"
8759 public static class ctfBody_return
extends ParserRuleReturnScope
{
8761 public Object
getTree() { return tree
; }
8764 // $ANTLR start "ctfBody"
8765 // CTFParser.g:959:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
8766 public final CTFParser
.ctfBody_return
ctfBody() throws RecognitionException
{
8767 Symbols_stack
.push(new Symbols_scope());
8769 CTFParser
.ctfBody_return retval
= new CTFParser
.ctfBody_return();
8770 retval
.start
= input
.LT(1);
8772 CommonTree root_0
= null;
8774 Token LCURL174
=null;
8775 Token RCURL176
=null;
8776 CTFParser
.ctfAssignmentExpressionList_return ctfAssignmentExpressionList175
= null;
8779 CommonTree LCURL174_tree
=null;
8780 CommonTree RCURL176_tree
=null;
8781 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
8782 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
8783 RewriteRuleSubtreeStream stream_ctfAssignmentExpressionList
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfAssignmentExpressionList");
8786 debug_print("Scope push " + + Symbols_stack
.size());
8787 ((Symbols_scope
)Symbols_stack
.peek()).types
= new HashSet
<String
>();
8790 // CTFParser.g:970:1: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
8791 // CTFParser.g:971:3: LCURL ( ctfAssignmentExpressionList )? RCURL
8793 LCURL174
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_ctfBody3333
); if (state
.failed
) {
8796 if ( state
.backtracking
==0 ) {
8797 stream_LCURL
.add(LCURL174
);
8800 // CTFParser.g:971:9: ( ctfAssignmentExpressionList )?
8802 int LA56_0
= input
.LA(1);
8804 if ( ((LA56_0
>=ALIGNTOK
&& LA56_0
<=CALLSITETOK
)||LA56_0
==SIGN
||LA56_0
==OCTAL_LITERAL
||LA56_0
==DECIMAL_LITERAL
||LA56_0
==HEX_LITERAL
||LA56_0
==CHARACTER_LITERAL
||LA56_0
==STRING_LITERAL
||LA56_0
==IDENTIFIER
) ) {
8809 // CTFParser.g:971:9: ctfAssignmentExpressionList
8811 pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3335
);
8812 ctfAssignmentExpressionList175
=ctfAssignmentExpressionList();
8818 if ( state
.backtracking
==0 ) {
8819 stream_ctfAssignmentExpressionList
.add(ctfAssignmentExpressionList175
.getTree());
8827 RCURL176
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_ctfBody3338
); if (state
.failed
) {
8830 if ( state
.backtracking
==0 ) {
8831 stream_RCURL
.add(RCURL176
);
8837 // elements: ctfAssignmentExpressionList
8839 // rule labels: retval
8840 // token list labels:
8841 // rule list labels:
8843 if ( state
.backtracking
==0 ) {
8844 retval
.tree
= root_0
;
8845 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
8847 root_0
= (CommonTree
)adaptor
.nil();
8848 // 971:44: -> ( ctfAssignmentExpressionList )?
8850 // CTFParser.g:971:47: ( ctfAssignmentExpressionList )?
8851 if ( stream_ctfAssignmentExpressionList
.hasNext() ) {
8852 adaptor
.addChild(root_0
, stream_ctfAssignmentExpressionList
.nextTree());
8855 stream_ctfAssignmentExpressionList
.reset();
8859 retval
.tree
= root_0
;}
8862 retval
.stop
= input
.LT(-1);
8864 if ( state
.backtracking
==0 ) {
8866 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8867 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8869 if ( state
.backtracking
==0 ) {
8871 debug_print("Scope pop " + + Symbols_stack
.size());
8877 catch (RecognitionException e
)
8882 Symbols_stack
.pop();
8887 // $ANTLR end "ctfBody"
8889 public static class ctfAssignmentExpressionList_return
extends ParserRuleReturnScope
{
8891 public Object
getTree() { return tree
; }
8894 // $ANTLR start "ctfAssignmentExpressionList"
8895 // CTFParser.g:974:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM )+ ;
8896 public final CTFParser
.ctfAssignmentExpressionList_return
ctfAssignmentExpressionList() throws RecognitionException
{
8897 CTFParser
.ctfAssignmentExpressionList_return retval
= new CTFParser
.ctfAssignmentExpressionList_return();
8898 retval
.start
= input
.LT(1);
8900 CommonTree root_0
= null;
8903 CTFParser
.ctfAssignmentExpression_return ctfAssignmentExpression177
= null;
8906 CommonTree TERM178_tree
=null;
8909 // CTFParser.g:974:29: ( ( ctfAssignmentExpression TERM )+ )
8910 // CTFParser.g:975:3: ( ctfAssignmentExpression TERM )+
8912 root_0
= (CommonTree
)adaptor
.nil();
8914 // CTFParser.g:975:3: ( ctfAssignmentExpression TERM )+
8919 int LA57_0
= input
.LA(1);
8921 if ( ((LA57_0
>=ALIGNTOK
&& LA57_0
<=CALLSITETOK
)||LA57_0
==SIGN
||LA57_0
==OCTAL_LITERAL
||LA57_0
==DECIMAL_LITERAL
||LA57_0
==HEX_LITERAL
||LA57_0
==CHARACTER_LITERAL
||LA57_0
==STRING_LITERAL
||LA57_0
==IDENTIFIER
) ) {
8928 // CTFParser.g:975:4: ctfAssignmentExpression TERM
8930 pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3357
);
8931 ctfAssignmentExpression177
=ctfAssignmentExpression();
8937 if ( state
.backtracking
==0 ) {
8938 adaptor
.addChild(root_0
, ctfAssignmentExpression177
.getTree());
8940 TERM178
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_ctfAssignmentExpressionList3359
); if (state
.failed
) {
8951 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8952 EarlyExitException eee
=
8953 new EarlyExitException(57, input
);
8962 retval
.stop
= input
.LT(-1);
8964 if ( state
.backtracking
==0 ) {
8966 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8967 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8971 catch (RecognitionException e
)
8979 // $ANTLR end "ctfAssignmentExpressionList"
8981 public static class ctfAssignmentExpression_return
extends ParserRuleReturnScope
{
8983 public Object
getTree() { return tree
; }
8986 // $ANTLR start "ctfAssignmentExpression"
8987 // CTFParser.g:979:1: ctfAssignmentExpression : ( (left= unaryExpression ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl );
8988 public final CTFParser
.ctfAssignmentExpression_return
ctfAssignmentExpression() throws RecognitionException
{
8989 CTFParser
.ctfAssignmentExpression_return retval
= new CTFParser
.ctfAssignmentExpression_return();
8990 retval
.start
= input
.LT(1);
8992 CommonTree root_0
= null;
8994 Token assignment
=null;
8995 Token type_assignment
=null;
8996 CTFParser
.unaryExpression_return left
= null;
8998 CTFParser
.unaryExpression_return right1
= null;
9000 CTFParser
.typeSpecifier_return right2
= null;
9002 CTFParser
.declarationSpecifiers_return declarationSpecifiers179
= null;
9004 CTFParser
.declaratorList_return declaratorList180
= null;
9006 CTFParser
.typealiasDecl_return typealiasDecl181
= null;
9009 CommonTree assignment_tree
=null;
9010 CommonTree type_assignment_tree
=null;
9011 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
9012 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
9013 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
9014 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
9015 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
9016 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
9018 enter("ctfAssignmentExpression");
9021 // CTFParser.g:989:1: ( (left= unaryExpression ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl )
9023 switch ( input
.LA(1) ) {
9026 int LA59_1
= input
.LA(2);
9028 if ( ((LA59_1
>=ASSIGNMENT
&& LA59_1
<=TYPE_ASSIGNMENT
)||LA59_1
==OPENBRAC
||(LA59_1
>=ARROW
&& LA59_1
<=DOT
)) ) {
9031 else if ( ((LA59_1
>=CONSTTOK
&& LA59_1
<=ENUMTOK
)||(LA59_1
>=FLOATINGPOINTTOK
&& LA59_1
<=SIGNEDTOK
)||(LA59_1
>=STRINGTOK
&& LA59_1
<=STRUCTTOK
)||(LA59_1
>=TYPEDEFTOK
&& LA59_1
<=IMAGINARYTOK
)||LA59_1
==POINTER
||LA59_1
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {
9035 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9036 NoViableAltException nvae
=
9037 new NoViableAltException("", 59, 1, input
);
9052 case DECIMAL_LITERAL
:
9054 case CHARACTER_LITERAL
:
9055 case STRING_LITERAL
:
9062 switch ( input
.LA(2) ) {
9064 case TYPE_ASSIGNMENT
:
9076 case FLOATINGPOINTTOK
:
9103 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9104 NoViableAltException nvae
=
9105 new NoViableAltException("", 59, 3, input
);
9116 case FLOATINGPOINTTOK
:
9136 switch ( input
.LA(2) ) {
9141 case FLOATINGPOINTTOK
:
9169 case TYPE_ASSIGNMENT
:
9178 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9179 NoViableAltException nvae
=
9180 new NoViableAltException("", 59, 5, input
);
9193 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9194 NoViableAltException nvae
=
9195 new NoViableAltException("", 59, 0, input
);
9202 // CTFParser.g:990:3: (left= unaryExpression ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) )
9204 // CTFParser.g:990:3: (left= unaryExpression ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) )
9205 // CTFParser.g:991:5: left= unaryExpression ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
9207 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3394
);
9208 left
=unaryExpression();
9214 if ( state
.backtracking
==0 ) {
9215 stream_unaryExpression
.add(left
.getTree());
9217 // CTFParser.g:992:5: ( (assignment= ASSIGNMENT right1= unaryExpression ) -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) | (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier ) -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
9219 int LA58_0
= input
.LA(1);
9221 if ( (LA58_0
==ASSIGNMENT
) ) {
9224 else if ( (LA58_0
==TYPE_ASSIGNMENT
) ) {
9228 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9229 NoViableAltException nvae
=
9230 new NoViableAltException("", 58, 0, input
);
9236 // CTFParser.g:993:9: (assignment= ASSIGNMENT right1= unaryExpression )
9238 // CTFParser.g:993:9: (assignment= ASSIGNMENT right1= unaryExpression )
9239 // CTFParser.g:993:10: assignment= ASSIGNMENT right1= unaryExpression
9241 assignment
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3413
); if (state
.failed
) {
9244 if ( state
.backtracking
==0 ) {
9245 stream_ASSIGNMENT
.add(assignment
);
9248 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3417
);
9249 right1
=unaryExpression();
9255 if ( state
.backtracking
==0 ) {
9256 stream_unaryExpression
.add(right1
.getTree());
9264 // elements: right1, left
9266 // rule labels: retval, left, right1
9267 // token list labels:
9268 // rule list labels:
9270 if ( state
.backtracking
==0 ) {
9271 retval
.tree
= root_0
;
9272 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
9273 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.tree
:null);
9274 RewriteRuleSubtreeStream stream_right1
=new RewriteRuleSubtreeStream(adaptor
,"rule right1",right1
!=null?right1
.tree
:null);
9276 root_0
= (CommonTree
)adaptor
.nil();
9277 // 993:56: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
9279 // CTFParser.g:993:59: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
9281 CommonTree root_1
= (CommonTree
)adaptor
.nil();
9282 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_VAL
, "CTF_EXPRESSION_VAL"), root_1
);
9284 // CTFParser.g:993:80: ^( CTF_LEFT $left)
9286 CommonTree root_2
= (CommonTree
)adaptor
.nil();
9287 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
9289 adaptor
.addChild(root_2
, stream_left
.nextTree());
9291 adaptor
.addChild(root_1
, root_2
);
9293 // CTFParser.g:993:98: ^( CTF_RIGHT $right1)
9295 CommonTree root_2
= (CommonTree
)adaptor
.nil();
9296 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
9298 adaptor
.addChild(root_2
, stream_right1
.nextTree());
9300 adaptor
.addChild(root_1
, root_2
);
9303 adaptor
.addChild(root_0
, root_1
);
9308 retval
.tree
= root_0
;}
9312 // CTFParser.g:994:9: (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier )
9314 // CTFParser.g:994:9: (type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier )
9315 // CTFParser.g:994:10: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
9317 type_assignment
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3451
); if (state
.failed
) {
9320 if ( state
.backtracking
==0 ) {
9321 stream_TYPE_ASSIGNMENT
.add(type_assignment
);
9324 pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3456
);
9325 right2
=typeSpecifier();
9331 if ( state
.backtracking
==0 ) {
9332 stream_typeSpecifier
.add(right2
.getTree());
9340 // elements: right2, left
9342 // rule labels: retval, left, right2
9343 // token list labels:
9344 // rule list labels:
9346 if ( state
.backtracking
==0 ) {
9347 retval
.tree
= root_0
;
9348 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
9349 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.tree
:null);
9350 RewriteRuleSubtreeStream stream_right2
=new RewriteRuleSubtreeStream(adaptor
,"rule right2",right2
!=null?right2
.tree
:null);
9352 root_0
= (CommonTree
)adaptor
.nil();
9353 // 994:65: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
9355 // CTFParser.g:994:68: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
9357 CommonTree root_1
= (CommonTree
)adaptor
.nil();
9358 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_TYPE
, "CTF_EXPRESSION_TYPE"), root_1
);
9360 // CTFParser.g:994:90: ^( CTF_LEFT $left)
9362 CommonTree root_2
= (CommonTree
)adaptor
.nil();
9363 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
9365 adaptor
.addChild(root_2
, stream_left
.nextTree());
9367 adaptor
.addChild(root_1
, root_2
);
9369 // CTFParser.g:994:108: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
9371 CommonTree root_2
= (CommonTree
)adaptor
.nil();
9372 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
9374 // CTFParser.g:994:120: ^( TYPE_SPECIFIER_LIST $right2)
9376 CommonTree root_3
= (CommonTree
)adaptor
.nil();
9377 root_3
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_3
);
9379 adaptor
.addChild(root_3
, stream_right2
.nextTree());
9381 adaptor
.addChild(root_2
, root_3
);
9384 adaptor
.addChild(root_1
, root_2
);
9387 adaptor
.addChild(root_0
, root_1
);
9392 retval
.tree
= root_0
;}
9405 // CTFParser.g:1000:5: ( declarationSpecifiers {...}? declaratorList )
9407 // CTFParser.g:1000:5: ( declarationSpecifiers {...}? declaratorList )
9408 // CTFParser.g:1000:6: declarationSpecifiers {...}? declaratorList
9410 pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3506
);
9411 declarationSpecifiers179
=declarationSpecifiers();
9417 if ( state
.backtracking
==0 ) {
9418 stream_declarationSpecifiers
.add(declarationSpecifiers179
.getTree());
9420 if ( !((inTypedef())) ) {
9421 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
9422 throw new FailedPredicateException(input
, "ctfAssignmentExpression", "inTypedef()");
9424 pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3510
);
9425 declaratorList180
=declaratorList();
9431 if ( state
.backtracking
==0 ) {
9432 stream_declaratorList
.add(declaratorList180
.getTree());
9440 // elements: declarationSpecifiers, declaratorList
9442 // rule labels: retval
9443 // token list labels:
9444 // rule list labels:
9446 if ( state
.backtracking
==0 ) {
9447 retval
.tree
= root_0
;
9448 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.tree
:null);
9450 root_0
= (CommonTree
)adaptor
.nil();
9451 // 1001:5: -> ^( TYPEDEF declaratorList declarationSpecifiers )
9453 // CTFParser.g:1001:8: ^( TYPEDEF declaratorList declarationSpecifiers )
9455 CommonTree root_1
= (CommonTree
)adaptor
.nil();
9456 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
9458 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
9459 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
9461 adaptor
.addChild(root_0
, root_1
);
9466 retval
.tree
= root_0
;}
9470 // CTFParser.g:1004:5: typealiasDecl
9472 root_0
= (CommonTree
)adaptor
.nil();
9474 pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3538
);
9475 typealiasDecl181
=typealiasDecl();
9481 if ( state
.backtracking
==0 ) {
9482 adaptor
.addChild(root_0
, typealiasDecl181
.getTree());
9489 retval
.stop
= input
.LT(-1);
9491 if ( state
.backtracking
==0 ) {
9493 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
9494 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
9496 if ( state
.backtracking
==0 ) {
9501 exit("ctfAssignmentExpression");
9506 catch (RecognitionException e
)
9514 // $ANTLR end "ctfAssignmentExpression"
9516 // $ANTLR start synpred1_CTFParser
9517 public final void synpred1_CTFParser_fragment() throws RecognitionException
{
9518 // CTFParser.g:251:5: ( IDENTIFIER )
9519 // CTFParser.g:251:6: IDENTIFIER
9521 match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_synpred1_CTFParser474
); if (state
.failed
) {
9527 // $ANTLR end synpred1_CTFParser
9529 // $ANTLR start synpred2_CTFParser
9530 public final void synpred2_CTFParser_fragment() throws RecognitionException
{
9531 // CTFParser.g:252:5: ( ctfKeyword )
9532 // CTFParser.g:252:6: ctfKeyword
9534 pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser496
);
9544 // $ANTLR end synpred2_CTFParser
9546 // $ANTLR start synpred3_CTFParser
9547 public final void synpred3_CTFParser_fragment() throws RecognitionException
{
9548 // CTFParser.g:253:5: ( STRING_LITERAL )
9549 // CTFParser.g:253:6: STRING_LITERAL
9551 match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser516
); if (state
.failed
) {
9557 // $ANTLR end synpred3_CTFParser
9561 public final boolean synpred2_CTFParser() {
9562 state
.backtracking
++;
9563 int start
= input
.mark();
9565 synpred2_CTFParser_fragment(); // can never throw exception
9566 } catch (RecognitionException re
) {
9567 System
.err
.println("impossible: "+re
);
9569 boolean success
= !state
.failed
;
9570 input
.rewind(start
);
9571 state
.backtracking
--;
9575 public final boolean synpred1_CTFParser() {
9576 state
.backtracking
++;
9577 int start
= input
.mark();
9579 synpred1_CTFParser_fragment(); // can never throw exception
9580 } catch (RecognitionException re
) {
9581 System
.err
.println("impossible: "+re
);
9583 boolean success
= !state
.failed
;
9584 input
.rewind(start
);
9585 state
.backtracking
--;
9589 public final boolean synpred3_CTFParser() {
9590 state
.backtracking
++;
9591 int start
= input
.mark();
9593 synpred3_CTFParser_fragment(); // can never throw exception
9594 } catch (RecognitionException re
) {
9595 System
.err
.println("impossible: "+re
);
9597 boolean success
= !state
.failed
;
9598 input
.rewind(start
);
9599 state
.backtracking
--;
9605 protected DFA10 dfa10
= new DFA10(this);
9606 protected DFA17 dfa17
= new DFA17(this);
9607 protected DFA24 dfa24
= new DFA24(this);
9608 protected DFA32 dfa32
= new DFA32(this);
9609 protected DFA54 dfa54
= new DFA54(this);
9610 static final String DFA10_eotS
=
9612 static final String DFA10_eofS
=
9614 static final String DFA10_minS
=
9616 static final String DFA10_maxS
=
9618 static final String DFA10_acceptS
=
9619 "\1\uffff\2\1\7\uffff\1\2\4\uffff";
9620 static final String DFA10_specialS
=
9622 static final String
[] DFA10_transitionS
= {
9623 "\1\1\4\uffff\1\2\6\uffff\1\1\1\12\1\1\1\uffff\1\12\10\uffff"+
9624 "\3\12\22\uffff\1\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\10\uffff"+
9625 "\1\1\2\uffff\1\1\6\uffff\1\1",
9642 static final short[] DFA10_eot
= DFA
.unpackEncodedString(DFA10_eotS
);
9643 static final short[] DFA10_eof
= DFA
.unpackEncodedString(DFA10_eofS
);
9644 static final char[] DFA10_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA10_minS
);
9645 static final char[] DFA10_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA10_maxS
);
9646 static final short[] DFA10_accept
= DFA
.unpackEncodedString(DFA10_acceptS
);
9647 static final short[] DFA10_special
= DFA
.unpackEncodedString(DFA10_specialS
);
9648 static final short[][] DFA10_transition
;
9651 int numStates
= DFA10_transitionS
.length
;
9652 DFA10_transition
= new short[numStates
][];
9653 for (int i
=0; i
<numStates
; i
++) {
9654 DFA10_transition
[i
] = DFA
.unpackEncodedString(DFA10_transitionS
[i
]);
9658 class DFA10
extends DFA
{
9660 public DFA10(BaseRecognizer recognizer
) {
9661 this.recognizer
= recognizer
;
9662 this.decisionNumber
= 10;
9663 this.eot
= DFA10_eot
;
9664 this.eof
= DFA10_eof
;
9665 this.min
= DFA10_min
;
9666 this.max
= DFA10_max
;
9667 this.accept
= DFA10_accept
;
9668 this.special
= DFA10_special
;
9669 this.transition
= DFA10_transition
;
9671 public String
getDescription() {
9672 return "282:1: postfixExpression : ( ( primaryExpression ) ( postfixExpressionSuffix )* | ( ( ctfSpecifierHead ) ( postfixExpressionSuffix )+ ) );";
9675 static final String DFA17_eotS
=
9677 static final String DFA17_eofS
=
9679 static final String DFA17_minS
=
9681 static final String DFA17_maxS
=
9683 static final String DFA17_acceptS
=
9684 "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
9685 "\15\1\16\1\17\1\20\1\21";
9686 static final String DFA17_specialS
=
9688 static final String
[] DFA17_transitionS
= {
9689 "\1\7\1\10\1\17\1\uffff\1\20\1\1\1\20\1\2\1\3\1\4\1\5\1\uffff"+
9690 "\1\20\1\15\3\uffff\1\6\1\16\1\11\1\12\1\13\1\14\62\uffff\1\21",
9710 static final short[] DFA17_eot
= DFA
.unpackEncodedString(DFA17_eotS
);
9711 static final short[] DFA17_eof
= DFA
.unpackEncodedString(DFA17_eofS
);
9712 static final char[] DFA17_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA17_minS
);
9713 static final char[] DFA17_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA17_maxS
);
9714 static final short[] DFA17_accept
= DFA
.unpackEncodedString(DFA17_acceptS
);
9715 static final short[] DFA17_special
= DFA
.unpackEncodedString(DFA17_specialS
);
9716 static final short[][] DFA17_transition
;
9719 int numStates
= DFA17_transitionS
.length
;
9720 DFA17_transition
= new short[numStates
][];
9721 for (int i
=0; i
<numStates
; i
++) {
9722 DFA17_transition
[i
] = DFA
.unpackEncodedString(DFA17_transitionS
[i
]);
9726 class DFA17
extends DFA
{
9728 public DFA17(BaseRecognizer recognizer
) {
9729 this.recognizer
= recognizer
;
9730 this.decisionNumber
= 17;
9731 this.eot
= DFA17_eot
;
9732 this.eof
= DFA17_eof
;
9733 this.min
= DFA17_min
;
9734 this.max
= DFA17_max
;
9735 this.accept
= DFA17_accept
;
9736 this.special
= DFA17_special
;
9737 this.transition
= DFA17_transition
;
9739 public String
getDescription() {
9740 return "385:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier | {...}? => typedefName );";
9742 public int specialStateTransition(int s
, IntStream _input
) throws NoViableAltException
{
9743 TokenStream input
= (TokenStream
)_input
;
9747 int LA17_0
= input
.LA(1);
9750 int index17_0
= input
.index();
9753 if ( (LA17_0
==FLOATTOK
) ) {s
= 1;}
9755 else if ( (LA17_0
==INTTOK
) ) {s
= 2;}
9757 else if ( (LA17_0
==LONGTOK
) ) {s
= 3;}
9759 else if ( (LA17_0
==SHORTTOK
) ) {s
= 4;}
9761 else if ( (LA17_0
==SIGNEDTOK
) ) {s
= 5;}
9763 else if ( (LA17_0
==UNSIGNEDTOK
) ) {s
= 6;}
9765 else if ( (LA17_0
==CHARTOK
) ) {s
= 7;}
9767 else if ( (LA17_0
==DOUBLETOK
) ) {s
= 8;}
9769 else if ( (LA17_0
==VOIDTOK
) ) {s
= 9;}
9771 else if ( (LA17_0
==BOOLTOK
) ) {s
= 10;}
9773 else if ( (LA17_0
==COMPLEXTOK
) ) {s
= 11;}
9775 else if ( (LA17_0
==IMAGINARYTOK
) ) {s
= 12;}
9777 else if ( (LA17_0
==STRUCTTOK
) ) {s
= 13;}
9779 else if ( (LA17_0
==VARIANTTOK
) ) {s
= 14;}
9781 else if ( (LA17_0
==ENUMTOK
) ) {s
= 15;}
9783 else if ( (LA17_0
==FLOATINGPOINTTOK
||LA17_0
==INTEGERTOK
||LA17_0
==STRINGTOK
) ) {s
= 16;}
9785 else if ( (LA17_0
==IDENTIFIER
) && ((inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) {s
= 17;}
9788 input
.seek(index17_0
);
9794 if (state
.backtracking
>0) {state
.failed
=true; return -1;}
9795 NoViableAltException nvae
=
9796 new NoViableAltException(getDescription(), 17, _s
, input
);
9801 static final String DFA24_eotS
=
9803 static final String DFA24_eofS
=
9805 static final String DFA24_minS
=
9806 "\1\61\1\5\1\0\1\5\2\uffff";
9807 static final String DFA24_maxS
=
9808 "\2\117\1\0\1\117\2\uffff";
9809 static final String DFA24_acceptS
=
9811 static final String DFA24_specialS
=
9812 "\2\uffff\1\0\3\uffff}>";
9813 static final String
[] DFA24_transitionS
= {
9814 "\1\1\35\uffff\1\2",
9815 "\1\3\53\uffff\1\1\35\uffff\1\2",
9817 "\1\3\53\uffff\1\1\35\uffff\1\2",
9822 static final short[] DFA24_eot
= DFA
.unpackEncodedString(DFA24_eotS
);
9823 static final short[] DFA24_eof
= DFA
.unpackEncodedString(DFA24_eofS
);
9824 static final char[] DFA24_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_minS
);
9825 static final char[] DFA24_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_maxS
);
9826 static final short[] DFA24_accept
= DFA
.unpackEncodedString(DFA24_acceptS
);
9827 static final short[] DFA24_special
= DFA
.unpackEncodedString(DFA24_specialS
);
9828 static final short[][] DFA24_transition
;
9831 int numStates
= DFA24_transitionS
.length
;
9832 DFA24_transition
= new short[numStates
][];
9833 for (int i
=0; i
<numStates
; i
++) {
9834 DFA24_transition
[i
] = DFA
.unpackEncodedString(DFA24_transitionS
[i
]);
9838 class DFA24
extends DFA
{
9840 public DFA24(BaseRecognizer recognizer
) {
9841 this.recognizer
= recognizer
;
9842 this.decisionNumber
= 24;
9843 this.eot
= DFA24_eot
;
9844 this.eof
= DFA24_eof
;
9845 this.min
= DFA24_min
;
9846 this.max
= DFA24_max
;
9847 this.accept
= DFA24_accept
;
9848 this.special
= DFA24_special
;
9849 this.transition
= DFA24_transition
;
9851 public String
getDescription() {
9852 return "522:7: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
9854 public int specialStateTransition(int s
, IntStream _input
) throws NoViableAltException
{
9855 TokenStream input
= (TokenStream
)_input
;
9859 int LA24_2
= input
.LA(1);
9862 int index24_2
= input
.index();
9865 if ( ((inTypedef())) ) {s
= 4;}
9867 else if ( (true) ) {s
= 5;}
9870 input
.seek(index24_2
);
9876 if (state
.backtracking
>0) {state
.failed
=true; return -1;}
9877 NoViableAltException nvae
=
9878 new NoViableAltException(getDescription(), 24, _s
, input
);
9883 static final String DFA32_eotS
=
9885 static final String DFA32_eofS
=
9887 static final String DFA32_minS
=
9889 static final String DFA32_maxS
=
9891 static final String DFA32_acceptS
=
9892 "\1\uffff\1\1\1\2\1\3\31\uffff";
9893 static final String DFA32_specialS
=
9895 static final String
[] DFA32_transitionS
= {
9896 "\4\3\1\uffff\7\3\1\uffff\2\3\2\uffff\7\3\7\uffff\1\1\2\uffff"+
9897 "\1\3\4\uffff\1\3\1\uffff\1\2\1\uffff\2\3\35\uffff\1\3",
9928 static final short[] DFA32_eot
= DFA
.unpackEncodedString(DFA32_eotS
);
9929 static final short[] DFA32_eof
= DFA
.unpackEncodedString(DFA32_eofS
);
9930 static final char[] DFA32_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA32_minS
);
9931 static final char[] DFA32_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA32_maxS
);
9932 static final short[] DFA32_accept
= DFA
.unpackEncodedString(DFA32_acceptS
);
9933 static final short[] DFA32_special
= DFA
.unpackEncodedString(DFA32_specialS
);
9934 static final short[][] DFA32_transition
;
9937 int numStates
= DFA32_transitionS
.length
;
9938 DFA32_transition
= new short[numStates
][];
9939 for (int i
=0; i
<numStates
; i
++) {
9940 DFA32_transition
[i
] = DFA
.unpackEncodedString(DFA32_transitionS
[i
]);
9944 class DFA32
extends DFA
{
9946 public DFA32(BaseRecognizer recognizer
) {
9947 this.recognizer
= recognizer
;
9948 this.decisionNumber
= 32;
9949 this.eot
= DFA32_eot
;
9950 this.eof
= DFA32_eof
;
9951 this.min
= DFA32_min
;
9952 this.max
= DFA32_max
;
9953 this.accept
= DFA32_accept
;
9954 this.special
= DFA32_special
;
9955 this.transition
= DFA32_transition
;
9957 public String
getDescription() {
9958 return "656:4: ( enumContainerType enumBody | enumBody | )";
9961 static final String DFA54_eotS
=
9963 static final String DFA54_eofS
=
9965 static final String DFA54_minS
=
9967 static final String DFA54_maxS
=
9969 static final String DFA54_acceptS
=
9970 "\1\uffff\1\1\1\2\31\uffff";
9971 static final String DFA54_specialS
=
9973 static final String
[] DFA54_transitionS
= {
9974 "\4\2\1\uffff\7\2\1\uffff\2\2\2\uffff\7\2\12\uffff\1\2\4\uffff"+
9975 "\1\2\1\uffff\1\1\1\uffff\2\2\35\uffff\1\2",
10005 static final short[] DFA54_eot
= DFA
.unpackEncodedString(DFA54_eotS
);
10006 static final short[] DFA54_eof
= DFA
.unpackEncodedString(DFA54_eofS
);
10007 static final char[] DFA54_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA54_minS
);
10008 static final char[] DFA54_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA54_maxS
);
10009 static final short[] DFA54_accept
= DFA
.unpackEncodedString(DFA54_acceptS
);
10010 static final short[] DFA54_special
= DFA
.unpackEncodedString(DFA54_specialS
);
10011 static final short[][] DFA54_transition
;
10014 int numStates
= DFA54_transitionS
.length
;
10015 DFA54_transition
= new short[numStates
][];
10016 for (int i
=0; i
<numStates
; i
++) {
10017 DFA54_transition
[i
] = DFA
.unpackEncodedString(DFA54_transitionS
[i
]);
10021 class DFA54
extends DFA
{
10023 public DFA54(BaseRecognizer recognizer
) {
10024 this.recognizer
= recognizer
;
10025 this.decisionNumber
= 54;
10026 this.eot
= DFA54_eot
;
10027 this.eof
= DFA54_eof
;
10028 this.min
= DFA54_min
;
10029 this.max
= DFA54_max
;
10030 this.accept
= DFA54_accept
;
10031 this.special
= DFA54_special
;
10032 this.transition
= DFA54_transition
;
10034 public String
getDescription() {
10035 return "956:15: ( ctfBody )?";
10040 public static final BitSet FOLLOW_declaration_in_parse325
= new BitSet(new long[]{0x00000000FFFFFFE0L
,0x0000000000008000L
});
10041 public static final BitSet FOLLOW_EOF_in_parse328
= new BitSet(new long[]{0x0000000000000002L
});
10042 public static final BitSet FOLLOW_SIGN_in_numberLiteral361
= new BitSet(new long[]{0x1284000000000000L
});
10043 public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral366
= new BitSet(new long[]{0x0000000000000002L
});
10044 public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral383
= new BitSet(new long[]{0x0000000000000002L
});
10045 public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral400
= new BitSet(new long[]{0x0000000000000002L
});
10046 public static final BitSet FOLLOW_numberLiteral_in_constant436
= new BitSet(new long[]{0x0000000000000002L
});
10047 public static final BitSet FOLLOW_enumConstant_in_constant442
= new BitSet(new long[]{0x0000000000000002L
});
10048 public static final BitSet FOLLOW_CHARACTER_LITERAL_in_constant448
= new BitSet(new long[]{0x0000000000000002L
});
10049 public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression479
= new BitSet(new long[]{0x0000000000000002L
});
10050 public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression501
= new BitSet(new long[]{0x0000000000000002L
});
10051 public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression521
= new BitSet(new long[]{0x0000000000000002L
});
10052 public static final BitSet FOLLOW_constant_in_primaryExpression542
= new BitSet(new long[]{0x0000000000000002L
});
10053 public static final BitSet FOLLOW_DOT_in_reference568
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000008000L
});
10054 public static final BitSet FOLLOW_ARROW_in_reference574
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000008000L
});
10055 public static final BitSet FOLLOW_IDENTIFIER_in_reference577
= new BitSet(new long[]{0x0000000000000002L
});
10056 public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix616
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10057 public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix618
= new BitSet(new long[]{0x0000080000000000L
});
10058 public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix620
= new BitSet(new long[]{0x0000000000000002L
});
10059 public static final BitSet FOLLOW_reference_in_postfixExpressionSuffix628
= new BitSet(new long[]{0x0000000000000002L
});
10060 public static final BitSet FOLLOW_primaryExpression_in_postfixExpression652
= new BitSet(new long[]{0x0018040000000002L
});
10061 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression656
= new BitSet(new long[]{0x0018040000000002L
});
10062 public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression665
= new BitSet(new long[]{0x0018040000000000L
});
10063 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression670
= new BitSet(new long[]{0x0018040000000002L
});
10064 public static final BitSet FOLLOW_postfixExpression_in_unaryExpression704
= new BitSet(new long[]{0x0000000000000002L
});
10065 public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant729
= new BitSet(new long[]{0x0000000000000002L
});
10066 public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant745
= new BitSet(new long[]{0x0000000000000002L
});
10067 public static final BitSet FOLLOW_ctfKeyword_in_enumConstant761
= new BitSet(new long[]{0x0000000000000002L
});
10068 public static final BitSet FOLLOW_declarationSpecifiers_in_declaration794
= new BitSet(new long[]{0x0003000000000000L
,0x0000000000008000L
});
10069 public static final BitSet FOLLOW_declaratorList_in_declaration796
= new BitSet(new long[]{0x0001000000000000L
});
10070 public static final BitSet FOLLOW_TERM_in_declaration799
= new BitSet(new long[]{0x0000000000000002L
});
10071 public static final BitSet FOLLOW_ctfSpecifier_in_declaration848
= new BitSet(new long[]{0x0001000000000000L
});
10072 public static final BitSet FOLLOW_TERM_in_declaration850
= new BitSet(new long[]{0x0000000000000002L
});
10073 public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers895
= new BitSet(new long[]{0x000000001FCDFDE2L
,0x0000000000008000L
});
10074 public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers902
= new BitSet(new long[]{0x000000001FCDFDE2L
,0x0000000000008000L
});
10075 public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers909
= new BitSet(new long[]{0x000000001FCDFDE2L
,0x0000000000008000L
});
10076 public static final BitSet FOLLOW_declarator_in_declaratorList950
= new BitSet(new long[]{0x0000000800000002L
});
10077 public static final BitSet FOLLOW_SEPARATOR_in_declaratorList953
= new BitSet(new long[]{0x0002000000000000L
,0x0000000000008000L
});
10078 public static final BitSet FOLLOW_declarator_in_declaratorList955
= new BitSet(new long[]{0x0000000800000002L
});
10079 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList989
= new BitSet(new long[]{0x0000000800000002L
});
10080 public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList992
= new BitSet(new long[]{0x0002100000000000L
,0x0000000000008000L
});
10081 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList994
= new BitSet(new long[]{0x0000000800000002L
});
10082 public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1018
= new BitSet(new long[]{0x0000000000000002L
});
10083 public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1044
= new BitSet(new long[]{0x0000000000000002L
});
10084 public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1050
= new BitSet(new long[]{0x0000000000000002L
});
10085 public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1056
= new BitSet(new long[]{0x0000000000000002L
});
10086 public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1062
= new BitSet(new long[]{0x0000000000000002L
});
10087 public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1068
= new BitSet(new long[]{0x0000000000000002L
});
10088 public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1074
= new BitSet(new long[]{0x0000000000000002L
});
10089 public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1080
= new BitSet(new long[]{0x0000000000000002L
});
10090 public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1086
= new BitSet(new long[]{0x0000000000000002L
});
10091 public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1092
= new BitSet(new long[]{0x0000000000000002L
});
10092 public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1098
= new BitSet(new long[]{0x0000000000000002L
});
10093 public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1104
= new BitSet(new long[]{0x0000000000000002L
});
10094 public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1110
= new BitSet(new long[]{0x0000000000000002L
});
10095 public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1116
= new BitSet(new long[]{0x0000000000000002L
});
10096 public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1122
= new BitSet(new long[]{0x0000000000000002L
});
10097 public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1128
= new BitSet(new long[]{0x0000000000000002L
});
10098 public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1134
= new BitSet(new long[]{0x0000000000000002L
});
10099 public static final BitSet FOLLOW_typedefName_in_typeSpecifier1144
= new BitSet(new long[]{0x0000000000000002L
});
10100 public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1167
= new BitSet(new long[]{0x0000000000000002L
});
10101 public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1180
= new BitSet(new long[]{0x0000100000000000L
});
10102 public static final BitSet FOLLOW_LPAREN_in_alignAttribute1182
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10103 public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1184
= new BitSet(new long[]{0x0000200000000000L
});
10104 public static final BitSet FOLLOW_RPAREN_in_alignAttribute1186
= new BitSet(new long[]{0x0000000000000002L
});
10105 public static final BitSet FOLLOW_LCURL_in_structBody1227
= new BitSet(new long[]{0x00008000FFFFFFE0L
,0x0000000000008000L
});
10106 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1229
= new BitSet(new long[]{0x0000800000000000L
});
10107 public static final BitSet FOLLOW_RCURL_in_structBody1232
= new BitSet(new long[]{0x0000000000000002L
});
10108 public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1270
= new BitSet(new long[]{0x0000400000000000L
,0x0000000000008000L
});
10109 public static final BitSet FOLLOW_structName_in_structSpecifier1292
= new BitSet(new long[]{0x0000400000000012L
,0x0000000000008000L
});
10110 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1308
= new BitSet(new long[]{0x0000000000000002L
});
10111 public static final BitSet FOLLOW_structBody_in_structSpecifier1337
= new BitSet(new long[]{0x0000000000000012L
});
10112 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1362
= new BitSet(new long[]{0x0000000000000002L
});
10113 public static final BitSet FOLLOW_structBody_in_structSpecifier1460
= new BitSet(new long[]{0x0000000000000012L
});
10114 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1478
= new BitSet(new long[]{0x0000000000000002L
});
10115 public static final BitSet FOLLOW_IDENTIFIER_in_structName1554
= new BitSet(new long[]{0x0000000000000002L
});
10116 public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1585
= new BitSet(new long[]{0x00000000FFFFFFE2L
,0x0000000000008000L
});
10117 public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1623
= new BitSet(new long[]{0x0002000000000000L
,0x0000000000008000L
});
10118 public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1655
= new BitSet(new long[]{0x0001000000000000L
});
10119 public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1689
= new BitSet(new long[]{0x0001000000000000L
});
10120 public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1739
= new BitSet(new long[]{0x0001000000000000L
});
10121 public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1751
= new BitSet(new long[]{0x0000000000000002L
});
10122 public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1775
= new BitSet(new long[]{0x000000001FCDFDE2L
,0x0000000000008000L
});
10123 public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1779
= new BitSet(new long[]{0x000000001FCDFDE2L
,0x0000000000008000L
});
10124 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1816
= new BitSet(new long[]{0x0000000800000002L
});
10125 public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1819
= new BitSet(new long[]{0x0002000000000000L
,0x0000000000008000L
});
10126 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1821
= new BitSet(new long[]{0x0000000800000002L
});
10127 public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1862
= new BitSet(new long[]{0x0000001000000002L
});
10128 public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1865
= new BitSet(new long[]{0x1284000000000000L
});
10129 public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1867
= new BitSet(new long[]{0x0000000000000002L
});
10130 public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1901
= new BitSet(new long[]{0x0000410000000000L
,0x0000000000008000L
});
10131 public static final BitSet FOLLOW_variantName_in_variantSpecifier1919
= new BitSet(new long[]{0x0000410000000000L
,0x0000000000008000L
});
10132 public static final BitSet FOLLOW_variantTag_in_variantSpecifier1950
= new BitSet(new long[]{0x0000410000000002L
,0x0000000000008000L
});
10133 public static final BitSet FOLLOW_variantBody_in_variantSpecifier1976
= new BitSet(new long[]{0x0000000000000002L
});
10134 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2044
= new BitSet(new long[]{0x0000000000000002L
});
10135 public static final BitSet FOLLOW_variantTag_in_variantSpecifier2069
= new BitSet(new long[]{0x0000410000000000L
,0x0000000000008000L
});
10136 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2071
= new BitSet(new long[]{0x0000000000000002L
});
10137 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2082
= new BitSet(new long[]{0x0000000000000002L
});
10138 public static final BitSet FOLLOW_IDENTIFIER_in_variantName2124
= new BitSet(new long[]{0x0000000000000002L
});
10139 public static final BitSet FOLLOW_LCURL_in_variantBody2160
= new BitSet(new long[]{0x00000000FFFFFFE0L
,0x0000000000008000L
});
10140 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2162
= new BitSet(new long[]{0x0000800000000000L
});
10141 public static final BitSet FOLLOW_RCURL_in_variantBody2164
= new BitSet(new long[]{0x0000000000000002L
});
10142 public static final BitSet FOLLOW_LT_in_variantTag2195
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000008000L
});
10143 public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2197
= new BitSet(new long[]{0x0000020000000000L
});
10144 public static final BitSet FOLLOW_GT_in_variantTag2199
= new BitSet(new long[]{0x0000000000000002L
});
10145 public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2229
= new BitSet(new long[]{0x0000401000000000L
,0x0000000000008000L
});
10146 public static final BitSet FOLLOW_enumName_in_enumSpecifier2244
= new BitSet(new long[]{0x0000401000000002L
,0x0000000000008000L
});
10147 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2255
= new BitSet(new long[]{0x0000401000000000L
,0x0000000000008000L
});
10148 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2257
= new BitSet(new long[]{0x0000000000000002L
});
10149 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2269
= new BitSet(new long[]{0x0000000000000002L
});
10150 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2304
= new BitSet(new long[]{0x0000401000000000L
,0x0000000000008000L
});
10151 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2306
= new BitSet(new long[]{0x0000000000000002L
});
10152 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2315
= new BitSet(new long[]{0x0000000000000002L
});
10153 public static final BitSet FOLLOW_IDENTIFIER_in_enumName2360
= new BitSet(new long[]{0x0000000000000002L
});
10154 public static final BitSet FOLLOW_LCURL_in_enumBody2393
= new BitSet(new long[]{0x0000000000050210L
,0x0000000000008100L
});
10155 public static final BitSet FOLLOW_enumeratorList_in_enumBody2395
= new BitSet(new long[]{0x0000800800000000L
});
10156 public static final BitSet FOLLOW_SEPARATOR_in_enumBody2398
= new BitSet(new long[]{0x0000800000000000L
});
10157 public static final BitSet FOLLOW_RCURL_in_enumBody2400
= new BitSet(new long[]{0x0000000000000002L
});
10158 public static final BitSet FOLLOW_RCURL_in_enumBody2404
= new BitSet(new long[]{0x0000000000000002L
});
10159 public static final BitSet FOLLOW_COLON_in_enumContainerType2436
= new BitSet(new long[]{0x000000001FCDFDE0L
,0x0000000000008000L
});
10160 public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2438
= new BitSet(new long[]{0x0000000000000002L
});
10161 public static final BitSet FOLLOW_enumerator_in_enumeratorList2469
= new BitSet(new long[]{0x0000000800000002L
});
10162 public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2472
= new BitSet(new long[]{0x0000000000050210L
,0x0000000000008100L
});
10163 public static final BitSet FOLLOW_enumerator_in_enumeratorList2474
= new BitSet(new long[]{0x0000000800000002L
});
10164 public static final BitSet FOLLOW_enumConstant_in_enumerator2510
= new BitSet(new long[]{0x0000004000000002L
});
10165 public static final BitSet FOLLOW_enumeratorValue_in_enumerator2512
= new BitSet(new long[]{0x0000000000000002L
});
10166 public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2536
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10167 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2540
= new BitSet(new long[]{0x0000002000000002L
});
10168 public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2566
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10169 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2570
= new BitSet(new long[]{0x0000000000000002L
});
10170 public static final BitSet FOLLOW_pointer_in_declarator2612
= new BitSet(new long[]{0x0002000000000000L
,0x0000000000008000L
});
10171 public static final BitSet FOLLOW_directDeclarator_in_declarator2615
= new BitSet(new long[]{0x0000000000000002L
});
10172 public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2659
= new BitSet(new long[]{0x0000040000000002L
});
10173 public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2677
= new BitSet(new long[]{0x0000040000000002L
});
10174 public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2690
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10175 public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2692
= new BitSet(new long[]{0x0000080000000000L
});
10176 public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2694
= new BitSet(new long[]{0x0000000000000002L
});
10177 public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2715
= new BitSet(new long[]{0x0000000000000002L
});
10178 public static final BitSet FOLLOW_pointer_in_abstractDeclarator2746
= new BitSet(new long[]{0x0002100000000002L
,0x0000000000008000L
});
10179 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2749
= new BitSet(new long[]{0x0000000000000002L
});
10180 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2769
= new BitSet(new long[]{0x0000000000000002L
});
10181 public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2809
= new BitSet(new long[]{0x0000040000000002L
});
10182 public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2818
= new BitSet(new long[]{0x0002100000000000L
,0x0000000000008000L
});
10183 public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2820
= new BitSet(new long[]{0x0000200000000000L
});
10184 public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2822
= new BitSet(new long[]{0x0000040000000002L
});
10185 public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2837
= new BitSet(new long[]{0x12840800E0170210L
,0x0000000000008120L
});
10186 public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2839
= new BitSet(new long[]{0x0000080000000000L
});
10187 public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2842
= new BitSet(new long[]{0x0000000000000002L
});
10188 public static final BitSet FOLLOW_POINTER_in_pointer2870
= new BitSet(new long[]{0x0000000000000022L
});
10189 public static final BitSet FOLLOW_typeQualifierList_in_pointer2872
= new BitSet(new long[]{0x0000000000000002L
});
10190 public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList2895
= new BitSet(new long[]{0x0000000000000022L
});
10191 public static final BitSet FOLLOW_IDENTIFIER_in_typedefName2921
= new BitSet(new long[]{0x0000000000000002L
});
10192 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget2949
= new BitSet(new long[]{0x0002100000000002L
,0x0000000000008000L
});
10193 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget2951
= new BitSet(new long[]{0x0000000000000002L
});
10194 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias2984
= new BitSet(new long[]{0x0000000000000002L
});
10195 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias2993
= new BitSet(new long[]{0x0002100000000002L
,0x0000000000008000L
});
10196 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias2995
= new BitSet(new long[]{0x0000000000000002L
});
10197 public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3027
= new BitSet(new long[]{0x000000001FCDFDE0L
,0x0000000000008000L
});
10198 public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3029
= new BitSet(new long[]{0x0000008000000000L
});
10199 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3031
= new BitSet(new long[]{0x000210001FCDFDE0L
,0x0000000000008000L
});
10200 public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3033
= new BitSet(new long[]{0x0000000000000002L
});
10201 public static final BitSet FOLLOW_set_in_ctfKeyword0
= new BitSet(new long[]{0x0000000000000002L
});
10202 public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3127
= new BitSet(new long[]{0x0000400000000000L
});
10203 public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3129
= new BitSet(new long[]{0x0000000000000002L
});
10204 public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3148
= new BitSet(new long[]{0x0000000000000002L
});
10205 public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3180
= new BitSet(new long[]{0x0000000000000002L
});
10206 public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3189
= new BitSet(new long[]{0x0000000000000002L
});
10207 public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3198
= new BitSet(new long[]{0x0000000000000002L
});
10208 public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3207
= new BitSet(new long[]{0x0000000000000002L
});
10209 public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3216
= new BitSet(new long[]{0x0000000000000002L
});
10210 public static final BitSet FOLLOW_CALLSITETOK_in_ctfSpecifierHead3225
= new BitSet(new long[]{0x0000000000000002L
});
10211 public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3259
= new BitSet(new long[]{0x0000400000000000L
});
10212 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3261
= new BitSet(new long[]{0x0000000000000002L
});
10213 public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3276
= new BitSet(new long[]{0x0000400000000000L
});
10214 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3278
= new BitSet(new long[]{0x0000000000000002L
});
10215 public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3293
= new BitSet(new long[]{0x0000400000000002L
});
10216 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3295
= new BitSet(new long[]{0x0000000000000002L
});
10217 public static final BitSet FOLLOW_LCURL_in_ctfBody3333
= new BitSet(new long[]{0x12848000FFFFFFF0L
,0x0000000000008120L
});
10218 public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3335
= new BitSet(new long[]{0x0000800000000000L
});
10219 public static final BitSet FOLLOW_RCURL_in_ctfBody3338
= new BitSet(new long[]{0x0000000000000002L
});
10220 public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3357
= new BitSet(new long[]{0x0001000000000000L
});
10221 public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3359
= new BitSet(new long[]{0x12840000FFFFFFF2L
,0x0000000000008120L
});
10222 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3394
= new BitSet(new long[]{0x000000C000000000L
});
10223 public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3413
= new BitSet(new long[]{0x12840000E0170210L
,0x0000000000008120L
});
10224 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3417
= new BitSet(new long[]{0x0000000000000002L
});
10225 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3451
= new BitSet(new long[]{0x000000001FCDFDE0L
,0x0000000000008000L
});
10226 public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3456
= new BitSet(new long[]{0x0000000000000002L
});
10227 public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3506
= new BitSet(new long[]{0x0002000000000000L
,0x0000000000008000L
});
10228 public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3510
= new BitSet(new long[]{0x0000000000000002L
});
10229 public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3538
= new BitSet(new long[]{0x0000000000000002L
});
10230 public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser474
= new BitSet(new long[]{0x0000000000000002L
});
10231 public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser496
= new BitSet(new long[]{0x0000000000000002L
});
10232 public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser516
= new BitSet(new long[]{0x0000000000000002L
});