1 // $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFParser.g 2015-08-06 19:37:54
3 /*******************************************************************************
4 * Copyright (c) 2010, 2015 Ericsson, Ecole Polytechnique de Montréal and others
6 * All rights reserved. This program and the accompanying materials are
7 * made available under the terms of the Eclipse Public License v1.0 which
8 * accompanies this distribution, and is available at
9 * http://www.eclipse.org/legal/epl-v10.html
12 * Matthew Khouzam - Initial API and implementation
13 * Simon Marchi - Initial API and implementation
14 * Etienne Bergeron - Update to Antlr 3.5 syntax
15 *******************************************************************************/
17 package org
.eclipse
.tracecompass
.ctf
.parser
;
19 import java
.util
.HashSet
;
21 import java
.util
.Stack
;
23 import org
.antlr
.runtime
.BaseRecognizer
;
24 import org
.antlr
.runtime
.BitSet
;
25 import org
.antlr
.runtime
.DFA
;
26 import org
.antlr
.runtime
.EarlyExitException
;
27 import org
.antlr
.runtime
.FailedPredicateException
;
28 import org
.antlr
.runtime
.IntStream
;
29 import org
.antlr
.runtime
.MismatchedSetException
;
30 import org
.antlr
.runtime
.MismatchedTokenException
;
31 import org
.antlr
.runtime
.NoViableAltException
;
32 import org
.antlr
.runtime
.Parser
;
33 import org
.antlr
.runtime
.ParserRuleReturnScope
;
34 import org
.antlr
.runtime
.RecognitionException
;
35 import org
.antlr
.runtime
.RecognizerSharedState
;
36 import org
.antlr
.runtime
.Token
;
37 import org
.antlr
.runtime
.TokenStream
;
38 import org
.antlr
.runtime
.tree
.CommonTree
;
39 import org
.antlr
.runtime
.tree
.CommonTreeAdaptor
;
40 import org
.antlr
.runtime
.tree
.RewriteEarlyExitException
;
41 import org
.antlr
.runtime
.tree
.RewriteRuleSubtreeStream
;
42 import org
.antlr
.runtime
.tree
.RewriteRuleTokenStream
;
43 import org
.antlr
.runtime
.tree
.TreeAdaptor
;
46 @SuppressWarnings("all")
47 public class CTFParser
extends Parser
{
48 public static final String
[] tokenNames
= new String
[] {
49 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALIGNTOK", "ARROW", "ASSIGNMENT",
50 "BACKSLASH", "BOOLTOK", "CHARACTER_LITERAL", "CHARTOK", "CHAR_CONTENT",
51 "CLOCKTOK", "CLOSEBRAC", "COLON", "COMMENT", "COMMENT_CLOSE", "COMMENT_OPEN",
52 "COMPLEXTOK", "CONSTTOK", "DECIMAL_LITERAL", "DIGIT", "DOT", "DOUBLEQUOTE",
53 "DOUBLETOK", "ELIPSES", "ENUMTOK", "ENVTOK", "ESCAPE_SEQUENCE", "EVENTTOK",
54 "FLOATINGPOINTTOK", "FLOATTOK", "GT", "HEXADECIMAL_ESCAPE", "HEX_DIGIT",
55 "HEX_LITERAL", "HEX_PREFIX", "IDENTIFIER", "IMAGINARYTOK", "INFINITYTOK",
56 "INTEGERTOK", "INTEGER_TYPES_SUFFIX", "INTTOK", "LCURL", "LINE_COMMENT",
57 "LONGTOK", "LPAREN", "LT", "NANNUMBERTOK", "NINFINITYTOK", "NONDIGIT",
58 "NONZERO_DIGIT", "OCTAL_ESCAPE", "OCTAL_LITERAL", "OCT_DIGIT", "OCT_PREFIX",
59 "OPENBRAC", "POINTER", "RCURL", "RPAREN", "SEPARATOR", "SHORTTOK", "SIGN",
60 "SIGNEDTOK", "SINGLEQUOTE", "STREAMTOK", "STRINGPREFIX", "STRINGTOK",
61 "STRING_CONTENT", "STRING_LITERAL", "STRUCTTOK", "TERM", "TRACETOK", "TYPEALIASTOK",
62 "TYPEDEFTOK", "TYPE_ASSIGNMENT", "UNICODE_ESCAPE", "UNSIGNEDTOK", "VARIANTTOK",
63 "VOIDTOK", "WS", "ALIGN", "CLOCK", "CTF_EXPRESSION_TYPE", "CTF_EXPRESSION_VAL",
64 "CTF_LEFT", "CTF_RIGHT", "DECLARATION", "DECLARATOR", "ENUM", "ENUM_BODY",
65 "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME", "ENUM_VALUE", "ENUM_VALUE_RANGE",
66 "ENV", "EVENT", "FLOATING_POINT", "INTEGER", "LENGTH", "ROOT", "STREAM",
67 "STRING", "STRUCT", "STRUCT_BODY", "STRUCT_NAME", "SV_DECLARATION", "TRACE",
68 "TYPEALIAS", "TYPEALIAS_ALIAS", "TYPEALIAS_TARGET", "TYPEDEF", "TYPE_DECLARATOR",
69 "TYPE_DECLARATOR_LIST", "TYPE_SPECIFIER_LIST", "UNARY_EXPRESSION_DEC",
70 "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT", "UNARY_EXPRESSION_STRING",
71 "UNARY_EXPRESSION_STRING_QUOTES", "VARIANT", "VARIANT_BODY", "VARIANT_NAME",
74 public static final int EOF
=-1;
75 public static final int ALIGNTOK
=4;
76 public static final int ARROW
=5;
77 public static final int ASSIGNMENT
=6;
78 public static final int BACKSLASH
=7;
79 public static final int BOOLTOK
=8;
80 public static final int CHARACTER_LITERAL
=9;
81 public static final int CHARTOK
=10;
82 public static final int CHAR_CONTENT
=11;
83 public static final int CLOCKTOK
=12;
84 public static final int CLOSEBRAC
=13;
85 public static final int COLON
=14;
86 public static final int COMMENT
=15;
87 public static final int COMMENT_CLOSE
=16;
88 public static final int COMMENT_OPEN
=17;
89 public static final int COMPLEXTOK
=18;
90 public static final int CONSTTOK
=19;
91 public static final int DECIMAL_LITERAL
=20;
92 public static final int DIGIT
=21;
93 public static final int DOT
=22;
94 public static final int DOUBLEQUOTE
=23;
95 public static final int DOUBLETOK
=24;
96 public static final int ELIPSES
=25;
97 public static final int ENUMTOK
=26;
98 public static final int ENVTOK
=27;
99 public static final int ESCAPE_SEQUENCE
=28;
100 public static final int EVENTTOK
=29;
101 public static final int FLOATINGPOINTTOK
=30;
102 public static final int FLOATTOK
=31;
103 public static final int GT
=32;
104 public static final int HEXADECIMAL_ESCAPE
=33;
105 public static final int HEX_DIGIT
=34;
106 public static final int HEX_LITERAL
=35;
107 public static final int HEX_PREFIX
=36;
108 public static final int IDENTIFIER
=37;
109 public static final int IMAGINARYTOK
=38;
110 public static final int INFINITYTOK
=39;
111 public static final int INTEGERTOK
=40;
112 public static final int INTEGER_TYPES_SUFFIX
=41;
113 public static final int INTTOK
=42;
114 public static final int LCURL
=43;
115 public static final int LINE_COMMENT
=44;
116 public static final int LONGTOK
=45;
117 public static final int LPAREN
=46;
118 public static final int LT
=47;
119 public static final int NANNUMBERTOK
=48;
120 public static final int NINFINITYTOK
=49;
121 public static final int NONDIGIT
=50;
122 public static final int NONZERO_DIGIT
=51;
123 public static final int OCTAL_ESCAPE
=52;
124 public static final int OCTAL_LITERAL
=53;
125 public static final int OCT_DIGIT
=54;
126 public static final int OCT_PREFIX
=55;
127 public static final int OPENBRAC
=56;
128 public static final int POINTER
=57;
129 public static final int RCURL
=58;
130 public static final int RPAREN
=59;
131 public static final int SEPARATOR
=60;
132 public static final int SHORTTOK
=61;
133 public static final int SIGN
=62;
134 public static final int SIGNEDTOK
=63;
135 public static final int SINGLEQUOTE
=64;
136 public static final int STREAMTOK
=65;
137 public static final int STRINGPREFIX
=66;
138 public static final int STRINGTOK
=67;
139 public static final int STRING_CONTENT
=68;
140 public static final int STRING_LITERAL
=69;
141 public static final int STRUCTTOK
=70;
142 public static final int TERM
=71;
143 public static final int TRACETOK
=72;
144 public static final int TYPEALIASTOK
=73;
145 public static final int TYPEDEFTOK
=74;
146 public static final int TYPE_ASSIGNMENT
=75;
147 public static final int UNICODE_ESCAPE
=76;
148 public static final int UNSIGNEDTOK
=77;
149 public static final int VARIANTTOK
=78;
150 public static final int VOIDTOK
=79;
151 public static final int WS
=80;
152 public static final int ALIGN
=81;
153 public static final int CLOCK
=82;
154 public static final int CTF_EXPRESSION_TYPE
=83;
155 public static final int CTF_EXPRESSION_VAL
=84;
156 public static final int CTF_LEFT
=85;
157 public static final int CTF_RIGHT
=86;
158 public static final int DECLARATION
=87;
159 public static final int DECLARATOR
=88;
160 public static final int ENUM
=89;
161 public static final int ENUM_BODY
=90;
162 public static final int ENUM_CONTAINER_TYPE
=91;
163 public static final int ENUM_ENUMERATOR
=92;
164 public static final int ENUM_NAME
=93;
165 public static final int ENUM_VALUE
=94;
166 public static final int ENUM_VALUE_RANGE
=95;
167 public static final int ENV
=96;
168 public static final int EVENT
=97;
169 public static final int FLOATING_POINT
=98;
170 public static final int INTEGER
=99;
171 public static final int LENGTH
=100;
172 public static final int ROOT
=101;
173 public static final int STREAM
=102;
174 public static final int STRING
=103;
175 public static final int STRUCT
=104;
176 public static final int STRUCT_BODY
=105;
177 public static final int STRUCT_NAME
=106;
178 public static final int SV_DECLARATION
=107;
179 public static final int TRACE
=108;
180 public static final int TYPEALIAS
=109;
181 public static final int TYPEALIAS_ALIAS
=110;
182 public static final int TYPEALIAS_TARGET
=111;
183 public static final int TYPEDEF
=112;
184 public static final int TYPE_DECLARATOR
=113;
185 public static final int TYPE_DECLARATOR_LIST
=114;
186 public static final int TYPE_SPECIFIER_LIST
=115;
187 public static final int UNARY_EXPRESSION_DEC
=116;
188 public static final int UNARY_EXPRESSION_HEX
=117;
189 public static final int UNARY_EXPRESSION_OCT
=118;
190 public static final int UNARY_EXPRESSION_STRING
=119;
191 public static final int UNARY_EXPRESSION_STRING_QUOTES
=120;
192 public static final int VARIANT
=121;
193 public static final int VARIANT_BODY
=122;
194 public static final int VARIANT_NAME
=123;
195 public static final int VARIANT_TAG
=124;
198 public Parser
[] getDelegates() {
199 return new Parser
[] {};
204 protected static class Symbols_scope
{
207 protected Stack
<Symbols_scope
> Symbols_stack
= new Stack
<Symbols_scope
>();
210 public CTFParser(TokenStream input
) {
211 this(input
, new RecognizerSharedState());
213 public CTFParser(TokenStream input
, RecognizerSharedState state
) {
217 protected TreeAdaptor adaptor
= new CommonTreeAdaptor();
219 public void setTreeAdaptor(TreeAdaptor adaptor
) {
220 this.adaptor
= adaptor
;
222 public TreeAdaptor
getTreeAdaptor() {
225 @Override public String
[] getTokenNames() { return CTFParser
.tokenNames
; }
226 @Override public String
getGrammarFileName() { return "org/eclipse/tracecompass/ctf/parser/CTFParser.g"; }
229 public CTFParser(TokenStream input
, boolean verbose
) {
231 this.verbose
= verbose
;
235 * This method is overriden to disable automatic error recovery.
236 * On a mismatched token, it simply re-throw an exception.
239 protected Object
recoverFromMismatchedToken(IntStream input
, int ttype
, BitSet follow
) throws RecognitionException
{
240 throw new MismatchedTokenException(ttype
, input
);
244 * Checks if a given name has been defined has a type.
245 * From: http://www.antlr.org/grammar/1153358328744/C.g
247 * @param name The name to check.
248 * @return True if is is a type, false otherwise.
250 boolean isTypeName(String name
) {
251 for (int i
= Symbols_stack
.size() - 1; i
>= 0; i
--) {
252 Symbols_scope scope
= (Symbols_scope
) Symbols_stack
.get(i
);
253 if (scope
.types
.contains(name
)) {
260 void addTypeName(String name
) {
261 Symbols_stack
.peek().types
.add(name
);
263 debug_print("New type: " + name
+ " " + declaration_stack
);
268 debug_print("typedefOn" + declaration_stack
);
269 declaration_stack
.peek().isTypedef
=true;
273 debug_print("typedefOff" + declaration_stack
);
274 declaration_stack
.peek().isTypedef
=false;
277 boolean inTypedef() {
278 return declaration_stack
.peek().isTypedef
;
281 boolean _inTypealiasAlias
= false;
283 void typealiasAliasOn() {
284 debug_print("typealiasAliasOn");
285 _inTypealiasAlias
= true;
288 void typealiasAliasOff() {
289 debug_print("typealiasAliasOff");
290 _inTypealiasAlias
= false;
293 boolean inTypealiasAlias() {
294 return _inTypealiasAlias
;
297 void debug_print(String str
) {
299 System
.out
.println(str
);
303 /* Prints rule entry and exit while parsing */
304 boolean verbose
= false;
307 public static class parse_return
extends ParserRuleReturnScope
{
310 public CommonTree
getTree() { return tree
; }
314 // $ANTLR start "parse"
315 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:189:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
316 public final CTFParser
.parse_return
parse() throws RecognitionException
{
317 Symbols_stack
.push(new Symbols_scope());
319 CTFParser
.parse_return retval
= new CTFParser
.parse_return();
320 retval
.start
= input
.LT(1);
322 CommonTree root_0
= null;
325 ParserRuleReturnScope declaration1
=null;
327 CommonTree EOF2_tree
=null;
328 RewriteRuleTokenStream stream_EOF
=new RewriteRuleTokenStream(adaptor
,"token EOF");
329 RewriteRuleSubtreeStream stream_declaration
=new RewriteRuleSubtreeStream(adaptor
,"rule declaration");
332 Symbols_stack
.peek().types
= new HashSet
<String
>();
335 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:3: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
336 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: ( declaration )+ EOF
338 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: ( declaration )+
343 int LA1_0
= input
.LA(1);
344 if ( (LA1_0
==BOOLTOK
||LA1_0
==CHARTOK
||(LA1_0
>= COMPLEXTOK
&& LA1_0
<= CONSTTOK
)||LA1_0
==DOUBLETOK
||LA1_0
==ENUMTOK
||(LA1_0
>= FLOATINGPOINTTOK
&& LA1_0
<= FLOATTOK
)||LA1_0
==IMAGINARYTOK
||LA1_0
==INTEGERTOK
||LA1_0
==INTTOK
||LA1_0
==LONGTOK
||LA1_0
==SHORTTOK
||LA1_0
==SIGNEDTOK
||LA1_0
==STRINGTOK
||LA1_0
==STRUCTTOK
||LA1_0
==TYPEDEFTOK
||(LA1_0
>= UNSIGNEDTOK
&& LA1_0
<= VOIDTOK
)) ) {
347 else if ( (LA1_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
350 else if ( (LA1_0
==CLOCKTOK
||LA1_0
==ENVTOK
||LA1_0
==EVENTTOK
||LA1_0
==STREAMTOK
||(LA1_0
>= TRACETOK
&& LA1_0
<= TYPEALIASTOK
)) ) {
356 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: declaration
358 pushFollow(FOLLOW_declaration_in_parse442
);
359 declaration1
=declaration();
361 if (state
.failed
) return retval
;
362 if ( state
.backtracking
==0 ) stream_declaration
.add(declaration1
.getTree());
367 if ( cnt1
>= 1 ) break loop1
;
368 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
369 EarlyExitException eee
= new EarlyExitException(1, input
);
375 EOF2
=(Token
)match(input
,EOF
,FOLLOW_EOF_in_parse445
); if (state
.failed
) return retval
;
376 if ( state
.backtracking
==0 ) stream_EOF
.add(EOF2
);
379 // elements: declaration
381 // rule labels: retval
382 // token list labels:
385 if ( state
.backtracking
==0 ) {
386 retval
.tree
= root_0
;
387 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
389 root_0
= (CommonTree
)adaptor
.nil();
390 // 194:22: -> ^( ROOT ( declaration )+ )
392 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:25: ^( ROOT ( declaration )+ )
394 CommonTree root_1
= (CommonTree
)adaptor
.nil();
395 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ROOT
, "ROOT"), root_1
);
396 if ( !(stream_declaration
.hasNext()) ) {
397 throw new RewriteEarlyExitException();
399 while ( stream_declaration
.hasNext() ) {
400 adaptor
.addChild(root_1
, stream_declaration
.nextTree());
402 stream_declaration
.reset();
404 adaptor
.addChild(root_0
, root_1
);
410 retval
.tree
= root_0
;
415 retval
.stop
= input
.LT(-1);
417 if ( state
.backtracking
==0 ) {
418 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
419 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
423 catch (RecognitionException e
) {
428 // do for sure before leaving
434 // $ANTLR end "parse"
437 public static class numberLiteral_return
extends ParserRuleReturnScope
{
440 public CommonTree
getTree() { return tree
; }
444 // $ANTLR start "numberLiteral"
445 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:197: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 )* ) ) ;
446 public final CTFParser
.numberLiteral_return
numberLiteral() throws RecognitionException
{
447 CTFParser
.numberLiteral_return retval
= new CTFParser
.numberLiteral_return();
448 retval
.start
= input
.LT(1);
450 CommonTree root_0
= null;
453 Token HEX_LITERAL4
=null;
454 Token DECIMAL_LITERAL5
=null;
455 Token OCTAL_LITERAL6
=null;
457 CommonTree SIGN3_tree
=null;
458 CommonTree HEX_LITERAL4_tree
=null;
459 CommonTree DECIMAL_LITERAL5_tree
=null;
460 CommonTree OCTAL_LITERAL6_tree
=null;
461 RewriteRuleTokenStream stream_OCTAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token OCTAL_LITERAL");
462 RewriteRuleTokenStream stream_HEX_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token HEX_LITERAL");
463 RewriteRuleTokenStream stream_SIGN
=new RewriteRuleTokenStream(adaptor
,"token SIGN");
464 RewriteRuleTokenStream stream_DECIMAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token DECIMAL_LITERAL");
467 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198: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 )* ) ) )
468 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: ( 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 )* ) )
470 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: ( SIGN )*
474 int LA2_0
= input
.LA(1);
475 if ( (LA2_0
==SIGN
) ) {
481 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: SIGN
483 SIGN3
=(Token
)match(input
,SIGN
,FOLLOW_SIGN_in_numberLiteral467
); if (state
.failed
) return retval
;
484 if ( state
.backtracking
==0 ) stream_SIGN
.add(SIGN3
);
494 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:7: ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
496 switch ( input
.LA(1) ) {
502 case DECIMAL_LITERAL
:
513 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
514 NoViableAltException nvae
=
515 new NoViableAltException("", 3, 0, input
);
520 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:9: HEX_LITERAL
522 HEX_LITERAL4
=(Token
)match(input
,HEX_LITERAL
,FOLLOW_HEX_LITERAL_in_numberLiteral478
); if (state
.failed
) return retval
;
523 if ( state
.backtracking
==0 ) stream_HEX_LITERAL
.add(HEX_LITERAL4
);
526 // elements: SIGN, HEX_LITERAL
528 // rule labels: retval
529 // token list labels:
532 if ( state
.backtracking
==0 ) {
533 retval
.tree
= root_0
;
534 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
536 root_0
= (CommonTree
)adaptor
.nil();
537 // 199:21: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
539 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:24: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
541 CommonTree root_1
= (CommonTree
)adaptor
.nil();
542 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_HEX
, "UNARY_EXPRESSION_HEX"), root_1
);
543 adaptor
.addChild(root_1
, stream_HEX_LITERAL
.nextNode());
544 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:59: ( SIGN )*
545 while ( stream_SIGN
.hasNext() ) {
546 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
550 adaptor
.addChild(root_0
, root_1
);
556 retval
.tree
= root_0
;
562 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:9: DECIMAL_LITERAL
564 DECIMAL_LITERAL5
=(Token
)match(input
,DECIMAL_LITERAL
,FOLLOW_DECIMAL_LITERAL_in_numberLiteral499
); if (state
.failed
) return retval
;
565 if ( state
.backtracking
==0 ) stream_DECIMAL_LITERAL
.add(DECIMAL_LITERAL5
);
568 // elements: SIGN, DECIMAL_LITERAL
570 // rule labels: retval
571 // token list labels:
574 if ( state
.backtracking
==0 ) {
575 retval
.tree
= root_0
;
576 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
578 root_0
= (CommonTree
)adaptor
.nil();
579 // 200:25: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
581 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:28: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
583 CommonTree root_1
= (CommonTree
)adaptor
.nil();
584 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_DEC
, "UNARY_EXPRESSION_DEC"), root_1
);
585 adaptor
.addChild(root_1
, stream_DECIMAL_LITERAL
.nextNode());
586 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:67: ( SIGN )*
587 while ( stream_SIGN
.hasNext() ) {
588 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
592 adaptor
.addChild(root_0
, root_1
);
598 retval
.tree
= root_0
;
604 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:9: OCTAL_LITERAL
606 OCTAL_LITERAL6
=(Token
)match(input
,OCTAL_LITERAL
,FOLLOW_OCTAL_LITERAL_in_numberLiteral520
); if (state
.failed
) return retval
;
607 if ( state
.backtracking
==0 ) stream_OCTAL_LITERAL
.add(OCTAL_LITERAL6
);
610 // elements: OCTAL_LITERAL, SIGN
612 // rule labels: retval
613 // token list labels:
616 if ( state
.backtracking
==0 ) {
617 retval
.tree
= root_0
;
618 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
620 root_0
= (CommonTree
)adaptor
.nil();
621 // 201:23: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
623 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:26: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
625 CommonTree root_1
= (CommonTree
)adaptor
.nil();
626 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_OCT
, "UNARY_EXPRESSION_OCT"), root_1
);
627 adaptor
.addChild(root_1
, stream_OCTAL_LITERAL
.nextNode());
628 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:63: ( SIGN )*
629 while ( stream_SIGN
.hasNext() ) {
630 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
634 adaptor
.addChild(root_0
, root_1
);
640 retval
.tree
= root_0
;
650 retval
.stop
= input
.LT(-1);
652 if ( state
.backtracking
==0 ) {
653 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
654 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
658 catch (RecognitionException e
) {
663 // do for sure before leaving
667 // $ANTLR end "numberLiteral"
670 public static class primaryExpression_return
extends ParserRuleReturnScope
{
673 public CommonTree
getTree() { return tree
; }
677 // $ANTLR start "primaryExpression"
678 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:205:1: primaryExpression : ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL );
679 public final CTFParser
.primaryExpression_return
primaryExpression() throws RecognitionException
{
680 CTFParser
.primaryExpression_return retval
= new CTFParser
.primaryExpression_return();
681 retval
.start
= input
.LT(1);
683 CommonTree root_0
= null;
685 Token IDENTIFIER7
=null;
686 Token STRING_LITERAL9
=null;
687 Token CHARACTER_LITERAL12
=null;
688 ParserRuleReturnScope ctfKeyword8
=null;
689 ParserRuleReturnScope numberLiteral10
=null;
690 ParserRuleReturnScope enumConstant11
=null;
692 CommonTree IDENTIFIER7_tree
=null;
693 CommonTree STRING_LITERAL9_tree
=null;
694 CommonTree CHARACTER_LITERAL12_tree
=null;
695 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
696 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
697 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
700 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:3: ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL )
702 switch ( input
.LA(1) ) {
705 int LA4_1
= input
.LA(2);
706 if ( (synpred1_CTFParser()) ) {
720 int LA4_2
= input
.LA(2);
721 if ( (synpred2_CTFParser()) ) {
732 int LA4_3
= input
.LA(2);
733 if ( (synpred3_CTFParser()) ) {
742 case DECIMAL_LITERAL
:
750 case CHARACTER_LITERAL
:
756 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
757 NoViableAltException nvae
=
758 new NoViableAltException("", 4, 0, input
);
763 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:5: ( IDENTIFIER )=> IDENTIFIER
765 IDENTIFIER7
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_primaryExpression558
); if (state
.failed
) return retval
;
766 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER7
);
769 // elements: IDENTIFIER
771 // rule labels: retval
772 // token list labels:
775 if ( state
.backtracking
==0 ) {
776 retval
.tree
= root_0
;
777 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
779 root_0
= (CommonTree
)adaptor
.nil();
780 // 207:7: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
782 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:10: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
784 CommonTree root_1
= (CommonTree
)adaptor
.nil();
785 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
786 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
787 adaptor
.addChild(root_0
, root_1
);
793 retval
.tree
= root_0
;
799 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:5: ( ctfKeyword )=> ctfKeyword
801 pushFollow(FOLLOW_ctfKeyword_in_primaryExpression584
);
802 ctfKeyword8
=ctfKeyword();
804 if (state
.failed
) return retval
;
805 if ( state
.backtracking
==0 ) stream_ctfKeyword
.add(ctfKeyword8
.getTree());
807 // elements: ctfKeyword
809 // rule labels: retval
810 // token list labels:
813 if ( state
.backtracking
==0 ) {
814 retval
.tree
= root_0
;
815 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
817 root_0
= (CommonTree
)adaptor
.nil();
818 // 208:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
820 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
822 CommonTree root_1
= (CommonTree
)adaptor
.nil();
823 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
824 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
825 adaptor
.addChild(root_0
, root_1
);
831 retval
.tree
= root_0
;
837 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( STRING_LITERAL )=> STRING_LITERAL
839 STRING_LITERAL9
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_primaryExpression604
); if (state
.failed
) return retval
;
840 if ( state
.backtracking
==0 ) stream_STRING_LITERAL
.add(STRING_LITERAL9
);
843 // elements: STRING_LITERAL
845 // rule labels: retval
846 // token list labels:
849 if ( state
.backtracking
==0 ) {
850 retval
.tree
= root_0
;
851 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
853 root_0
= (CommonTree
)adaptor
.nil();
854 // 210:7: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
856 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:10: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
858 CommonTree root_1
= (CommonTree
)adaptor
.nil();
859 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
860 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
861 adaptor
.addChild(root_0
, root_1
);
867 retval
.tree
= root_0
;
873 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:212:5: numberLiteral
875 root_0
= (CommonTree
)adaptor
.nil();
878 pushFollow(FOLLOW_numberLiteral_in_primaryExpression629
);
879 numberLiteral10
=numberLiteral();
881 if (state
.failed
) return retval
;
882 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, numberLiteral10
.getTree());
887 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:213:5: enumConstant
889 root_0
= (CommonTree
)adaptor
.nil();
892 pushFollow(FOLLOW_enumConstant_in_primaryExpression635
);
893 enumConstant11
=enumConstant();
895 if (state
.failed
) return retval
;
896 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumConstant11
.getTree());
901 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:214:5: CHARACTER_LITERAL
903 root_0
= (CommonTree
)adaptor
.nil();
906 CHARACTER_LITERAL12
=(Token
)match(input
,CHARACTER_LITERAL
,FOLLOW_CHARACTER_LITERAL_in_primaryExpression641
); if (state
.failed
) return retval
;
907 if ( state
.backtracking
==0 ) {
908 CHARACTER_LITERAL12_tree
= (CommonTree
)adaptor
.create(CHARACTER_LITERAL12
);
909 adaptor
.addChild(root_0
, CHARACTER_LITERAL12_tree
);
916 retval
.stop
= input
.LT(-1);
918 if ( state
.backtracking
==0 ) {
919 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
920 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
924 catch (RecognitionException e
) {
929 // do for sure before leaving
933 // $ANTLR end "primaryExpression"
936 public static class postfixExpressionSuffix_return
extends ParserRuleReturnScope
{
939 public CommonTree
getTree() { return tree
; }
943 // $ANTLR start "postfixExpressionSuffix"
944 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:217:1: postfixExpressionSuffix : ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) );
945 public final CTFParser
.postfixExpressionSuffix_return
postfixExpressionSuffix() throws RecognitionException
{
946 CTFParser
.postfixExpressionSuffix_return retval
= new CTFParser
.postfixExpressionSuffix_return();
947 retval
.start
= input
.LT(1);
949 CommonTree root_0
= null;
952 Token OPENBRAC13
=null;
953 Token CLOSEBRAC15
=null;
954 Token IDENTIFIER16
=null;
955 ParserRuleReturnScope unaryExpression14
=null;
957 CommonTree ref_tree
=null;
958 CommonTree OPENBRAC13_tree
=null;
959 CommonTree CLOSEBRAC15_tree
=null;
960 CommonTree IDENTIFIER16_tree
=null;
961 RewriteRuleTokenStream stream_ARROW
=new RewriteRuleTokenStream(adaptor
,"token ARROW");
962 RewriteRuleTokenStream stream_DOT
=new RewriteRuleTokenStream(adaptor
,"token DOT");
963 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
966 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:3: ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
968 int LA6_0
= input
.LA(1);
969 if ( (LA6_0
==OPENBRAC
) ) {
972 else if ( (LA6_0
==ARROW
||LA6_0
==DOT
) ) {
977 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
978 NoViableAltException nvae
=
979 new NoViableAltException("", 6, 0, input
);
985 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:5: OPENBRAC unaryExpression CLOSEBRAC !
987 root_0
= (CommonTree
)adaptor
.nil();
990 OPENBRAC13
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_postfixExpressionSuffix654
); if (state
.failed
) return retval
;
991 if ( state
.backtracking
==0 ) {
992 OPENBRAC13_tree
= (CommonTree
)adaptor
.create(OPENBRAC13
);
993 adaptor
.addChild(root_0
, OPENBRAC13_tree
);
996 pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix656
);
997 unaryExpression14
=unaryExpression();
999 if (state
.failed
) return retval
;
1000 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression14
.getTree());
1002 CLOSEBRAC15
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix658
); if (state
.failed
) return retval
;
1006 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: (ref= DOT |ref= ARROW ) IDENTIFIER
1008 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: (ref= DOT |ref= ARROW )
1010 int LA5_0
= input
.LA(1);
1011 if ( (LA5_0
==DOT
) ) {
1014 else if ( (LA5_0
==ARROW
) ) {
1019 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1020 NoViableAltException nvae
=
1021 new NoViableAltException("", 5, 0, input
);
1027 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:6: ref= DOT
1029 ref
=(Token
)match(input
,DOT
,FOLLOW_DOT_in_postfixExpressionSuffix668
); if (state
.failed
) return retval
;
1030 if ( state
.backtracking
==0 ) stream_DOT
.add(ref
);
1035 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:16: ref= ARROW
1037 ref
=(Token
)match(input
,ARROW
,FOLLOW_ARROW_in_postfixExpressionSuffix674
); if (state
.failed
) return retval
;
1038 if ( state
.backtracking
==0 ) stream_ARROW
.add(ref
);
1045 IDENTIFIER16
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_postfixExpressionSuffix677
); if (state
.failed
) return retval
;
1046 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER16
);
1049 // elements: IDENTIFIER, ref
1050 // token labels: ref
1051 // rule labels: retval
1052 // token list labels:
1053 // rule list labels:
1055 if ( state
.backtracking
==0 ) {
1056 retval
.tree
= root_0
;
1057 RewriteRuleTokenStream stream_ref
=new RewriteRuleTokenStream(adaptor
,"token ref",ref
);
1058 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1060 root_0
= (CommonTree
)adaptor
.nil();
1061 // 220:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1063 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:10: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1065 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1066 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ref
.nextNode(), root_1
);
1067 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:17: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1069 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1070 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_2
);
1071 adaptor
.addChild(root_2
, stream_IDENTIFIER
.nextNode());
1072 adaptor
.addChild(root_1
, root_2
);
1075 adaptor
.addChild(root_0
, root_1
);
1081 retval
.tree
= root_0
;
1088 retval
.stop
= input
.LT(-1);
1090 if ( state
.backtracking
==0 ) {
1091 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1092 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1096 catch (RecognitionException e
) {
1101 // do for sure before leaving
1105 // $ANTLR end "postfixExpressionSuffix"
1108 public static class postfixCtfExpression_return
extends ParserRuleReturnScope
{
1111 public CommonTree
getTree() { return tree
; }
1115 // $ANTLR start "postfixCtfExpression"
1116 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:223:1: postfixCtfExpression : (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) ;
1117 public final CTFParser
.postfixCtfExpression_return
postfixCtfExpression() throws RecognitionException
{
1118 CTFParser
.postfixCtfExpression_return retval
= new CTFParser
.postfixCtfExpression_return();
1119 retval
.start
= input
.LT(1);
1121 CommonTree root_0
= null;
1124 ParserRuleReturnScope ctfSpecifierHead17
=null;
1126 CommonTree ref_tree
=null;
1127 RewriteRuleTokenStream stream_DOT
=new RewriteRuleTokenStream(adaptor
,"token DOT");
1128 RewriteRuleSubtreeStream stream_ctfSpecifierHead
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfSpecifierHead");
1131 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:3: ( (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) )
1132 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:5: (ref= DOT ) ctfSpecifierHead
1134 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:5: (ref= DOT )
1135 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:6: ref= DOT
1137 ref
=(Token
)match(input
,DOT
,FOLLOW_DOT_in_postfixCtfExpression712
); if (state
.failed
) return retval
;
1138 if ( state
.backtracking
==0 ) stream_DOT
.add(ref
);
1142 pushFollow(FOLLOW_ctfSpecifierHead_in_postfixCtfExpression715
);
1143 ctfSpecifierHead17
=ctfSpecifierHead();
1145 if (state
.failed
) return retval
;
1146 if ( state
.backtracking
==0 ) stream_ctfSpecifierHead
.add(ctfSpecifierHead17
.getTree());
1148 // elements: ref, ctfSpecifierHead
1149 // token labels: ref
1150 // rule labels: retval
1151 // token list labels:
1152 // rule list labels:
1154 if ( state
.backtracking
==0 ) {
1155 retval
.tree
= root_0
;
1156 RewriteRuleTokenStream stream_ref
=new RewriteRuleTokenStream(adaptor
,"token ref",ref
);
1157 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1159 root_0
= (CommonTree
)adaptor
.nil();
1160 // 225:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
1162 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:10: ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
1164 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1165 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ref
.nextNode(), root_1
);
1166 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:17: ^( UNARY_EXPRESSION_STRING ctfSpecifierHead )
1168 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1169 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_2
);
1170 adaptor
.addChild(root_2
, stream_ctfSpecifierHead
.nextTree());
1171 adaptor
.addChild(root_1
, root_2
);
1174 adaptor
.addChild(root_0
, root_1
);
1180 retval
.tree
= root_0
;
1185 retval
.stop
= input
.LT(-1);
1187 if ( state
.backtracking
==0 ) {
1188 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1189 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1193 catch (RecognitionException e
) {
1198 // do for sure before leaving
1202 // $ANTLR end "postfixCtfExpression"
1205 public static class postfixExpression_return
extends ParserRuleReturnScope
{
1208 public CommonTree
getTree() { return tree
; }
1212 // $ANTLR start "postfixExpression"
1213 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:228:1: postfixExpression : ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) );
1214 public final CTFParser
.postfixExpression_return
postfixExpression() throws RecognitionException
{
1215 CTFParser
.postfixExpression_return retval
= new CTFParser
.postfixExpression_return();
1216 retval
.start
= input
.LT(1);
1218 CommonTree root_0
= null;
1220 ParserRuleReturnScope primaryExpression18
=null;
1221 ParserRuleReturnScope postfixExpressionSuffix19
=null;
1222 ParserRuleReturnScope ctfSpecifierHead20
=null;
1223 ParserRuleReturnScope postfixCtfExpression21
=null;
1224 ParserRuleReturnScope postfixExpressionSuffix22
=null;
1228 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:3: ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) )
1230 switch ( input
.LA(1) ) {
1232 case CHARACTER_LITERAL
:
1233 case DECIMAL_LITERAL
:
1240 case STRING_LITERAL
:
1259 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1260 NoViableAltException nvae
=
1261 new NoViableAltException("", 10, 0, input
);
1266 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:5: ( primaryExpression ( postfixExpressionSuffix )* )
1268 root_0
= (CommonTree
)adaptor
.nil();
1271 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:5: ( primaryExpression ( postfixExpressionSuffix )* )
1272 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:6: primaryExpression ( postfixExpressionSuffix )*
1274 pushFollow(FOLLOW_primaryExpression_in_postfixExpression748
);
1275 primaryExpression18
=primaryExpression();
1277 if (state
.failed
) return retval
;
1278 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, primaryExpression18
.getTree());
1280 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:24: ( postfixExpressionSuffix )*
1284 int LA7_0
= input
.LA(1);
1285 if ( (LA7_0
==ARROW
||LA7_0
==DOT
||LA7_0
==OPENBRAC
) ) {
1291 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:24: postfixExpressionSuffix
1293 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression750
);
1294 postfixExpressionSuffix19
=postfixExpressionSuffix();
1296 if (state
.failed
) return retval
;
1297 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpressionSuffix19
.getTree());
1312 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
1314 root_0
= (CommonTree
)adaptor
.nil();
1317 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
1318 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:6: ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+
1320 pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression759
);
1321 ctfSpecifierHead20
=ctfSpecifierHead();
1323 if (state
.failed
) return retval
;
1324 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfSpecifierHead20
.getTree());
1326 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:23: ( postfixCtfExpression )*
1330 int LA8_0
= input
.LA(1);
1331 if ( (LA8_0
==DOT
) ) {
1332 int LA8_2
= input
.LA(2);
1333 if ( (LA8_2
==CLOCKTOK
||LA8_2
==ENVTOK
||LA8_2
==EVENTTOK
||LA8_2
==STREAMTOK
||LA8_2
==TRACETOK
) ) {
1341 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:23: postfixCtfExpression
1343 pushFollow(FOLLOW_postfixCtfExpression_in_postfixExpression761
);
1344 postfixCtfExpression21
=postfixCtfExpression();
1346 if (state
.failed
) return retval
;
1347 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixCtfExpression21
.getTree());
1357 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:45: ( postfixExpressionSuffix )+
1362 int LA9_0
= input
.LA(1);
1363 if ( (LA9_0
==ARROW
||LA9_0
==DOT
||LA9_0
==OPENBRAC
) ) {
1369 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:45: postfixExpressionSuffix
1371 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression764
);
1372 postfixExpressionSuffix22
=postfixExpressionSuffix();
1374 if (state
.failed
) return retval
;
1375 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpressionSuffix22
.getTree());
1381 if ( cnt9
>= 1 ) break loop9
;
1382 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1383 EarlyExitException eee
= new EarlyExitException(9, input
);
1395 retval
.stop
= input
.LT(-1);
1397 if ( state
.backtracking
==0 ) {
1398 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1399 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1403 catch (RecognitionException e
) {
1408 // do for sure before leaving
1412 // $ANTLR end "postfixExpression"
1415 public static class unaryExpression_return
extends ParserRuleReturnScope
{
1418 public CommonTree
getTree() { return tree
; }
1422 // $ANTLR start "unaryExpression"
1423 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:233:1: unaryExpression : postfixExpression ;
1424 public final CTFParser
.unaryExpression_return
unaryExpression() throws RecognitionException
{
1425 CTFParser
.unaryExpression_return retval
= new CTFParser
.unaryExpression_return();
1426 retval
.start
= input
.LT(1);
1428 CommonTree root_0
= null;
1430 ParserRuleReturnScope postfixExpression23
=null;
1434 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:3: ( postfixExpression )
1435 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:5: postfixExpression
1437 root_0
= (CommonTree
)adaptor
.nil();
1440 pushFollow(FOLLOW_postfixExpression_in_unaryExpression780
);
1441 postfixExpression23
=postfixExpression();
1443 if (state
.failed
) return retval
;
1444 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpression23
.getTree());
1448 retval
.stop
= input
.LT(-1);
1450 if ( state
.backtracking
==0 ) {
1451 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1452 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1456 catch (RecognitionException e
) {
1461 // do for sure before leaving
1465 // $ANTLR end "unaryExpression"
1468 public static class enumConstant_return
extends ParserRuleReturnScope
{
1471 public CommonTree
getTree() { return tree
; }
1475 // $ANTLR start "enumConstant"
1476 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:238:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
1477 public final CTFParser
.enumConstant_return
enumConstant() throws RecognitionException
{
1478 CTFParser
.enumConstant_return retval
= new CTFParser
.enumConstant_return();
1479 retval
.start
= input
.LT(1);
1481 CommonTree root_0
= null;
1483 Token STRING_LITERAL24
=null;
1484 Token IDENTIFIER25
=null;
1485 ParserRuleReturnScope ctfKeyword26
=null;
1487 CommonTree STRING_LITERAL24_tree
=null;
1488 CommonTree IDENTIFIER25_tree
=null;
1489 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
1490 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
1491 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
1494 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:3: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
1496 switch ( input
.LA(1) ) {
1497 case STRING_LITERAL
:
1516 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1517 NoViableAltException nvae
=
1518 new NoViableAltException("", 11, 0, input
);
1523 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:5: STRING_LITERAL
1525 STRING_LITERAL24
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_enumConstant797
); if (state
.failed
) return retval
;
1526 if ( state
.backtracking
==0 ) stream_STRING_LITERAL
.add(STRING_LITERAL24
);
1529 // elements: STRING_LITERAL
1531 // rule labels: retval
1532 // token list labels:
1533 // rule list labels:
1535 if ( state
.backtracking
==0 ) {
1536 retval
.tree
= root_0
;
1537 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1539 root_0
= (CommonTree
)adaptor
.nil();
1540 // 239:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1542 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1544 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1545 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
1546 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
1547 adaptor
.addChild(root_0
, root_1
);
1553 retval
.tree
= root_0
;
1559 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:5: IDENTIFIER
1561 IDENTIFIER25
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumConstant811
); if (state
.failed
) return retval
;
1562 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER25
);
1565 // elements: IDENTIFIER
1567 // rule labels: retval
1568 // token list labels:
1569 // rule list labels:
1571 if ( state
.backtracking
==0 ) {
1572 retval
.tree
= root_0
;
1573 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1575 root_0
= (CommonTree
)adaptor
.nil();
1576 // 240:16: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1578 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:19: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1580 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1581 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1582 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
1583 adaptor
.addChild(root_0
, root_1
);
1589 retval
.tree
= root_0
;
1595 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:5: ctfKeyword
1597 pushFollow(FOLLOW_ctfKeyword_in_enumConstant825
);
1598 ctfKeyword26
=ctfKeyword();
1600 if (state
.failed
) return retval
;
1601 if ( state
.backtracking
==0 ) stream_ctfKeyword
.add(ctfKeyword26
.getTree());
1603 // elements: ctfKeyword
1605 // rule labels: retval
1606 // token list labels:
1607 // rule list labels:
1609 if ( state
.backtracking
==0 ) {
1610 retval
.tree
= root_0
;
1611 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1613 root_0
= (CommonTree
)adaptor
.nil();
1614 // 241:16: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
1616 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:19: ^( UNARY_EXPRESSION_STRING ctfKeyword )
1618 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1619 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1620 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
1621 adaptor
.addChild(root_0
, root_1
);
1627 retval
.tree
= root_0
;
1634 retval
.stop
= input
.LT(-1);
1636 if ( state
.backtracking
==0 ) {
1637 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1638 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1642 catch (RecognitionException e
) {
1647 // do for sure before leaving
1651 // $ANTLR end "enumConstant"
1654 protected static class declaration_scope
{
1657 protected Stack
<declaration_scope
> declaration_stack
= new Stack
<declaration_scope
>();
1659 public static class declaration_return
extends ParserRuleReturnScope
{
1662 public CommonTree
getTree() { return tree
; }
1666 // $ANTLR start "declaration"
1667 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:246:1: declaration : ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !);
1668 public final CTFParser
.declaration_return
declaration() throws RecognitionException
{
1669 declaration_stack
.push(new declaration_scope());
1670 CTFParser
.declaration_return retval
= new CTFParser
.declaration_return();
1671 retval
.start
= input
.LT(1);
1673 CommonTree root_0
= null;
1677 ParserRuleReturnScope declarationSpecifiers27
=null;
1678 ParserRuleReturnScope declaratorList28
=null;
1679 ParserRuleReturnScope ctfSpecifier30
=null;
1681 CommonTree TERM29_tree
=null;
1682 CommonTree TERM31_tree
=null;
1683 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
1684 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
1685 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
1691 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:3: ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !)
1693 int LA13_0
= input
.LA(1);
1694 if ( (LA13_0
==BOOLTOK
||LA13_0
==CHARTOK
||(LA13_0
>= COMPLEXTOK
&& LA13_0
<= CONSTTOK
)||LA13_0
==DOUBLETOK
||LA13_0
==ENUMTOK
||(LA13_0
>= FLOATINGPOINTTOK
&& LA13_0
<= FLOATTOK
)||LA13_0
==IMAGINARYTOK
||LA13_0
==INTEGERTOK
||LA13_0
==INTTOK
||LA13_0
==LONGTOK
||LA13_0
==SHORTTOK
||LA13_0
==SIGNEDTOK
||LA13_0
==STRINGTOK
||LA13_0
==STRUCTTOK
||LA13_0
==TYPEDEFTOK
||(LA13_0
>= UNSIGNEDTOK
&& LA13_0
<= VOIDTOK
)) ) {
1697 else if ( (LA13_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
1700 else if ( (LA13_0
==CLOCKTOK
||LA13_0
==ENVTOK
||LA13_0
==EVENTTOK
||LA13_0
==STREAMTOK
||(LA13_0
>= TRACETOK
&& LA13_0
<= TYPEALIASTOK
)) ) {
1705 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1706 NoViableAltException nvae
=
1707 new NoViableAltException("", 13, 0, input
);
1713 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:5: declarationSpecifiers ( declaratorList )? TERM
1715 pushFollow(FOLLOW_declarationSpecifiers_in_declaration856
);
1716 declarationSpecifiers27
=declarationSpecifiers();
1718 if (state
.failed
) return retval
;
1719 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers27
.getTree());
1720 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:27: ( declaratorList )?
1722 int LA12_0
= input
.LA(1);
1723 if ( (LA12_0
==IDENTIFIER
||LA12_0
==POINTER
) ) {
1728 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:27: declaratorList
1730 pushFollow(FOLLOW_declaratorList_in_declaration858
);
1731 declaratorList28
=declaratorList();
1733 if (state
.failed
) return retval
;
1734 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList28
.getTree());
1740 TERM29
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration861
); if (state
.failed
) return retval
;
1741 if ( state
.backtracking
==0 ) stream_TERM
.add(TERM29
);
1744 // elements: declarationSpecifiers, declaratorList, declarationSpecifiers, declaratorList
1746 // rule labels: retval
1747 // token list labels:
1748 // rule list labels:
1750 if ( state
.backtracking
==0 ) {
1751 retval
.tree
= root_0
;
1752 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1754 root_0
= (CommonTree
)adaptor
.nil();
1755 // 256:7: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1757 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:257:10: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1759 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1760 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
1761 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:257:24: ^( TYPEDEF declaratorList declarationSpecifiers )
1763 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1764 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_2
);
1765 adaptor
.addChild(root_2
, stream_declaratorList
.nextTree());
1766 adaptor
.addChild(root_2
, stream_declarationSpecifiers
.nextTree());
1767 adaptor
.addChild(root_1
, root_2
);
1770 adaptor
.addChild(root_0
, root_1
);
1775 else // 258:7: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
1777 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:10: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
1779 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1780 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
1781 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
1782 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:46: ( declaratorList )?
1783 if ( stream_declaratorList
.hasNext() ) {
1784 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
1786 stream_declaratorList
.reset();
1788 adaptor
.addChild(root_0
, root_1
);
1794 retval
.tree
= root_0
;
1800 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:5: ctfSpecifier TERM !
1802 root_0
= (CommonTree
)adaptor
.nil();
1805 pushFollow(FOLLOW_ctfSpecifier_in_declaration929
);
1806 ctfSpecifier30
=ctfSpecifier();
1808 if (state
.failed
) return retval
;
1809 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfSpecifier30
.getTree());
1811 TERM31
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration931
); if (state
.failed
) return retval
;
1816 retval
.stop
= input
.LT(-1);
1818 if ( state
.backtracking
==0 ) {
1819 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1820 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1824 catch (RecognitionException e
) {
1829 // do for sure before leaving
1830 declaration_stack
.pop();
1834 // $ANTLR end "declaration"
1837 public static class declarationSpecifiers_return
extends ParserRuleReturnScope
{
1840 public CommonTree
getTree() { return tree
; }
1844 // $ANTLR start "declarationSpecifiers"
1845 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:262:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
1846 public final CTFParser
.declarationSpecifiers_return
declarationSpecifiers() throws RecognitionException
{
1847 CTFParser
.declarationSpecifiers_return retval
= new CTFParser
.declarationSpecifiers_return();
1848 retval
.start
= input
.LT(1);
1850 CommonTree root_0
= null;
1852 ParserRuleReturnScope storageClassSpecifier32
=null;
1853 ParserRuleReturnScope typeQualifier33
=null;
1854 ParserRuleReturnScope typeSpecifier34
=null;
1856 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
1857 RewriteRuleSubtreeStream stream_storageClassSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule storageClassSpecifier");
1858 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
1861 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:3: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
1862 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
1864 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
1869 switch ( input
.LA(1) ) {
1872 int LA14_2
= input
.LA(2);
1873 if ( ((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) ) {
1894 case FLOATINGPOINTTOK
:
1914 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:266:9: storageClassSpecifier
1916 pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers969
);
1917 storageClassSpecifier32
=storageClassSpecifier();
1919 if (state
.failed
) return retval
;
1920 if ( state
.backtracking
==0 ) stream_storageClassSpecifier
.add(storageClassSpecifier32
.getTree());
1924 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:267:9: typeQualifier
1926 pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers979
);
1927 typeQualifier33
=typeQualifier();
1929 if (state
.failed
) return retval
;
1930 if ( state
.backtracking
==0 ) stream_typeQualifier
.add(typeQualifier33
.getTree());
1934 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:268:9: typeSpecifier
1936 pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers989
);
1937 typeSpecifier34
=typeSpecifier();
1939 if (state
.failed
) return retval
;
1940 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(typeSpecifier34
.getTree());
1945 if ( cnt14
>= 1 ) break loop14
;
1946 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1947 EarlyExitException eee
= new EarlyExitException(14, input
);
1954 // elements: typeQualifier, typeSpecifier
1956 // rule labels: retval
1957 // token list labels:
1958 // rule list labels:
1960 if ( state
.backtracking
==0 ) {
1961 retval
.tree
= root_0
;
1962 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1964 root_0
= (CommonTree
)adaptor
.nil();
1965 // 269:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
1967 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
1969 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1970 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
1971 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:31: ( typeQualifier )*
1972 while ( stream_typeQualifier
.hasNext() ) {
1973 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
1975 stream_typeQualifier
.reset();
1977 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:46: ( typeSpecifier )*
1978 while ( stream_typeSpecifier
.hasNext() ) {
1979 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
1981 stream_typeSpecifier
.reset();
1983 adaptor
.addChild(root_0
, root_1
);
1989 retval
.tree
= root_0
;
1994 retval
.stop
= input
.LT(-1);
1996 if ( state
.backtracking
==0 ) {
1997 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1998 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2002 catch (RecognitionException e
) {
2007 // do for sure before leaving
2011 // $ANTLR end "declarationSpecifiers"
2014 public static class declaratorList_return
extends ParserRuleReturnScope
{
2017 public CommonTree
getTree() { return tree
; }
2021 // $ANTLR start "declaratorList"
2022 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:272:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
2023 public final CTFParser
.declaratorList_return
declaratorList() throws RecognitionException
{
2024 CTFParser
.declaratorList_return retval
= new CTFParser
.declaratorList_return();
2025 retval
.start
= input
.LT(1);
2027 CommonTree root_0
= null;
2029 Token SEPARATOR36
=null;
2030 ParserRuleReturnScope declarator35
=null;
2031 ParserRuleReturnScope declarator37
=null;
2033 CommonTree SEPARATOR36_tree
=null;
2034 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2035 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
2038 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:3: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
2039 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:5: declarator ( SEPARATOR declarator )*
2041 pushFollow(FOLLOW_declarator_in_declaratorList1019
);
2042 declarator35
=declarator();
2044 if (state
.failed
) return retval
;
2045 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator35
.getTree());
2046 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:16: ( SEPARATOR declarator )*
2050 int LA15_0
= input
.LA(1);
2051 if ( (LA15_0
==SEPARATOR
) ) {
2057 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:17: SEPARATOR declarator
2059 SEPARATOR36
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_declaratorList1022
); if (state
.failed
) return retval
;
2060 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR36
);
2062 pushFollow(FOLLOW_declarator_in_declaratorList1024
);
2063 declarator37
=declarator();
2065 if (state
.failed
) return retval
;
2066 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator37
.getTree());
2076 // elements: declarator
2078 // rule labels: retval
2079 // token list labels:
2080 // rule list labels:
2082 if ( state
.backtracking
==0 ) {
2083 retval
.tree
= root_0
;
2084 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2086 root_0
= (CommonTree
)adaptor
.nil();
2087 // 274:7: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2089 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:10: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2091 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2092 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2093 if ( !(stream_declarator
.hasNext()) ) {
2094 throw new RewriteEarlyExitException();
2096 while ( stream_declarator
.hasNext() ) {
2097 adaptor
.addChild(root_1
, stream_declarator
.nextTree());
2099 stream_declarator
.reset();
2101 adaptor
.addChild(root_0
, root_1
);
2107 retval
.tree
= root_0
;
2112 retval
.stop
= input
.LT(-1);
2114 if ( state
.backtracking
==0 ) {
2115 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2116 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2120 catch (RecognitionException e
) {
2125 // do for sure before leaving
2129 // $ANTLR end "declaratorList"
2132 public static class abstractDeclaratorList_return
extends ParserRuleReturnScope
{
2135 public CommonTree
getTree() { return tree
; }
2139 // $ANTLR start "abstractDeclaratorList"
2140 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:277:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
2141 public final CTFParser
.abstractDeclaratorList_return
abstractDeclaratorList() throws RecognitionException
{
2142 CTFParser
.abstractDeclaratorList_return retval
= new CTFParser
.abstractDeclaratorList_return();
2143 retval
.start
= input
.LT(1);
2145 CommonTree root_0
= null;
2147 Token SEPARATOR39
=null;
2148 ParserRuleReturnScope abstractDeclarator38
=null;
2149 ParserRuleReturnScope abstractDeclarator40
=null;
2151 CommonTree SEPARATOR39_tree
=null;
2152 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2153 RewriteRuleSubtreeStream stream_abstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule abstractDeclarator");
2156 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:3: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
2157 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:5: abstractDeclarator ( SEPARATOR abstractDeclarator )*
2159 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1054
);
2160 abstractDeclarator38
=abstractDeclarator();
2162 if (state
.failed
) return retval
;
2163 if ( state
.backtracking
==0 ) stream_abstractDeclarator
.add(abstractDeclarator38
.getTree());
2164 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:24: ( SEPARATOR abstractDeclarator )*
2168 int LA16_0
= input
.LA(1);
2169 if ( (LA16_0
==SEPARATOR
) ) {
2175 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:25: SEPARATOR abstractDeclarator
2177 SEPARATOR39
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_abstractDeclaratorList1057
); if (state
.failed
) return retval
;
2178 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR39
);
2180 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1059
);
2181 abstractDeclarator40
=abstractDeclarator();
2183 if (state
.failed
) return retval
;
2184 if ( state
.backtracking
==0 ) stream_abstractDeclarator
.add(abstractDeclarator40
.getTree());
2194 // elements: abstractDeclarator
2196 // rule labels: retval
2197 // token list labels:
2198 // rule list labels:
2200 if ( state
.backtracking
==0 ) {
2201 retval
.tree
= root_0
;
2202 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2204 root_0
= (CommonTree
)adaptor
.nil();
2205 // 279:7: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2207 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:10: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2209 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2210 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2211 if ( !(stream_abstractDeclarator
.hasNext()) ) {
2212 throw new RewriteEarlyExitException();
2214 while ( stream_abstractDeclarator
.hasNext() ) {
2215 adaptor
.addChild(root_1
, stream_abstractDeclarator
.nextTree());
2217 stream_abstractDeclarator
.reset();
2219 adaptor
.addChild(root_0
, root_1
);
2225 retval
.tree
= root_0
;
2230 retval
.stop
= input
.LT(-1);
2232 if ( state
.backtracking
==0 ) {
2233 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2234 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2238 catch (RecognitionException e
) {
2243 // do for sure before leaving
2247 // $ANTLR end "abstractDeclaratorList"
2250 public static class storageClassSpecifier_return
extends ParserRuleReturnScope
{
2253 public CommonTree
getTree() { return tree
; }
2257 // $ANTLR start "storageClassSpecifier"
2258 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:282:1: storageClassSpecifier : TYPEDEFTOK ;
2259 public final CTFParser
.storageClassSpecifier_return
storageClassSpecifier() throws RecognitionException
{
2260 CTFParser
.storageClassSpecifier_return retval
= new CTFParser
.storageClassSpecifier_return();
2261 retval
.start
= input
.LT(1);
2263 CommonTree root_0
= null;
2265 Token TYPEDEFTOK41
=null;
2267 CommonTree TYPEDEFTOK41_tree
=null;
2270 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:3: ( TYPEDEFTOK )
2271 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:5: TYPEDEFTOK
2273 root_0
= (CommonTree
)adaptor
.nil();
2276 TYPEDEFTOK41
=(Token
)match(input
,TYPEDEFTOK
,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1089
); if (state
.failed
) return retval
;
2277 if ( state
.backtracking
==0 ) {
2278 TYPEDEFTOK41_tree
= (CommonTree
)adaptor
.create(TYPEDEFTOK41
);
2279 adaptor
.addChild(root_0
, TYPEDEFTOK41_tree
);
2282 if ( state
.backtracking
==0 ) { typedefOn(); }
2285 retval
.stop
= input
.LT(-1);
2287 if ( state
.backtracking
==0 ) {
2288 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2289 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2293 catch (RecognitionException e
) {
2298 // do for sure before leaving
2302 // $ANTLR end "storageClassSpecifier"
2305 public static class typeSpecifier_return
extends ParserRuleReturnScope
{
2308 public CommonTree
getTree() { return tree
; }
2312 // $ANTLR start "typeSpecifier"
2313 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:286:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName );
2314 public final CTFParser
.typeSpecifier_return
typeSpecifier() throws RecognitionException
{
2315 CTFParser
.typeSpecifier_return retval
= new CTFParser
.typeSpecifier_return();
2316 retval
.start
= input
.LT(1);
2318 CommonTree root_0
= null;
2320 Token FLOATTOK42
=null;
2321 Token INTTOK43
=null;
2322 Token LONGTOK44
=null;
2323 Token SHORTTOK45
=null;
2324 Token SIGNEDTOK46
=null;
2325 Token UNSIGNEDTOK47
=null;
2326 Token CHARTOK48
=null;
2327 Token DOUBLETOK49
=null;
2328 Token VOIDTOK50
=null;
2329 Token BOOLTOK51
=null;
2330 Token COMPLEXTOK52
=null;
2331 Token IMAGINARYTOK53
=null;
2332 ParserRuleReturnScope structSpecifier54
=null;
2333 ParserRuleReturnScope variantSpecifier55
=null;
2334 ParserRuleReturnScope enumSpecifier56
=null;
2335 ParserRuleReturnScope ctfTypeSpecifier57
=null;
2336 ParserRuleReturnScope typedefName58
=null;
2338 CommonTree FLOATTOK42_tree
=null;
2339 CommonTree INTTOK43_tree
=null;
2340 CommonTree LONGTOK44_tree
=null;
2341 CommonTree SHORTTOK45_tree
=null;
2342 CommonTree SIGNEDTOK46_tree
=null;
2343 CommonTree UNSIGNEDTOK47_tree
=null;
2344 CommonTree CHARTOK48_tree
=null;
2345 CommonTree DOUBLETOK49_tree
=null;
2346 CommonTree VOIDTOK50_tree
=null;
2347 CommonTree BOOLTOK51_tree
=null;
2348 CommonTree COMPLEXTOK52_tree
=null;
2349 CommonTree IMAGINARYTOK53_tree
=null;
2352 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:3: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName )
2354 int LA17_0
= input
.LA(1);
2355 if ( (LA17_0
==FLOATTOK
) ) {
2358 else if ( (LA17_0
==INTTOK
) ) {
2361 else if ( (LA17_0
==LONGTOK
) ) {
2364 else if ( (LA17_0
==SHORTTOK
) ) {
2367 else if ( (LA17_0
==SIGNEDTOK
) ) {
2370 else if ( (LA17_0
==UNSIGNEDTOK
) ) {
2373 else if ( (LA17_0
==CHARTOK
) ) {
2376 else if ( (LA17_0
==DOUBLETOK
) ) {
2379 else if ( (LA17_0
==VOIDTOK
) ) {
2382 else if ( (LA17_0
==BOOLTOK
) ) {
2385 else if ( (LA17_0
==COMPLEXTOK
) ) {
2388 else if ( (LA17_0
==IMAGINARYTOK
) ) {
2391 else if ( (LA17_0
==STRUCTTOK
) ) {
2394 else if ( (LA17_0
==VARIANTTOK
) ) {
2397 else if ( (LA17_0
==ENUMTOK
) ) {
2400 else if ( (LA17_0
==FLOATINGPOINTTOK
||LA17_0
==INTEGERTOK
||LA17_0
==STRINGTOK
) ) {
2403 else if ( (LA17_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
2409 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:5: FLOATTOK
2411 root_0
= (CommonTree
)adaptor
.nil();
2414 FLOATTOK42
=(Token
)match(input
,FLOATTOK
,FOLLOW_FLOATTOK_in_typeSpecifier1105
); if (state
.failed
) return retval
;
2415 if ( state
.backtracking
==0 ) {
2416 FLOATTOK42_tree
= (CommonTree
)adaptor
.create(FLOATTOK42
);
2417 adaptor
.addChild(root_0
, FLOATTOK42_tree
);
2423 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:5: INTTOK
2425 root_0
= (CommonTree
)adaptor
.nil();
2428 INTTOK43
=(Token
)match(input
,INTTOK
,FOLLOW_INTTOK_in_typeSpecifier1111
); if (state
.failed
) return retval
;
2429 if ( state
.backtracking
==0 ) {
2430 INTTOK43_tree
= (CommonTree
)adaptor
.create(INTTOK43
);
2431 adaptor
.addChild(root_0
, INTTOK43_tree
);
2437 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:289:5: LONGTOK
2439 root_0
= (CommonTree
)adaptor
.nil();
2442 LONGTOK44
=(Token
)match(input
,LONGTOK
,FOLLOW_LONGTOK_in_typeSpecifier1117
); if (state
.failed
) return retval
;
2443 if ( state
.backtracking
==0 ) {
2444 LONGTOK44_tree
= (CommonTree
)adaptor
.create(LONGTOK44
);
2445 adaptor
.addChild(root_0
, LONGTOK44_tree
);
2451 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:290:5: SHORTTOK
2453 root_0
= (CommonTree
)adaptor
.nil();
2456 SHORTTOK45
=(Token
)match(input
,SHORTTOK
,FOLLOW_SHORTTOK_in_typeSpecifier1123
); if (state
.failed
) return retval
;
2457 if ( state
.backtracking
==0 ) {
2458 SHORTTOK45_tree
= (CommonTree
)adaptor
.create(SHORTTOK45
);
2459 adaptor
.addChild(root_0
, SHORTTOK45_tree
);
2465 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:291:5: SIGNEDTOK
2467 root_0
= (CommonTree
)adaptor
.nil();
2470 SIGNEDTOK46
=(Token
)match(input
,SIGNEDTOK
,FOLLOW_SIGNEDTOK_in_typeSpecifier1129
); if (state
.failed
) return retval
;
2471 if ( state
.backtracking
==0 ) {
2472 SIGNEDTOK46_tree
= (CommonTree
)adaptor
.create(SIGNEDTOK46
);
2473 adaptor
.addChild(root_0
, SIGNEDTOK46_tree
);
2479 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:292:5: UNSIGNEDTOK
2481 root_0
= (CommonTree
)adaptor
.nil();
2484 UNSIGNEDTOK47
=(Token
)match(input
,UNSIGNEDTOK
,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1135
); if (state
.failed
) return retval
;
2485 if ( state
.backtracking
==0 ) {
2486 UNSIGNEDTOK47_tree
= (CommonTree
)adaptor
.create(UNSIGNEDTOK47
);
2487 adaptor
.addChild(root_0
, UNSIGNEDTOK47_tree
);
2493 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:293:5: CHARTOK
2495 root_0
= (CommonTree
)adaptor
.nil();
2498 CHARTOK48
=(Token
)match(input
,CHARTOK
,FOLLOW_CHARTOK_in_typeSpecifier1141
); if (state
.failed
) return retval
;
2499 if ( state
.backtracking
==0 ) {
2500 CHARTOK48_tree
= (CommonTree
)adaptor
.create(CHARTOK48
);
2501 adaptor
.addChild(root_0
, CHARTOK48_tree
);
2507 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:294:5: DOUBLETOK
2509 root_0
= (CommonTree
)adaptor
.nil();
2512 DOUBLETOK49
=(Token
)match(input
,DOUBLETOK
,FOLLOW_DOUBLETOK_in_typeSpecifier1147
); if (state
.failed
) return retval
;
2513 if ( state
.backtracking
==0 ) {
2514 DOUBLETOK49_tree
= (CommonTree
)adaptor
.create(DOUBLETOK49
);
2515 adaptor
.addChild(root_0
, DOUBLETOK49_tree
);
2521 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:295:5: VOIDTOK
2523 root_0
= (CommonTree
)adaptor
.nil();
2526 VOIDTOK50
=(Token
)match(input
,VOIDTOK
,FOLLOW_VOIDTOK_in_typeSpecifier1153
); if (state
.failed
) return retval
;
2527 if ( state
.backtracking
==0 ) {
2528 VOIDTOK50_tree
= (CommonTree
)adaptor
.create(VOIDTOK50
);
2529 adaptor
.addChild(root_0
, VOIDTOK50_tree
);
2535 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:296:5: BOOLTOK
2537 root_0
= (CommonTree
)adaptor
.nil();
2540 BOOLTOK51
=(Token
)match(input
,BOOLTOK
,FOLLOW_BOOLTOK_in_typeSpecifier1159
); if (state
.failed
) return retval
;
2541 if ( state
.backtracking
==0 ) {
2542 BOOLTOK51_tree
= (CommonTree
)adaptor
.create(BOOLTOK51
);
2543 adaptor
.addChild(root_0
, BOOLTOK51_tree
);
2549 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:297:5: COMPLEXTOK
2551 root_0
= (CommonTree
)adaptor
.nil();
2554 COMPLEXTOK52
=(Token
)match(input
,COMPLEXTOK
,FOLLOW_COMPLEXTOK_in_typeSpecifier1165
); if (state
.failed
) return retval
;
2555 if ( state
.backtracking
==0 ) {
2556 COMPLEXTOK52_tree
= (CommonTree
)adaptor
.create(COMPLEXTOK52
);
2557 adaptor
.addChild(root_0
, COMPLEXTOK52_tree
);
2563 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:298:5: IMAGINARYTOK
2565 root_0
= (CommonTree
)adaptor
.nil();
2568 IMAGINARYTOK53
=(Token
)match(input
,IMAGINARYTOK
,FOLLOW_IMAGINARYTOK_in_typeSpecifier1171
); if (state
.failed
) return retval
;
2569 if ( state
.backtracking
==0 ) {
2570 IMAGINARYTOK53_tree
= (CommonTree
)adaptor
.create(IMAGINARYTOK53
);
2571 adaptor
.addChild(root_0
, IMAGINARYTOK53_tree
);
2577 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:299:5: structSpecifier
2579 root_0
= (CommonTree
)adaptor
.nil();
2582 pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1177
);
2583 structSpecifier54
=structSpecifier();
2585 if (state
.failed
) return retval
;
2586 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, structSpecifier54
.getTree());
2591 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:300:5: variantSpecifier
2593 root_0
= (CommonTree
)adaptor
.nil();
2596 pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1183
);
2597 variantSpecifier55
=variantSpecifier();
2599 if (state
.failed
) return retval
;
2600 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, variantSpecifier55
.getTree());
2605 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:301:5: enumSpecifier
2607 root_0
= (CommonTree
)adaptor
.nil();
2610 pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1189
);
2611 enumSpecifier56
=enumSpecifier();
2613 if (state
.failed
) return retval
;
2614 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumSpecifier56
.getTree());
2619 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:302:5: ctfTypeSpecifier
2621 root_0
= (CommonTree
)adaptor
.nil();
2624 pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1195
);
2625 ctfTypeSpecifier57
=ctfTypeSpecifier();
2627 if (state
.failed
) return retval
;
2628 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfTypeSpecifier57
.getTree());
2633 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:303:5: {...}? => typedefName
2635 root_0
= (CommonTree
)adaptor
.nil();
2638 if ( !(( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )) ) {
2639 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2640 throw new FailedPredicateException(input
, "typeSpecifier", " inTypealiasAlias() || isTypeName(input.LT(1).getText()) ");
2642 pushFollow(FOLLOW_typedefName_in_typeSpecifier1205
);
2643 typedefName58
=typedefName();
2645 if (state
.failed
) return retval
;
2646 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typedefName58
.getTree());
2652 retval
.stop
= input
.LT(-1);
2654 if ( state
.backtracking
==0 ) {
2655 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2656 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2660 catch (RecognitionException e
) {
2665 // do for sure before leaving
2669 // $ANTLR end "typeSpecifier"
2672 public static class typeQualifier_return
extends ParserRuleReturnScope
{
2675 public CommonTree
getTree() { return tree
; }
2679 // $ANTLR start "typeQualifier"
2680 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:306:1: typeQualifier : CONSTTOK ;
2681 public final CTFParser
.typeQualifier_return
typeQualifier() throws RecognitionException
{
2682 CTFParser
.typeQualifier_return retval
= new CTFParser
.typeQualifier_return();
2683 retval
.start
= input
.LT(1);
2685 CommonTree root_0
= null;
2687 Token CONSTTOK59
=null;
2689 CommonTree CONSTTOK59_tree
=null;
2692 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:3: ( CONSTTOK )
2693 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:5: CONSTTOK
2695 root_0
= (CommonTree
)adaptor
.nil();
2698 CONSTTOK59
=(Token
)match(input
,CONSTTOK
,FOLLOW_CONSTTOK_in_typeQualifier1218
); if (state
.failed
) return retval
;
2699 if ( state
.backtracking
==0 ) {
2700 CONSTTOK59_tree
= (CommonTree
)adaptor
.create(CONSTTOK59
);
2701 adaptor
.addChild(root_0
, CONSTTOK59_tree
);
2706 retval
.stop
= input
.LT(-1);
2708 if ( state
.backtracking
==0 ) {
2709 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2710 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2714 catch (RecognitionException e
) {
2719 // do for sure before leaving
2723 // $ANTLR end "typeQualifier"
2726 public static class alignAttribute_return
extends ParserRuleReturnScope
{
2729 public CommonTree
getTree() { return tree
; }
2733 // $ANTLR start "alignAttribute"
2734 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:310:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
2735 public final CTFParser
.alignAttribute_return
alignAttribute() throws RecognitionException
{
2736 CTFParser
.alignAttribute_return retval
= new CTFParser
.alignAttribute_return();
2737 retval
.start
= input
.LT(1);
2739 CommonTree root_0
= null;
2741 Token ALIGNTOK60
=null;
2742 Token LPAREN61
=null;
2743 Token RPAREN63
=null;
2744 ParserRuleReturnScope unaryExpression62
=null;
2746 CommonTree ALIGNTOK60_tree
=null;
2747 CommonTree LPAREN61_tree
=null;
2748 CommonTree RPAREN63_tree
=null;
2749 RewriteRuleTokenStream stream_LPAREN
=new RewriteRuleTokenStream(adaptor
,"token LPAREN");
2750 RewriteRuleTokenStream stream_RPAREN
=new RewriteRuleTokenStream(adaptor
,"token RPAREN");
2751 RewriteRuleTokenStream stream_ALIGNTOK
=new RewriteRuleTokenStream(adaptor
,"token ALIGNTOK");
2752 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
2755 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:3: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
2756 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:5: ALIGNTOK LPAREN unaryExpression RPAREN
2758 ALIGNTOK60
=(Token
)match(input
,ALIGNTOK
,FOLLOW_ALIGNTOK_in_alignAttribute1231
); if (state
.failed
) return retval
;
2759 if ( state
.backtracking
==0 ) stream_ALIGNTOK
.add(ALIGNTOK60
);
2761 LPAREN61
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_alignAttribute1233
); if (state
.failed
) return retval
;
2762 if ( state
.backtracking
==0 ) stream_LPAREN
.add(LPAREN61
);
2764 pushFollow(FOLLOW_unaryExpression_in_alignAttribute1235
);
2765 unaryExpression62
=unaryExpression();
2767 if (state
.failed
) return retval
;
2768 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(unaryExpression62
.getTree());
2769 RPAREN63
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_alignAttribute1237
); if (state
.failed
) return retval
;
2770 if ( state
.backtracking
==0 ) stream_RPAREN
.add(RPAREN63
);
2773 // elements: unaryExpression
2775 // rule labels: retval
2776 // token list labels:
2777 // rule list labels:
2779 if ( state
.backtracking
==0 ) {
2780 retval
.tree
= root_0
;
2781 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2783 root_0
= (CommonTree
)adaptor
.nil();
2784 // 311:44: -> ^( ALIGN unaryExpression )
2786 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:47: ^( ALIGN unaryExpression )
2788 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2789 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ALIGN
, "ALIGN"), root_1
);
2790 adaptor
.addChild(root_1
, stream_unaryExpression
.nextTree());
2791 adaptor
.addChild(root_0
, root_1
);
2797 retval
.tree
= root_0
;
2802 retval
.stop
= input
.LT(-1);
2804 if ( state
.backtracking
==0 ) {
2805 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2806 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2810 catch (RecognitionException e
) {
2815 // do for sure before leaving
2819 // $ANTLR end "alignAttribute"
2822 public static class structBody_return
extends ParserRuleReturnScope
{
2825 public CommonTree
getTree() { return tree
; }
2829 // $ANTLR start "structBody"
2830 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:315:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
2831 public final CTFParser
.structBody_return
structBody() throws RecognitionException
{
2832 Symbols_stack
.push(new Symbols_scope());
2834 CTFParser
.structBody_return retval
= new CTFParser
.structBody_return();
2835 retval
.start
= input
.LT(1);
2837 CommonTree root_0
= null;
2841 ParserRuleReturnScope structOrVariantDeclarationList65
=null;
2843 CommonTree LCURL64_tree
=null;
2844 CommonTree RCURL66_tree
=null;
2845 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
2846 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
2847 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
2850 Symbols_stack
.peek().types
= new HashSet
<String
>();
2853 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:3: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
2854 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:5: LCURL ( structOrVariantDeclarationList )? RCURL
2856 LCURL64
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_structBody1271
); if (state
.failed
) return retval
;
2857 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL64
);
2859 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:11: ( structOrVariantDeclarationList )?
2861 int LA18_0
= input
.LA(1);
2862 if ( (LA18_0
==BOOLTOK
||LA18_0
==CHARTOK
||(LA18_0
>= COMPLEXTOK
&& LA18_0
<= CONSTTOK
)||LA18_0
==DOUBLETOK
||LA18_0
==ENUMTOK
||(LA18_0
>= FLOATINGPOINTTOK
&& LA18_0
<= FLOATTOK
)||LA18_0
==IMAGINARYTOK
||LA18_0
==INTEGERTOK
||LA18_0
==INTTOK
||LA18_0
==LONGTOK
||LA18_0
==SHORTTOK
||LA18_0
==SIGNEDTOK
||LA18_0
==STRINGTOK
||LA18_0
==STRUCTTOK
||LA18_0
==TYPEDEFTOK
||(LA18_0
>= UNSIGNEDTOK
&& LA18_0
<= VOIDTOK
)) ) {
2865 else if ( (LA18_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
2868 else if ( (LA18_0
==TYPEALIASTOK
) ) {
2873 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:11: structOrVariantDeclarationList
2875 pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1273
);
2876 structOrVariantDeclarationList65
=structOrVariantDeclarationList();
2878 if (state
.failed
) return retval
;
2879 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList65
.getTree());
2885 RCURL66
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_structBody1276
); if (state
.failed
) return retval
;
2886 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL66
);
2889 // elements: structOrVariantDeclarationList
2891 // rule labels: retval
2892 // token list labels:
2893 // rule list labels:
2895 if ( state
.backtracking
==0 ) {
2896 retval
.tree
= root_0
;
2897 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2899 root_0
= (CommonTree
)adaptor
.nil();
2900 // 321:7: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
2902 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:10: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
2904 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2905 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_BODY
, "STRUCT_BODY"), root_1
);
2906 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:24: ( structOrVariantDeclarationList )?
2907 if ( stream_structOrVariantDeclarationList
.hasNext() ) {
2908 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
2910 stream_structOrVariantDeclarationList
.reset();
2912 adaptor
.addChild(root_0
, root_1
);
2918 retval
.tree
= root_0
;
2923 retval
.stop
= input
.LT(-1);
2925 if ( state
.backtracking
==0 ) {
2926 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2927 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2931 catch (RecognitionException e
) {
2936 // do for sure before leaving
2937 Symbols_stack
.pop();
2942 // $ANTLR end "structBody"
2945 public static class structSpecifier_return
extends ParserRuleReturnScope
{
2948 public CommonTree
getTree() { return tree
; }
2952 // $ANTLR start "structSpecifier"
2953 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:324:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
2954 public final CTFParser
.structSpecifier_return
structSpecifier() throws RecognitionException
{
2955 CTFParser
.structSpecifier_return retval
= new CTFParser
.structSpecifier_return();
2956 retval
.start
= input
.LT(1);
2958 CommonTree root_0
= null;
2960 Token STRUCTTOK67
=null;
2961 ParserRuleReturnScope structName68
=null;
2962 ParserRuleReturnScope alignAttribute69
=null;
2963 ParserRuleReturnScope structBody70
=null;
2964 ParserRuleReturnScope alignAttribute71
=null;
2965 ParserRuleReturnScope structBody72
=null;
2966 ParserRuleReturnScope alignAttribute73
=null;
2968 CommonTree STRUCTTOK67_tree
=null;
2969 RewriteRuleTokenStream stream_STRUCTTOK
=new RewriteRuleTokenStream(adaptor
,"token STRUCTTOK");
2970 RewriteRuleSubtreeStream stream_structName
=new RewriteRuleSubtreeStream(adaptor
,"rule structName");
2971 RewriteRuleSubtreeStream stream_structBody
=new RewriteRuleSubtreeStream(adaptor
,"rule structBody");
2972 RewriteRuleSubtreeStream stream_alignAttribute
=new RewriteRuleSubtreeStream(adaptor
,"rule alignAttribute");
2975 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:3: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
2976 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:5: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
2978 STRUCTTOK67
=(Token
)match(input
,STRUCTTOK
,FOLLOW_STRUCTTOK_in_structSpecifier1304
); if (state
.failed
) return retval
;
2979 if ( state
.backtracking
==0 ) stream_STRUCTTOK
.add(STRUCTTOK67
);
2981 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
2983 int LA22_0
= input
.LA(1);
2984 if ( (LA22_0
==IDENTIFIER
) ) {
2987 else if ( (LA22_0
==LCURL
) ) {
2992 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2993 NoViableAltException nvae
=
2994 new NoViableAltException("", 22, 0, input
);
3000 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:328:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
3002 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:328:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
3003 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:9: structName ( alignAttribute | ( structBody ( alignAttribute |) ) |)
3005 pushFollow(FOLLOW_structName_in_structSpecifier1329
);
3006 structName68
=structName();
3008 if (state
.failed
) return retval
;
3009 if ( state
.backtracking
==0 ) stream_structName
.add(structName68
.getTree());
3010 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:330:9: ( alignAttribute | ( structBody ( alignAttribute |) ) |)
3012 switch ( input
.LA(1) ) {
3020 switch ( input
.LA(2) ) {
3027 case FLOATINGPOINTTOK
:
3047 int LA20_5
= input
.LA(3);
3048 if ( (LA20_5
==BOOLTOK
||LA20_5
==CHARTOK
||(LA20_5
>= COMPLEXTOK
&& LA20_5
<= CONSTTOK
)||LA20_5
==DOUBLETOK
||LA20_5
==ENUMTOK
||(LA20_5
>= FLOATINGPOINTTOK
&& LA20_5
<= FLOATTOK
)||(LA20_5
>= IDENTIFIER
&& LA20_5
<= IMAGINARYTOK
)||LA20_5
==INTEGERTOK
||LA20_5
==INTTOK
||LA20_5
==LONGTOK
||LA20_5
==POINTER
||LA20_5
==SHORTTOK
||LA20_5
==SIGNEDTOK
||LA20_5
==STRINGTOK
||LA20_5
==STRUCTTOK
||LA20_5
==TYPEDEFTOK
||(LA20_5
>= UNSIGNEDTOK
&& LA20_5
<= VOIDTOK
)) ) {
3051 else if ( (LA20_5
==ASSIGNMENT
||LA20_5
==RCURL
||LA20_5
==SEPARATOR
) ) {
3056 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3057 int nvaeMark
= input
.mark();
3059 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3062 NoViableAltException nvae
=
3063 new NoViableAltException("", 20, 5, input
);
3066 input
.rewind(nvaeMark
);
3074 int LA20_6
= input
.LA(3);
3075 if ( (LA20_6
==BOOLTOK
||LA20_6
==CHARTOK
||(LA20_6
>= COMPLEXTOK
&& LA20_6
<= CONSTTOK
)||LA20_6
==DOUBLETOK
||LA20_6
==ENUMTOK
||(LA20_6
>= FLOATINGPOINTTOK
&& LA20_6
<= FLOATTOK
)||(LA20_6
>= IDENTIFIER
&& LA20_6
<= IMAGINARYTOK
)||LA20_6
==INTEGERTOK
||(LA20_6
>= INTTOK
&& LA20_6
<= LCURL
)||LA20_6
==LONGTOK
||LA20_6
==POINTER
||LA20_6
==SHORTTOK
||LA20_6
==SIGNEDTOK
||LA20_6
==STRINGTOK
||LA20_6
==STRUCTTOK
||LA20_6
==TYPEDEFTOK
||(LA20_6
>= UNSIGNEDTOK
&& LA20_6
<= VOIDTOK
)) ) {
3078 else if ( (LA20_6
==ASSIGNMENT
||LA20_6
==RCURL
||LA20_6
==SEPARATOR
) ) {
3083 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3084 int nvaeMark
= input
.mark();
3086 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3089 NoViableAltException nvae
=
3090 new NoViableAltException("", 20, 6, input
);
3093 input
.rewind(nvaeMark
);
3101 int LA20_7
= input
.LA(3);
3102 if ( (LA20_7
==BOOLTOK
||LA20_7
==CHARTOK
||(LA20_7
>= COMPLEXTOK
&& LA20_7
<= CONSTTOK
)||LA20_7
==DOUBLETOK
||LA20_7
==ENUMTOK
||(LA20_7
>= FLOATINGPOINTTOK
&& LA20_7
<= FLOATTOK
)||(LA20_7
>= IDENTIFIER
&& LA20_7
<= IMAGINARYTOK
)||LA20_7
==INTEGERTOK
||LA20_7
==INTTOK
||LA20_7
==LONGTOK
||LA20_7
==POINTER
||LA20_7
==SHORTTOK
||LA20_7
==SIGNEDTOK
||LA20_7
==STRINGTOK
||LA20_7
==STRUCTTOK
||LA20_7
==TYPEDEFTOK
||(LA20_7
>= UNSIGNEDTOK
&& LA20_7
<= VOIDTOK
)) ) {
3105 else if ( (LA20_7
==ASSIGNMENT
||LA20_7
==RCURL
||LA20_7
==SEPARATOR
) ) {
3110 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3111 int nvaeMark
= input
.mark();
3113 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3116 NoViableAltException nvae
=
3117 new NoViableAltException("", 20, 7, input
);
3120 input
.rewind(nvaeMark
);
3128 case STRING_LITERAL
:
3134 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3135 int nvaeMark
= input
.mark();
3138 NoViableAltException nvae
=
3139 new NoViableAltException("", 20, 2, input
);
3142 input
.rewind(nvaeMark
);
3154 case FLOATINGPOINTTOK
:
3169 case TYPE_ASSIGNMENT
:
3178 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3179 NoViableAltException nvae
=
3180 new NoViableAltException("", 20, 0, input
);
3185 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:331:11: alignAttribute
3187 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1351
);
3188 alignAttribute69
=alignAttribute();
3190 if (state
.failed
) return retval
;
3191 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute69
.getTree());
3195 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:333:11: ( structBody ( alignAttribute |) )
3197 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:333:11: ( structBody ( alignAttribute |) )
3198 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:13: structBody ( alignAttribute |)
3200 pushFollow(FOLLOW_structBody_in_structSpecifier1387
);
3201 structBody70
=structBody();
3203 if (state
.failed
) return retval
;
3204 if ( state
.backtracking
==0 ) stream_structBody
.add(structBody70
.getTree());
3205 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:335:13: ( alignAttribute |)
3207 int LA19_0
= input
.LA(1);
3208 if ( (LA19_0
==ALIGNTOK
) ) {
3211 else if ( (LA19_0
==EOF
||LA19_0
==BOOLTOK
||LA19_0
==CHARTOK
||(LA19_0
>= COMPLEXTOK
&& LA19_0
<= CONSTTOK
)||LA19_0
==DOUBLETOK
||LA19_0
==ENUMTOK
||(LA19_0
>= FLOATINGPOINTTOK
&& LA19_0
<= FLOATTOK
)||(LA19_0
>= IDENTIFIER
&& LA19_0
<= IMAGINARYTOK
)||LA19_0
==INTEGERTOK
||(LA19_0
>= INTTOK
&& LA19_0
<= LCURL
)||(LA19_0
>= LONGTOK
&& LA19_0
<= LPAREN
)||LA19_0
==POINTER
||LA19_0
==SHORTTOK
||LA19_0
==SIGNEDTOK
||LA19_0
==STRINGTOK
||(LA19_0
>= STRUCTTOK
&& LA19_0
<= TERM
)||(LA19_0
>= TYPEDEFTOK
&& LA19_0
<= TYPE_ASSIGNMENT
)||(LA19_0
>= UNSIGNEDTOK
&& LA19_0
<= VOIDTOK
)) ) {
3216 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3217 NoViableAltException nvae
=
3218 new NoViableAltException("", 19, 0, input
);
3224 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:336:14: alignAttribute
3226 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1418
);
3227 alignAttribute71
=alignAttribute();
3229 if (state
.failed
) return retval
;
3230 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute71
.getTree());
3234 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:339:13:
3246 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:343:9:
3258 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:347:5: ( structBody ( alignAttribute |) )
3260 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:347:5: ( structBody ( alignAttribute |) )
3261 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:7: structBody ( alignAttribute |)
3263 pushFollow(FOLLOW_structBody_in_structSpecifier1534
);
3264 structBody72
=structBody();
3266 if (state
.failed
) return retval
;
3267 if ( state
.backtracking
==0 ) stream_structBody
.add(structBody72
.getTree());
3268 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:349:7: ( alignAttribute |)
3270 int LA21_0
= input
.LA(1);
3271 if ( (LA21_0
==ALIGNTOK
) ) {
3274 else if ( (LA21_0
==EOF
||LA21_0
==BOOLTOK
||LA21_0
==CHARTOK
||(LA21_0
>= COMPLEXTOK
&& LA21_0
<= CONSTTOK
)||LA21_0
==DOUBLETOK
||LA21_0
==ENUMTOK
||(LA21_0
>= FLOATINGPOINTTOK
&& LA21_0
<= FLOATTOK
)||(LA21_0
>= IDENTIFIER
&& LA21_0
<= IMAGINARYTOK
)||LA21_0
==INTEGERTOK
||(LA21_0
>= INTTOK
&& LA21_0
<= LCURL
)||(LA21_0
>= LONGTOK
&& LA21_0
<= LPAREN
)||LA21_0
==POINTER
||LA21_0
==SHORTTOK
||LA21_0
==SIGNEDTOK
||LA21_0
==STRINGTOK
||(LA21_0
>= STRUCTTOK
&& LA21_0
<= TERM
)||(LA21_0
>= TYPEDEFTOK
&& LA21_0
<= TYPE_ASSIGNMENT
)||(LA21_0
>= UNSIGNEDTOK
&& LA21_0
<= VOIDTOK
)) ) {
3279 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3280 NoViableAltException nvae
=
3281 new NoViableAltException("", 21, 0, input
);
3287 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:350:9: alignAttribute
3289 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1552
);
3290 alignAttribute73
=alignAttribute();
3292 if (state
.failed
) return retval
;
3293 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute73
.getTree());
3297 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:353:7:
3312 // elements: structName, structBody, alignAttribute
3314 // rule labels: retval
3315 // token list labels:
3316 // rule list labels:
3318 if ( state
.backtracking
==0 ) {
3319 retval
.tree
= root_0
;
3320 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3322 root_0
= (CommonTree
)adaptor
.nil();
3323 // 355:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3325 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3327 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3328 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT
, "STRUCT"), root_1
);
3329 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:17: ( structName )?
3330 if ( stream_structName
.hasNext() ) {
3331 adaptor
.addChild(root_1
, stream_structName
.nextTree());
3333 stream_structName
.reset();
3335 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:29: ( structBody )?
3336 if ( stream_structBody
.hasNext() ) {
3337 adaptor
.addChild(root_1
, stream_structBody
.nextTree());
3339 stream_structBody
.reset();
3341 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:41: ( alignAttribute )?
3342 if ( stream_alignAttribute
.hasNext() ) {
3343 adaptor
.addChild(root_1
, stream_alignAttribute
.nextTree());
3345 stream_alignAttribute
.reset();
3347 adaptor
.addChild(root_0
, root_1
);
3353 retval
.tree
= root_0
;
3358 retval
.stop
= input
.LT(-1);
3360 if ( state
.backtracking
==0 ) {
3361 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3362 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3366 catch (RecognitionException e
) {
3371 // do for sure before leaving
3375 // $ANTLR end "structSpecifier"
3378 public static class structName_return
extends ParserRuleReturnScope
{
3381 public CommonTree
getTree() { return tree
; }
3385 // $ANTLR start "structName"
3386 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:358:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
3387 public final CTFParser
.structName_return
structName() throws RecognitionException
{
3388 CTFParser
.structName_return retval
= new CTFParser
.structName_return();
3389 retval
.start
= input
.LT(1);
3391 CommonTree root_0
= null;
3393 Token IDENTIFIER74
=null;
3395 CommonTree IDENTIFIER74_tree
=null;
3396 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
3399 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:3: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
3400 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:5: IDENTIFIER
3402 IDENTIFIER74
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_structName1618
); if (state
.failed
) return retval
;
3403 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER74
);
3406 // elements: IDENTIFIER
3408 // rule labels: retval
3409 // token list labels:
3410 // rule list labels:
3412 if ( state
.backtracking
==0 ) {
3413 retval
.tree
= root_0
;
3414 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3416 root_0
= (CommonTree
)adaptor
.nil();
3417 // 359:16: -> ^( STRUCT_NAME IDENTIFIER )
3419 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:19: ^( STRUCT_NAME IDENTIFIER )
3421 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3422 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_NAME
, "STRUCT_NAME"), root_1
);
3423 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
3424 adaptor
.addChild(root_0
, root_1
);
3430 retval
.tree
= root_0
;
3435 retval
.stop
= input
.LT(-1);
3437 if ( state
.backtracking
==0 ) {
3438 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3439 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3443 catch (RecognitionException e
) {
3448 // do for sure before leaving
3452 // $ANTLR end "structName"
3455 public static class structOrVariantDeclarationList_return
extends ParserRuleReturnScope
{
3458 public CommonTree
getTree() { return tree
; }
3462 // $ANTLR start "structOrVariantDeclarationList"
3463 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:362:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
3464 public final CTFParser
.structOrVariantDeclarationList_return
structOrVariantDeclarationList() throws RecognitionException
{
3465 CTFParser
.structOrVariantDeclarationList_return retval
= new CTFParser
.structOrVariantDeclarationList_return();
3466 retval
.start
= input
.LT(1);
3468 CommonTree root_0
= null;
3470 ParserRuleReturnScope structOrVariantDeclaration75
=null;
3474 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:3: ( ( structOrVariantDeclaration )+ )
3475 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: ( structOrVariantDeclaration )+
3477 root_0
= (CommonTree
)adaptor
.nil();
3480 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: ( structOrVariantDeclaration )+
3485 int LA23_0
= input
.LA(1);
3486 if ( (LA23_0
==BOOLTOK
||LA23_0
==CHARTOK
||(LA23_0
>= COMPLEXTOK
&& LA23_0
<= CONSTTOK
)||LA23_0
==DOUBLETOK
||LA23_0
==ENUMTOK
||(LA23_0
>= FLOATINGPOINTTOK
&& LA23_0
<= FLOATTOK
)||LA23_0
==IMAGINARYTOK
||LA23_0
==INTEGERTOK
||LA23_0
==INTTOK
||LA23_0
==LONGTOK
||LA23_0
==SHORTTOK
||LA23_0
==SIGNEDTOK
||LA23_0
==STRINGTOK
||LA23_0
==STRUCTTOK
||LA23_0
==TYPEDEFTOK
||(LA23_0
>= UNSIGNEDTOK
&& LA23_0
<= VOIDTOK
)) ) {
3489 else if ( (LA23_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3492 else if ( (LA23_0
==TYPEALIASTOK
) ) {
3498 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: structOrVariantDeclaration
3500 pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1639
);
3501 structOrVariantDeclaration75
=structOrVariantDeclaration();
3503 if (state
.failed
) return retval
;
3504 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, structOrVariantDeclaration75
.getTree());
3510 if ( cnt23
>= 1 ) break loop23
;
3511 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3512 EarlyExitException eee
= new EarlyExitException(23, input
);
3520 retval
.stop
= input
.LT(-1);
3522 if ( state
.backtracking
==0 ) {
3523 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3524 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3528 catch (RecognitionException e
) {
3533 // do for sure before leaving
3537 // $ANTLR end "structOrVariantDeclarationList"
3540 public static class structOrVariantDeclaration_return
extends ParserRuleReturnScope
{
3543 public CommonTree
getTree() { return tree
; }
3547 // $ANTLR start "structOrVariantDeclaration"
3548 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:366:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
3549 public final CTFParser
.structOrVariantDeclaration_return
structOrVariantDeclaration() throws RecognitionException
{
3550 CTFParser
.structOrVariantDeclaration_return retval
= new CTFParser
.structOrVariantDeclaration_return();
3551 retval
.start
= input
.LT(1);
3553 CommonTree root_0
= null;
3556 ParserRuleReturnScope declarationSpecifiers76
=null;
3557 ParserRuleReturnScope declaratorList77
=null;
3558 ParserRuleReturnScope structOrVariantDeclaratorList78
=null;
3559 ParserRuleReturnScope typealiasDecl79
=null;
3561 CommonTree TERM80_tree
=null;
3562 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
3563 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
3564 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
3565 RewriteRuleSubtreeStream stream_structOrVariantDeclaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclaratorList");
3566 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
3569 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:367:3: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
3570 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
3572 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
3574 int LA25_0
= input
.LA(1);
3575 if ( (LA25_0
==BOOLTOK
||LA25_0
==CHARTOK
||(LA25_0
>= COMPLEXTOK
&& LA25_0
<= CONSTTOK
)||LA25_0
==DOUBLETOK
||LA25_0
==ENUMTOK
||(LA25_0
>= FLOATINGPOINTTOK
&& LA25_0
<= FLOATTOK
)||LA25_0
==IMAGINARYTOK
||LA25_0
==INTEGERTOK
||LA25_0
==INTTOK
||LA25_0
==LONGTOK
||LA25_0
==SHORTTOK
||LA25_0
==SIGNEDTOK
||LA25_0
==STRINGTOK
||LA25_0
==STRUCTTOK
||LA25_0
==TYPEDEFTOK
||(LA25_0
>= UNSIGNEDTOK
&& LA25_0
<= VOIDTOK
)) ) {
3578 else if ( (LA25_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3581 else if ( (LA25_0
==TYPEALIASTOK
) ) {
3586 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3587 NoViableAltException nvae
=
3588 new NoViableAltException("", 25, 0, input
);
3594 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
3596 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
3597 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:8: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
3599 pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1672
);
3600 declarationSpecifiers76
=declarationSpecifiers();
3602 if (state
.failed
) return retval
;
3603 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers76
.getTree());
3604 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:371:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
3606 alt24
= dfa24
.predict(input
);
3609 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:373:12: {...}? => declaratorList
3611 if ( !((inTypedef())) ) {
3612 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3613 throw new FailedPredicateException(input
, "structOrVariantDeclaration", "inTypedef()");
3615 pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1713
);
3616 declaratorList77
=declaratorList();
3618 if (state
.failed
) return retval
;
3619 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList77
.getTree());
3621 // elements: declaratorList, declarationSpecifiers
3623 // rule labels: retval
3624 // token list labels:
3625 // rule list labels:
3627 if ( state
.backtracking
==0 ) {
3628 retval
.tree
= root_0
;
3629 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3631 root_0
= (CommonTree
)adaptor
.nil();
3632 // 374:14: -> ^( TYPEDEF declaratorList declarationSpecifiers )
3634 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:374:17: ^( TYPEDEF declaratorList declarationSpecifiers )
3636 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3637 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
3638 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
3639 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
3640 adaptor
.addChild(root_0
, root_1
);
3646 retval
.tree
= root_0
;
3652 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:375:14: structOrVariantDeclaratorList
3654 pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1751
);
3655 structOrVariantDeclaratorList78
=structOrVariantDeclaratorList();
3657 if (state
.failed
) return retval
;
3658 if ( state
.backtracking
==0 ) stream_structOrVariantDeclaratorList
.add(structOrVariantDeclaratorList78
.getTree());
3660 // elements: declarationSpecifiers, structOrVariantDeclaratorList
3662 // rule labels: retval
3663 // token list labels:
3664 // rule list labels:
3666 if ( state
.backtracking
==0 ) {
3667 retval
.tree
= root_0
;
3668 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3670 root_0
= (CommonTree
)adaptor
.nil();
3671 // 376:14: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
3673 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:376:17: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
3675 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3676 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(SV_DECLARATION
, "SV_DECLARATION"), root_1
);
3677 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
3678 adaptor
.addChild(root_1
, stream_structOrVariantDeclaratorList
.nextTree());
3679 adaptor
.addChild(root_0
, root_1
);
3685 retval
.tree
= root_0
;
3698 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:381:5: typealiasDecl
3700 pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1810
);
3701 typealiasDecl79
=typealiasDecl();
3703 if (state
.failed
) return retval
;
3704 if ( state
.backtracking
==0 ) stream_typealiasDecl
.add(typealiasDecl79
.getTree());
3706 // elements: typealiasDecl
3708 // rule labels: retval
3709 // token list labels:
3710 // rule list labels:
3712 if ( state
.backtracking
==0 ) {
3713 retval
.tree
= root_0
;
3714 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3716 root_0
= (CommonTree
)adaptor
.nil();
3717 // 381:19: -> typealiasDecl
3719 adaptor
.addChild(root_0
, stream_typealiasDecl
.nextTree());
3723 retval
.tree
= root_0
;
3731 TERM80
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_structOrVariantDeclaration1822
); if (state
.failed
) return retval
;
3732 if ( state
.backtracking
==0 ) stream_TERM
.add(TERM80
);
3736 retval
.stop
= input
.LT(-1);
3738 if ( state
.backtracking
==0 ) {
3739 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3740 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3744 catch (RecognitionException e
) {
3749 // do for sure before leaving
3753 // $ANTLR end "structOrVariantDeclaration"
3756 public static class specifierQualifierList_return
extends ParserRuleReturnScope
{
3759 public CommonTree
getTree() { return tree
; }
3763 // $ANTLR start "specifierQualifierList"
3764 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:386:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
3765 public final CTFParser
.specifierQualifierList_return
specifierQualifierList() throws RecognitionException
{
3766 CTFParser
.specifierQualifierList_return retval
= new CTFParser
.specifierQualifierList_return();
3767 retval
.start
= input
.LT(1);
3769 CommonTree root_0
= null;
3771 ParserRuleReturnScope typeQualifier81
=null;
3772 ParserRuleReturnScope typeSpecifier82
=null;
3774 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
3775 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
3778 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:3: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
3779 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:5: ( typeQualifier | typeSpecifier )+
3781 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:5: ( typeQualifier | typeSpecifier )+
3786 int LA26_0
= input
.LA(1);
3787 if ( (LA26_0
==CONSTTOK
) ) {
3790 else if ( (LA26_0
==BOOLTOK
||LA26_0
==CHARTOK
||LA26_0
==COMPLEXTOK
||LA26_0
==DOUBLETOK
||LA26_0
==ENUMTOK
||(LA26_0
>= FLOATINGPOINTTOK
&& LA26_0
<= FLOATTOK
)||LA26_0
==IMAGINARYTOK
||LA26_0
==INTEGERTOK
||LA26_0
==INTTOK
||LA26_0
==LONGTOK
||LA26_0
==SHORTTOK
||LA26_0
==SIGNEDTOK
||LA26_0
==STRINGTOK
||LA26_0
==STRUCTTOK
||(LA26_0
>= UNSIGNEDTOK
&& LA26_0
<= VOIDTOK
)) ) {
3793 else if ( (LA26_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3799 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:6: typeQualifier
3801 pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1836
);
3802 typeQualifier81
=typeQualifier();
3804 if (state
.failed
) return retval
;
3805 if ( state
.backtracking
==0 ) stream_typeQualifier
.add(typeQualifier81
.getTree());
3809 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:22: typeSpecifier
3811 pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1840
);
3812 typeSpecifier82
=typeSpecifier();
3814 if (state
.failed
) return retval
;
3815 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(typeSpecifier82
.getTree());
3820 if ( cnt26
>= 1 ) break loop26
;
3821 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3822 EarlyExitException eee
= new EarlyExitException(26, input
);
3829 // elements: typeQualifier, typeSpecifier
3831 // rule labels: retval
3832 // token list labels:
3833 // rule list labels:
3835 if ( state
.backtracking
==0 ) {
3836 retval
.tree
= root_0
;
3837 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3839 root_0
= (CommonTree
)adaptor
.nil();
3840 // 388:7: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
3842 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:10: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
3844 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3845 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
3846 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:32: ( typeQualifier )*
3847 while ( stream_typeQualifier
.hasNext() ) {
3848 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
3850 stream_typeQualifier
.reset();
3852 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:47: ( typeSpecifier )*
3853 while ( stream_typeSpecifier
.hasNext() ) {
3854 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
3856 stream_typeSpecifier
.reset();
3858 adaptor
.addChild(root_0
, root_1
);
3864 retval
.tree
= root_0
;
3869 retval
.stop
= input
.LT(-1);
3871 if ( state
.backtracking
==0 ) {
3872 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3873 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3877 catch (RecognitionException e
) {
3882 // do for sure before leaving
3886 // $ANTLR end "specifierQualifierList"
3889 public static class structOrVariantDeclaratorList_return
extends ParserRuleReturnScope
{
3892 public CommonTree
getTree() { return tree
; }
3896 // $ANTLR start "structOrVariantDeclaratorList"
3897 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:391:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
3898 public final CTFParser
.structOrVariantDeclaratorList_return
structOrVariantDeclaratorList() throws RecognitionException
{
3899 CTFParser
.structOrVariantDeclaratorList_return retval
= new CTFParser
.structOrVariantDeclaratorList_return();
3900 retval
.start
= input
.LT(1);
3902 CommonTree root_0
= null;
3904 Token SEPARATOR84
=null;
3905 ParserRuleReturnScope structOrVariantDeclarator83
=null;
3906 ParserRuleReturnScope structOrVariantDeclarator85
=null;
3908 CommonTree SEPARATOR84_tree
=null;
3909 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
3910 RewriteRuleSubtreeStream stream_structOrVariantDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarator");
3913 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:3: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
3914 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:5: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
3916 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1873
);
3917 structOrVariantDeclarator83
=structOrVariantDeclarator();
3919 if (state
.failed
) return retval
;
3920 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarator
.add(structOrVariantDeclarator83
.getTree());
3921 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:31: ( SEPARATOR structOrVariantDeclarator )*
3925 int LA27_0
= input
.LA(1);
3926 if ( (LA27_0
==SEPARATOR
) ) {
3932 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:32: SEPARATOR structOrVariantDeclarator
3934 SEPARATOR84
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1876
); if (state
.failed
) return retval
;
3935 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR84
);
3937 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1878
);
3938 structOrVariantDeclarator85
=structOrVariantDeclarator();
3940 if (state
.failed
) return retval
;
3941 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarator
.add(structOrVariantDeclarator85
.getTree());
3951 // elements: structOrVariantDeclarator
3953 // rule labels: retval
3954 // token list labels:
3955 // rule list labels:
3957 if ( state
.backtracking
==0 ) {
3958 retval
.tree
= root_0
;
3959 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3961 root_0
= (CommonTree
)adaptor
.nil();
3962 // 393:7: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
3964 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:10: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
3966 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3967 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
3968 if ( !(stream_structOrVariantDeclarator
.hasNext()) ) {
3969 throw new RewriteEarlyExitException();
3971 while ( stream_structOrVariantDeclarator
.hasNext() ) {
3972 adaptor
.addChild(root_1
, stream_structOrVariantDeclarator
.nextTree());
3974 stream_structOrVariantDeclarator
.reset();
3976 adaptor
.addChild(root_0
, root_1
);
3982 retval
.tree
= root_0
;
3987 retval
.stop
= input
.LT(-1);
3989 if ( state
.backtracking
==0 ) {
3990 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3991 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3995 catch (RecognitionException e
) {
4000 // do for sure before leaving
4004 // $ANTLR end "structOrVariantDeclaratorList"
4007 public static class structOrVariantDeclarator_return
extends ParserRuleReturnScope
{
4010 public CommonTree
getTree() { return tree
; }
4014 // $ANTLR start "structOrVariantDeclarator"
4015 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:396:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
4016 public final CTFParser
.structOrVariantDeclarator_return
structOrVariantDeclarator() throws RecognitionException
{
4017 CTFParser
.structOrVariantDeclarator_return retval
= new CTFParser
.structOrVariantDeclarator_return();
4018 retval
.start
= input
.LT(1);
4020 CommonTree root_0
= null;
4023 ParserRuleReturnScope declarator86
=null;
4024 ParserRuleReturnScope numberLiteral88
=null;
4026 CommonTree COLON87_tree
=null;
4027 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
4028 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
4029 RewriteRuleSubtreeStream stream_numberLiteral
=new RewriteRuleSubtreeStream(adaptor
,"rule numberLiteral");
4032 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:397:3: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
4033 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:5: ( declarator ( COLON numberLiteral )? )
4035 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:5: ( declarator ( COLON numberLiteral )? )
4036 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:6: declarator ( COLON numberLiteral )?
4038 pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1917
);
4039 declarator86
=declarator();
4041 if (state
.failed
) return retval
;
4042 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator86
.getTree());
4043 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:17: ( COLON numberLiteral )?
4045 int LA28_0
= input
.LA(1);
4046 if ( (LA28_0
==COLON
) ) {
4051 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:18: COLON numberLiteral
4053 COLON87
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_structOrVariantDeclarator1920
); if (state
.failed
) return retval
;
4054 if ( state
.backtracking
==0 ) stream_COLON
.add(COLON87
);
4056 pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1922
);
4057 numberLiteral88
=numberLiteral();
4059 if (state
.failed
) return retval
;
4060 if ( state
.backtracking
==0 ) stream_numberLiteral
.add(numberLiteral88
.getTree());
4069 // elements: declarator
4071 // rule labels: retval
4072 // token list labels:
4073 // rule list labels:
4075 if ( state
.backtracking
==0 ) {
4076 retval
.tree
= root_0
;
4077 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4079 root_0
= (CommonTree
)adaptor
.nil();
4080 // 399:41: -> declarator
4082 adaptor
.addChild(root_0
, stream_declarator
.nextTree());
4086 retval
.tree
= root_0
;
4091 retval
.stop
= input
.LT(-1);
4093 if ( state
.backtracking
==0 ) {
4094 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4095 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4099 catch (RecognitionException e
) {
4104 // do for sure before leaving
4108 // $ANTLR end "structOrVariantDeclarator"
4111 public static class variantSpecifier_return
extends ParserRuleReturnScope
{
4114 public CommonTree
getTree() { return tree
; }
4118 // $ANTLR start "variantSpecifier"
4119 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:403:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
4120 public final CTFParser
.variantSpecifier_return
variantSpecifier() throws RecognitionException
{
4121 CTFParser
.variantSpecifier_return retval
= new CTFParser
.variantSpecifier_return();
4122 retval
.start
= input
.LT(1);
4124 CommonTree root_0
= null;
4126 Token VARIANTTOK89
=null;
4127 ParserRuleReturnScope variantName90
=null;
4128 ParserRuleReturnScope variantTag91
=null;
4129 ParserRuleReturnScope variantBody92
=null;
4130 ParserRuleReturnScope variantBody93
=null;
4131 ParserRuleReturnScope variantTag94
=null;
4132 ParserRuleReturnScope variantBody95
=null;
4133 ParserRuleReturnScope variantBody96
=null;
4135 CommonTree VARIANTTOK89_tree
=null;
4136 RewriteRuleTokenStream stream_VARIANTTOK
=new RewriteRuleTokenStream(adaptor
,"token VARIANTTOK");
4137 RewriteRuleSubtreeStream stream_variantBody
=new RewriteRuleSubtreeStream(adaptor
,"rule variantBody");
4138 RewriteRuleSubtreeStream stream_variantTag
=new RewriteRuleSubtreeStream(adaptor
,"rule variantTag");
4139 RewriteRuleSubtreeStream stream_variantName
=new RewriteRuleSubtreeStream(adaptor
,"rule variantName");
4142 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:3: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
4143 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:5: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4145 VARIANTTOK89
=(Token
)match(input
,VARIANTTOK
,FOLLOW_VARIANTTOK_in_variantSpecifier1946
); if (state
.failed
) return retval
;
4146 if ( state
.backtracking
==0 ) stream_VARIANTTOK
.add(VARIANTTOK89
);
4148 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:3: ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4150 switch ( input
.LA(1) ) {
4167 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4168 NoViableAltException nvae
=
4169 new NoViableAltException("", 31, 0, input
);
4174 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
4176 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
4177 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:7: variantName ( ( variantTag ( variantBody |) ) | variantBody )
4179 pushFollow(FOLLOW_variantName_in_variantSpecifier1964
);
4180 variantName90
=variantName();
4182 if (state
.failed
) return retval
;
4183 if ( state
.backtracking
==0 ) stream_variantName
.add(variantName90
.getTree());
4184 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:408:7: ( ( variantTag ( variantBody |) ) | variantBody )
4186 int LA30_0
= input
.LA(1);
4187 if ( (LA30_0
==LT
) ) {
4190 else if ( (LA30_0
==LCURL
) ) {
4195 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4196 NoViableAltException nvae
=
4197 new NoViableAltException("", 30, 0, input
);
4203 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:9: ( variantTag ( variantBody |) )
4205 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:9: ( variantTag ( variantBody |) )
4206 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:11: variantTag ( variantBody |)
4208 pushFollow(FOLLOW_variantTag_in_variantSpecifier1994
);
4209 variantTag91
=variantTag();
4211 if (state
.failed
) return retval
;
4212 if ( state
.backtracking
==0 ) stream_variantTag
.add(variantTag91
.getTree());
4213 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:411:11: ( variantBody |)
4215 int LA29_0
= input
.LA(1);
4216 if ( (LA29_0
==LCURL
) ) {
4217 switch ( input
.LA(2) ) {
4224 case FLOATINGPOINTTOK
:
4243 int LA29_4
= input
.LA(3);
4244 if ( (LA29_4
==BOOLTOK
||LA29_4
==CHARTOK
||(LA29_4
>= COMPLEXTOK
&& LA29_4
<= CONSTTOK
)||LA29_4
==DOUBLETOK
||LA29_4
==ENUMTOK
||(LA29_4
>= FLOATINGPOINTTOK
&& LA29_4
<= FLOATTOK
)||(LA29_4
>= IDENTIFIER
&& LA29_4
<= IMAGINARYTOK
)||LA29_4
==INTEGERTOK
||LA29_4
==INTTOK
||LA29_4
==LONGTOK
||LA29_4
==POINTER
||LA29_4
==SHORTTOK
||LA29_4
==SIGNEDTOK
||LA29_4
==STRINGTOK
||LA29_4
==STRUCTTOK
||LA29_4
==TYPEDEFTOK
||(LA29_4
>= UNSIGNEDTOK
&& LA29_4
<= VOIDTOK
)) ) {
4247 else if ( (LA29_4
==ASSIGNMENT
||LA29_4
==RCURL
||LA29_4
==SEPARATOR
) ) {
4252 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4253 int nvaeMark
= input
.mark();
4255 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4258 NoViableAltException nvae
=
4259 new NoViableAltException("", 29, 4, input
);
4262 input
.rewind(nvaeMark
);
4270 int LA29_5
= input
.LA(3);
4271 if ( (LA29_5
==BOOLTOK
||LA29_5
==CHARTOK
||(LA29_5
>= COMPLEXTOK
&& LA29_5
<= CONSTTOK
)||LA29_5
==DOUBLETOK
||LA29_5
==ENUMTOK
||(LA29_5
>= FLOATINGPOINTTOK
&& LA29_5
<= FLOATTOK
)||(LA29_5
>= IDENTIFIER
&& LA29_5
<= IMAGINARYTOK
)||LA29_5
==INTEGERTOK
||(LA29_5
>= INTTOK
&& LA29_5
<= LCURL
)||LA29_5
==LONGTOK
||LA29_5
==POINTER
||LA29_5
==SHORTTOK
||LA29_5
==SIGNEDTOK
||LA29_5
==STRINGTOK
||LA29_5
==STRUCTTOK
||LA29_5
==TYPEDEFTOK
||(LA29_5
>= UNSIGNEDTOK
&& LA29_5
<= VOIDTOK
)) ) {
4274 else if ( (LA29_5
==ASSIGNMENT
||LA29_5
==RCURL
||LA29_5
==SEPARATOR
) ) {
4279 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4280 int nvaeMark
= input
.mark();
4282 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4285 NoViableAltException nvae
=
4286 new NoViableAltException("", 29, 5, input
);
4289 input
.rewind(nvaeMark
);
4297 int LA29_6
= input
.LA(3);
4298 if ( (LA29_6
==BOOLTOK
||LA29_6
==CHARTOK
||(LA29_6
>= COMPLEXTOK
&& LA29_6
<= CONSTTOK
)||LA29_6
==DOUBLETOK
||LA29_6
==ENUMTOK
||(LA29_6
>= FLOATINGPOINTTOK
&& LA29_6
<= FLOATTOK
)||(LA29_6
>= IDENTIFIER
&& LA29_6
<= IMAGINARYTOK
)||LA29_6
==INTEGERTOK
||LA29_6
==INTTOK
||LA29_6
==LONGTOK
||LA29_6
==POINTER
||LA29_6
==SHORTTOK
||LA29_6
==SIGNEDTOK
||LA29_6
==STRINGTOK
||LA29_6
==STRUCTTOK
||LA29_6
==TYPEDEFTOK
||(LA29_6
>= UNSIGNEDTOK
&& LA29_6
<= VOIDTOK
)) ) {
4301 else if ( (LA29_6
==ASSIGNMENT
||LA29_6
==RCURL
||LA29_6
==SEPARATOR
) ) {
4306 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4307 int nvaeMark
= input
.mark();
4309 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4312 NoViableAltException nvae
=
4313 new NoViableAltException("", 29, 6, input
);
4316 input
.rewind(nvaeMark
);
4324 case STRING_LITERAL
:
4330 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4331 int nvaeMark
= input
.mark();
4334 NoViableAltException nvae
=
4335 new NoViableAltException("", 29, 1, input
);
4338 input
.rewind(nvaeMark
);
4342 else if ( (LA29_0
==EOF
||LA29_0
==BOOLTOK
||LA29_0
==CHARTOK
||(LA29_0
>= COMPLEXTOK
&& LA29_0
<= CONSTTOK
)||LA29_0
==DOUBLETOK
||LA29_0
==ENUMTOK
||(LA29_0
>= FLOATINGPOINTTOK
&& LA29_0
<= FLOATTOK
)||(LA29_0
>= IDENTIFIER
&& LA29_0
<= IMAGINARYTOK
)||LA29_0
==INTEGERTOK
||LA29_0
==INTTOK
||(LA29_0
>= LONGTOK
&& LA29_0
<= LPAREN
)||LA29_0
==POINTER
||LA29_0
==SHORTTOK
||LA29_0
==SIGNEDTOK
||LA29_0
==STRINGTOK
||(LA29_0
>= STRUCTTOK
&& LA29_0
<= TERM
)||(LA29_0
>= TYPEDEFTOK
&& LA29_0
<= TYPE_ASSIGNMENT
)||(LA29_0
>= UNSIGNEDTOK
&& LA29_0
<= VOIDTOK
)) ) {
4347 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4348 NoViableAltException nvae
=
4349 new NoViableAltException("", 29, 0, input
);
4355 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:412:13: variantBody
4357 pushFollow(FOLLOW_variantBody_in_variantSpecifier2020
);
4358 variantBody92
=variantBody();
4360 if (state
.failed
) return retval
;
4361 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody92
.getTree());
4365 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:415:11:
4377 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:418:9: variantBody
4379 pushFollow(FOLLOW_variantBody_in_variantSpecifier2088
);
4380 variantBody93
=variantBody();
4382 if (state
.failed
) return retval
;
4383 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody93
.getTree());
4394 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:5: ( variantTag variantBody )
4396 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:5: ( variantTag variantBody )
4397 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:6: variantTag variantBody
4399 pushFollow(FOLLOW_variantTag_in_variantSpecifier2109
);
4400 variantTag94
=variantTag();
4402 if (state
.failed
) return retval
;
4403 if ( state
.backtracking
==0 ) stream_variantTag
.add(variantTag94
.getTree());
4404 pushFollow(FOLLOW_variantBody_in_variantSpecifier2111
);
4405 variantBody95
=variantBody();
4407 if (state
.failed
) return retval
;
4408 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody95
.getTree());
4414 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: variantBody
4416 pushFollow(FOLLOW_variantBody_in_variantSpecifier2118
);
4417 variantBody96
=variantBody();
4419 if (state
.failed
) return retval
;
4420 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody96
.getTree());
4427 // elements: variantTag, variantBody, variantName
4429 // rule labels: retval
4430 // token list labels:
4431 // rule list labels:
4433 if ( state
.backtracking
==0 ) {
4434 retval
.tree
= root_0
;
4435 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4437 root_0
= (CommonTree
)adaptor
.nil();
4438 // 423:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
4440 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
4442 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4443 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT
, "VARIANT"), root_1
);
4444 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:18: ( variantName )?
4445 if ( stream_variantName
.hasNext() ) {
4446 adaptor
.addChild(root_1
, stream_variantName
.nextTree());
4448 stream_variantName
.reset();
4450 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:31: ( variantTag )?
4451 if ( stream_variantTag
.hasNext() ) {
4452 adaptor
.addChild(root_1
, stream_variantTag
.nextTree());
4454 stream_variantTag
.reset();
4456 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:43: ( variantBody )?
4457 if ( stream_variantBody
.hasNext() ) {
4458 adaptor
.addChild(root_1
, stream_variantBody
.nextTree());
4460 stream_variantBody
.reset();
4462 adaptor
.addChild(root_0
, root_1
);
4468 retval
.tree
= root_0
;
4473 retval
.stop
= input
.LT(-1);
4475 if ( state
.backtracking
==0 ) {
4476 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4477 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4481 catch (RecognitionException e
) {
4486 // do for sure before leaving
4490 // $ANTLR end "variantSpecifier"
4493 public static class variantName_return
extends ParserRuleReturnScope
{
4496 public CommonTree
getTree() { return tree
; }
4500 // $ANTLR start "variantName"
4501 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:426:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
4502 public final CTFParser
.variantName_return
variantName() throws RecognitionException
{
4503 CTFParser
.variantName_return retval
= new CTFParser
.variantName_return();
4504 retval
.start
= input
.LT(1);
4506 CommonTree root_0
= null;
4508 Token IDENTIFIER97
=null;
4510 CommonTree IDENTIFIER97_tree
=null;
4511 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
4514 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:3: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
4515 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:5: IDENTIFIER
4517 IDENTIFIER97
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantName2150
); if (state
.failed
) return retval
;
4518 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER97
);
4521 // elements: IDENTIFIER
4523 // rule labels: retval
4524 // token list labels:
4525 // rule list labels:
4527 if ( state
.backtracking
==0 ) {
4528 retval
.tree
= root_0
;
4529 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4531 root_0
= (CommonTree
)adaptor
.nil();
4532 // 427:16: -> ^( VARIANT_NAME IDENTIFIER )
4534 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:19: ^( VARIANT_NAME IDENTIFIER )
4536 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4537 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_NAME
, "VARIANT_NAME"), root_1
);
4538 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
4539 adaptor
.addChild(root_0
, root_1
);
4545 retval
.tree
= root_0
;
4550 retval
.stop
= input
.LT(-1);
4552 if ( state
.backtracking
==0 ) {
4553 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4554 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4558 catch (RecognitionException e
) {
4563 // do for sure before leaving
4567 // $ANTLR end "variantName"
4570 public static class variantBody_return
extends ParserRuleReturnScope
{
4573 public CommonTree
getTree() { return tree
; }
4577 // $ANTLR start "variantBody"
4578 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:430:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
4579 public final CTFParser
.variantBody_return
variantBody() throws RecognitionException
{
4580 Symbols_stack
.push(new Symbols_scope());
4582 CTFParser
.variantBody_return retval
= new CTFParser
.variantBody_return();
4583 retval
.start
= input
.LT(1);
4585 CommonTree root_0
= null;
4588 Token RCURL100
=null;
4589 ParserRuleReturnScope structOrVariantDeclarationList99
=null;
4591 CommonTree LCURL98_tree
=null;
4592 CommonTree RCURL100_tree
=null;
4593 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
4594 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
4595 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
4598 Symbols_stack
.peek().types
= new HashSet
<String
>();
4601 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:435:3: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
4602 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:435:5: LCURL structOrVariantDeclarationList RCURL
4604 LCURL98
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_variantBody2181
); if (state
.failed
) return retval
;
4605 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL98
);
4607 pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2183
);
4608 structOrVariantDeclarationList99
=structOrVariantDeclarationList();
4610 if (state
.failed
) return retval
;
4611 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList99
.getTree());
4612 RCURL100
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_variantBody2185
); if (state
.failed
) return retval
;
4613 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL100
);
4616 // elements: structOrVariantDeclarationList
4618 // rule labels: retval
4619 // token list labels:
4620 // rule list labels:
4622 if ( state
.backtracking
==0 ) {
4623 retval
.tree
= root_0
;
4624 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4626 root_0
= (CommonTree
)adaptor
.nil();
4627 // 436:7: -> ^( VARIANT_BODY structOrVariantDeclarationList )
4629 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:10: ^( VARIANT_BODY structOrVariantDeclarationList )
4631 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4632 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_BODY
, "VARIANT_BODY"), root_1
);
4633 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
4634 adaptor
.addChild(root_0
, root_1
);
4640 retval
.tree
= root_0
;
4645 retval
.stop
= input
.LT(-1);
4647 if ( state
.backtracking
==0 ) {
4648 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4649 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4653 catch (RecognitionException e
) {
4658 // do for sure before leaving
4659 Symbols_stack
.pop();
4664 // $ANTLR end "variantBody"
4667 public static class variantTag_return
extends ParserRuleReturnScope
{
4670 public CommonTree
getTree() { return tree
; }
4674 // $ANTLR start "variantTag"
4675 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:439:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
4676 public final CTFParser
.variantTag_return
variantTag() throws RecognitionException
{
4677 CTFParser
.variantTag_return retval
= new CTFParser
.variantTag_return();
4678 retval
.start
= input
.LT(1);
4680 CommonTree root_0
= null;
4683 Token IDENTIFIER102
=null;
4686 CommonTree LT101_tree
=null;
4687 CommonTree IDENTIFIER102_tree
=null;
4688 CommonTree GT103_tree
=null;
4689 RewriteRuleTokenStream stream_LT
=new RewriteRuleTokenStream(adaptor
,"token LT");
4690 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
4691 RewriteRuleTokenStream stream_GT
=new RewriteRuleTokenStream(adaptor
,"token GT");
4694 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:3: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
4695 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:5: LT IDENTIFIER GT
4697 LT101
=(Token
)match(input
,LT
,FOLLOW_LT_in_variantTag2212
); if (state
.failed
) return retval
;
4698 if ( state
.backtracking
==0 ) stream_LT
.add(LT101
);
4700 IDENTIFIER102
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantTag2214
); if (state
.failed
) return retval
;
4701 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER102
);
4703 GT103
=(Token
)match(input
,GT
,FOLLOW_GT_in_variantTag2216
); if (state
.failed
) return retval
;
4704 if ( state
.backtracking
==0 ) stream_GT
.add(GT103
);
4707 // elements: IDENTIFIER
4709 // rule labels: retval
4710 // token list labels:
4711 // rule list labels:
4713 if ( state
.backtracking
==0 ) {
4714 retval
.tree
= root_0
;
4715 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4717 root_0
= (CommonTree
)adaptor
.nil();
4718 // 440:22: -> ^( VARIANT_TAG IDENTIFIER )
4720 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:25: ^( VARIANT_TAG IDENTIFIER )
4722 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4723 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_TAG
, "VARIANT_TAG"), root_1
);
4724 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
4725 adaptor
.addChild(root_0
, root_1
);
4731 retval
.tree
= root_0
;
4736 retval
.stop
= input
.LT(-1);
4738 if ( state
.backtracking
==0 ) {
4739 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4740 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4744 catch (RecognitionException e
) {
4749 // do for sure before leaving
4753 // $ANTLR end "variantTag"
4756 public static class enumSpecifier_return
extends ParserRuleReturnScope
{
4759 public CommonTree
getTree() { return tree
; }
4763 // $ANTLR start "enumSpecifier"
4764 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:443:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
4765 public final CTFParser
.enumSpecifier_return
enumSpecifier() throws RecognitionException
{
4766 CTFParser
.enumSpecifier_return retval
= new CTFParser
.enumSpecifier_return();
4767 retval
.start
= input
.LT(1);
4769 CommonTree root_0
= null;
4771 Token ENUMTOK104
=null;
4772 ParserRuleReturnScope enumName105
=null;
4773 ParserRuleReturnScope enumContainerType106
=null;
4774 ParserRuleReturnScope enumBody107
=null;
4775 ParserRuleReturnScope enumBody108
=null;
4776 ParserRuleReturnScope enumContainerType109
=null;
4777 ParserRuleReturnScope enumBody110
=null;
4778 ParserRuleReturnScope enumBody111
=null;
4780 CommonTree ENUMTOK104_tree
=null;
4781 RewriteRuleTokenStream stream_ENUMTOK
=new RewriteRuleTokenStream(adaptor
,"token ENUMTOK");
4782 RewriteRuleSubtreeStream stream_enumBody
=new RewriteRuleSubtreeStream(adaptor
,"rule enumBody");
4783 RewriteRuleSubtreeStream stream_enumName
=new RewriteRuleSubtreeStream(adaptor
,"rule enumName");
4784 RewriteRuleSubtreeStream stream_enumContainerType
=new RewriteRuleSubtreeStream(adaptor
,"rule enumContainerType");
4787 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:3: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
4788 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:5: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
4790 ENUMTOK104
=(Token
)match(input
,ENUMTOK
,FOLLOW_ENUMTOK_in_enumSpecifier2237
); if (state
.failed
) return retval
;
4791 if ( state
.backtracking
==0 ) stream_ENUMTOK
.add(ENUMTOK104
);
4793 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:5: ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
4795 int LA34_0
= input
.LA(1);
4796 if ( (LA34_0
==IDENTIFIER
) ) {
4799 else if ( (LA34_0
==COLON
||LA34_0
==LCURL
) ) {
4804 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4805 NoViableAltException nvae
=
4806 new NoViableAltException("", 34, 0, input
);
4812 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:447:9: ( enumName ( enumContainerType enumBody | enumBody |) )
4814 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:447:9: ( enumName ( enumContainerType enumBody | enumBody |) )
4815 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:13: enumName ( enumContainerType enumBody | enumBody |)
4817 pushFollow(FOLLOW_enumName_in_enumSpecifier2276
);
4818 enumName105
=enumName();
4820 if (state
.failed
) return retval
;
4821 if ( state
.backtracking
==0 ) stream_enumName
.add(enumName105
.getTree());
4822 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:449:13: ( enumContainerType enumBody | enumBody |)
4824 switch ( input
.LA(1) ) {
4842 case FLOATINGPOINTTOK
:
4857 case TYPE_ASSIGNMENT
:
4866 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4867 NoViableAltException nvae
=
4868 new NoViableAltException("", 32, 0, input
);
4873 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:450:17: enumContainerType enumBody
4875 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2308
);
4876 enumContainerType106
=enumContainerType();
4878 if (state
.failed
) return retval
;
4879 if ( state
.backtracking
==0 ) stream_enumContainerType
.add(enumContainerType106
.getTree());
4880 pushFollow(FOLLOW_enumBody_in_enumSpecifier2310
);
4881 enumBody107
=enumBody();
4883 if (state
.failed
) return retval
;
4884 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody107
.getTree());
4888 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:452:17: enumBody
4890 pushFollow(FOLLOW_enumBody_in_enumSpecifier2340
);
4891 enumBody108
=enumBody();
4893 if (state
.failed
) return retval
;
4894 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody108
.getTree());
4898 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:455:13:
4910 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:459:9: ( enumContainerType enumBody | enumBody )
4912 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:459:9: ( enumContainerType enumBody | enumBody )
4914 int LA33_0
= input
.LA(1);
4915 if ( (LA33_0
==COLON
) ) {
4918 else if ( (LA33_0
==LCURL
) ) {
4923 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4924 NoViableAltException nvae
=
4925 new NoViableAltException("", 33, 0, input
);
4931 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:13: enumContainerType enumBody
4933 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2432
);
4934 enumContainerType109
=enumContainerType();
4936 if (state
.failed
) return retval
;
4937 if ( state
.backtracking
==0 ) stream_enumContainerType
.add(enumContainerType109
.getTree());
4938 pushFollow(FOLLOW_enumBody_in_enumSpecifier2434
);
4939 enumBody110
=enumBody();
4941 if (state
.failed
) return retval
;
4942 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody110
.getTree());
4946 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:462:13: enumBody
4948 pushFollow(FOLLOW_enumBody_in_enumSpecifier2458
);
4949 enumBody111
=enumBody();
4951 if (state
.failed
) return retval
;
4952 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody111
.getTree());
4964 // elements: enumName, enumBody, enumContainerType
4966 // rule labels: retval
4967 // token list labels:
4968 // rule list labels:
4970 if ( state
.backtracking
==0 ) {
4971 retval
.tree
= root_0
;
4972 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4974 root_0
= (CommonTree
)adaptor
.nil();
4975 // 464:7: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
4977 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:10: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
4979 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4980 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM
, "ENUM"), root_1
);
4981 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:17: ( enumName )?
4982 if ( stream_enumName
.hasNext() ) {
4983 adaptor
.addChild(root_1
, stream_enumName
.nextTree());
4985 stream_enumName
.reset();
4987 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:27: ( enumContainerType )?
4988 if ( stream_enumContainerType
.hasNext() ) {
4989 adaptor
.addChild(root_1
, stream_enumContainerType
.nextTree());
4991 stream_enumContainerType
.reset();
4993 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:46: ( enumBody )?
4994 if ( stream_enumBody
.hasNext() ) {
4995 adaptor
.addChild(root_1
, stream_enumBody
.nextTree());
4997 stream_enumBody
.reset();
4999 adaptor
.addChild(root_0
, root_1
);
5005 retval
.tree
= root_0
;
5010 retval
.stop
= input
.LT(-1);
5012 if ( state
.backtracking
==0 ) {
5013 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5014 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5018 catch (RecognitionException e
) {
5023 // do for sure before leaving
5027 // $ANTLR end "enumSpecifier"
5030 public static class enumName_return
extends ParserRuleReturnScope
{
5033 public CommonTree
getTree() { return tree
; }
5037 // $ANTLR start "enumName"
5038 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:467:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
5039 public final CTFParser
.enumName_return
enumName() throws RecognitionException
{
5040 CTFParser
.enumName_return retval
= new CTFParser
.enumName_return();
5041 retval
.start
= input
.LT(1);
5043 CommonTree root_0
= null;
5045 Token IDENTIFIER112
=null;
5047 CommonTree IDENTIFIER112_tree
=null;
5048 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
5051 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:3: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
5052 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:5: IDENTIFIER
5054 IDENTIFIER112
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumName2502
); if (state
.failed
) return retval
;
5055 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER112
);
5058 // elements: IDENTIFIER
5060 // rule labels: retval
5061 // token list labels:
5062 // rule list labels:
5064 if ( state
.backtracking
==0 ) {
5065 retval
.tree
= root_0
;
5066 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5068 root_0
= (CommonTree
)adaptor
.nil();
5069 // 468:16: -> ^( ENUM_NAME IDENTIFIER )
5071 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:19: ^( ENUM_NAME IDENTIFIER )
5073 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5074 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_NAME
, "ENUM_NAME"), root_1
);
5075 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
5076 adaptor
.addChild(root_0
, root_1
);
5082 retval
.tree
= root_0
;
5087 retval
.stop
= input
.LT(-1);
5089 if ( state
.backtracking
==0 ) {
5090 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5091 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5095 catch (RecognitionException e
) {
5100 // do for sure before leaving
5104 // $ANTLR end "enumName"
5107 public static class enumBody_return
extends ParserRuleReturnScope
{
5110 public CommonTree
getTree() { return tree
; }
5114 // $ANTLR start "enumBody"
5115 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:471:1: enumBody : LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) ;
5116 public final CTFParser
.enumBody_return
enumBody() throws RecognitionException
{
5117 CTFParser
.enumBody_return retval
= new CTFParser
.enumBody_return();
5118 retval
.start
= input
.LT(1);
5120 CommonTree root_0
= null;
5122 Token LCURL113
=null;
5123 Token SEPARATOR115
=null;
5124 Token RCURL116
=null;
5125 ParserRuleReturnScope enumeratorList114
=null;
5127 CommonTree LCURL113_tree
=null;
5128 CommonTree SEPARATOR115_tree
=null;
5129 CommonTree RCURL116_tree
=null;
5130 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
5131 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
5132 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
5133 RewriteRuleSubtreeStream stream_enumeratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule enumeratorList");
5136 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:3: ( LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) )
5137 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:5: LCURL enumeratorList ( SEPARATOR )? RCURL
5139 LCURL113
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_enumBody2523
); if (state
.failed
) return retval
;
5140 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL113
);
5142 pushFollow(FOLLOW_enumeratorList_in_enumBody2525
);
5143 enumeratorList114
=enumeratorList();
5145 if (state
.failed
) return retval
;
5146 if ( state
.backtracking
==0 ) stream_enumeratorList
.add(enumeratorList114
.getTree());
5147 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:26: ( SEPARATOR )?
5149 int LA35_0
= input
.LA(1);
5150 if ( (LA35_0
==SEPARATOR
) ) {
5155 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:26: SEPARATOR
5157 SEPARATOR115
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumBody2527
); if (state
.failed
) return retval
;
5158 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR115
);
5165 RCURL116
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_enumBody2530
); if (state
.failed
) return retval
;
5166 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL116
);
5169 // elements: enumeratorList
5171 // rule labels: retval
5172 // token list labels:
5173 // rule list labels:
5175 if ( state
.backtracking
==0 ) {
5176 retval
.tree
= root_0
;
5177 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5179 root_0
= (CommonTree
)adaptor
.nil();
5180 // 472:43: -> ^( ENUM_BODY enumeratorList )
5182 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:46: ^( ENUM_BODY enumeratorList )
5184 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5185 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_BODY
, "ENUM_BODY"), root_1
);
5186 adaptor
.addChild(root_1
, stream_enumeratorList
.nextTree());
5187 adaptor
.addChild(root_0
, root_1
);
5193 retval
.tree
= root_0
;
5198 retval
.stop
= input
.LT(-1);
5200 if ( state
.backtracking
==0 ) {
5201 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5202 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5206 catch (RecognitionException e
) {
5211 // do for sure before leaving
5215 // $ANTLR end "enumBody"
5218 public static class enumContainerType_return
extends ParserRuleReturnScope
{
5221 public CommonTree
getTree() { return tree
; }
5225 // $ANTLR start "enumContainerType"
5226 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:475:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
5227 public final CTFParser
.enumContainerType_return
enumContainerType() throws RecognitionException
{
5228 CTFParser
.enumContainerType_return retval
= new CTFParser
.enumContainerType_return();
5229 retval
.start
= input
.LT(1);
5231 CommonTree root_0
= null;
5233 Token COLON117
=null;
5234 ParserRuleReturnScope declarationSpecifiers118
=null;
5236 CommonTree COLON117_tree
=null;
5237 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
5238 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
5241 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:3: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
5242 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:5: COLON declarationSpecifiers
5244 COLON117
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_enumContainerType2551
); if (state
.failed
) return retval
;
5245 if ( state
.backtracking
==0 ) stream_COLON
.add(COLON117
);
5247 pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2553
);
5248 declarationSpecifiers118
=declarationSpecifiers();
5250 if (state
.failed
) return retval
;
5251 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers118
.getTree());
5253 // elements: declarationSpecifiers
5255 // rule labels: retval
5256 // token list labels:
5257 // rule list labels:
5259 if ( state
.backtracking
==0 ) {
5260 retval
.tree
= root_0
;
5261 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5263 root_0
= (CommonTree
)adaptor
.nil();
5264 // 476:33: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5266 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:36: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5268 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5269 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_CONTAINER_TYPE
, "ENUM_CONTAINER_TYPE"), root_1
);
5270 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
5271 adaptor
.addChild(root_0
, root_1
);
5277 retval
.tree
= root_0
;
5282 retval
.stop
= input
.LT(-1);
5284 if ( state
.backtracking
==0 ) {
5285 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5286 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5290 catch (RecognitionException e
) {
5295 // do for sure before leaving
5299 // $ANTLR end "enumContainerType"
5302 public static class enumeratorList_return
extends ParserRuleReturnScope
{
5305 public CommonTree
getTree() { return tree
; }
5309 // $ANTLR start "enumeratorList"
5310 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:479:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
5311 public final CTFParser
.enumeratorList_return
enumeratorList() throws RecognitionException
{
5312 CTFParser
.enumeratorList_return retval
= new CTFParser
.enumeratorList_return();
5313 retval
.start
= input
.LT(1);
5315 CommonTree root_0
= null;
5317 Token SEPARATOR120
=null;
5318 ParserRuleReturnScope enumerator119
=null;
5319 ParserRuleReturnScope enumerator121
=null;
5321 CommonTree SEPARATOR120_tree
=null;
5322 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
5323 RewriteRuleSubtreeStream stream_enumerator
=new RewriteRuleSubtreeStream(adaptor
,"rule enumerator");
5326 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:3: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
5327 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:5: enumerator ( SEPARATOR enumerator )*
5329 pushFollow(FOLLOW_enumerator_in_enumeratorList2574
);
5330 enumerator119
=enumerator();
5332 if (state
.failed
) return retval
;
5333 if ( state
.backtracking
==0 ) stream_enumerator
.add(enumerator119
.getTree());
5334 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:16: ( SEPARATOR enumerator )*
5338 int LA36_0
= input
.LA(1);
5339 if ( (LA36_0
==SEPARATOR
) ) {
5340 int LA36_1
= input
.LA(2);
5341 if ( (LA36_1
==ALIGNTOK
||LA36_1
==EVENTTOK
||LA36_1
==IDENTIFIER
||LA36_1
==SIGNEDTOK
||LA36_1
==STRINGTOK
||LA36_1
==STRING_LITERAL
) ) {
5349 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:17: SEPARATOR enumerator
5351 SEPARATOR120
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumeratorList2577
); if (state
.failed
) return retval
;
5352 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR120
);
5354 pushFollow(FOLLOW_enumerator_in_enumeratorList2579
);
5355 enumerator121
=enumerator();
5357 if (state
.failed
) return retval
;
5358 if ( state
.backtracking
==0 ) stream_enumerator
.add(enumerator121
.getTree());
5368 // elements: enumerator
5370 // rule labels: retval
5371 // token list labels:
5372 // rule list labels:
5374 if ( state
.backtracking
==0 ) {
5375 retval
.tree
= root_0
;
5376 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5378 root_0
= (CommonTree
)adaptor
.nil();
5379 // 480:40: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
5381 if ( !(stream_enumerator
.hasNext()) ) {
5382 throw new RewriteEarlyExitException();
5384 while ( stream_enumerator
.hasNext() ) {
5385 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:44: ^( ENUM_ENUMERATOR enumerator )
5387 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5388 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_ENUMERATOR
, "ENUM_ENUMERATOR"), root_1
);
5389 adaptor
.addChild(root_1
, stream_enumerator
.nextTree());
5390 adaptor
.addChild(root_0
, root_1
);
5394 stream_enumerator
.reset();
5399 retval
.tree
= root_0
;
5404 retval
.stop
= input
.LT(-1);
5406 if ( state
.backtracking
==0 ) {
5407 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5408 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5412 catch (RecognitionException e
) {
5417 // do for sure before leaving
5421 // $ANTLR end "enumeratorList"
5424 public static class enumerator_return
extends ParserRuleReturnScope
{
5427 public CommonTree
getTree() { return tree
; }
5431 // $ANTLR start "enumerator"
5432 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:483:1: enumerator : enumConstant ( enumeratorValue )? ;
5433 public final CTFParser
.enumerator_return
enumerator() throws RecognitionException
{
5434 CTFParser
.enumerator_return retval
= new CTFParser
.enumerator_return();
5435 retval
.start
= input
.LT(1);
5437 CommonTree root_0
= null;
5439 ParserRuleReturnScope enumConstant122
=null;
5440 ParserRuleReturnScope enumeratorValue123
=null;
5444 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:3: ( enumConstant ( enumeratorValue )? )
5445 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:5: enumConstant ( enumeratorValue )?
5447 root_0
= (CommonTree
)adaptor
.nil();
5450 pushFollow(FOLLOW_enumConstant_in_enumerator2605
);
5451 enumConstant122
=enumConstant();
5453 if (state
.failed
) return retval
;
5454 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumConstant122
.getTree());
5456 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:18: ( enumeratorValue )?
5458 int LA37_0
= input
.LA(1);
5459 if ( (LA37_0
==ASSIGNMENT
) ) {
5464 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:18: enumeratorValue
5466 pushFollow(FOLLOW_enumeratorValue_in_enumerator2607
);
5467 enumeratorValue123
=enumeratorValue();
5469 if (state
.failed
) return retval
;
5470 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumeratorValue123
.getTree());
5479 retval
.stop
= input
.LT(-1);
5481 if ( state
.backtracking
==0 ) {
5482 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5483 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5487 catch (RecognitionException e
) {
5492 // do for sure before leaving
5496 // $ANTLR end "enumerator"
5499 public static class enumeratorValue_return
extends ParserRuleReturnScope
{
5502 public CommonTree
getTree() { return tree
; }
5506 // $ANTLR start "enumeratorValue"
5507 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:487:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
5508 public final CTFParser
.enumeratorValue_return
enumeratorValue() throws RecognitionException
{
5509 CTFParser
.enumeratorValue_return retval
= new CTFParser
.enumeratorValue_return();
5510 retval
.start
= input
.LT(1);
5512 CommonTree root_0
= null;
5514 Token ASSIGNMENT124
=null;
5515 Token ELIPSES125
=null;
5516 ParserRuleReturnScope e1
=null;
5517 ParserRuleReturnScope e2
=null;
5519 CommonTree ASSIGNMENT124_tree
=null;
5520 CommonTree ELIPSES125_tree
=null;
5521 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
5522 RewriteRuleTokenStream stream_ELIPSES
=new RewriteRuleTokenStream(adaptor
,"token ELIPSES");
5523 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
5526 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:3: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
5527 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:5: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
5529 ASSIGNMENT124
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_enumeratorValue2621
); if (state
.failed
) return retval
;
5530 if ( state
.backtracking
==0 ) stream_ASSIGNMENT
.add(ASSIGNMENT124
);
5532 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2625
);
5533 e1
=unaryExpression();
5535 if (state
.failed
) return retval
;
5536 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(e1
.getTree());
5537 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:7: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
5539 int LA38_0
= input
.LA(1);
5540 if ( (LA38_0
==RCURL
||LA38_0
==SEPARATOR
) ) {
5543 else if ( (LA38_0
==ELIPSES
) ) {
5548 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
5549 NoViableAltException nvae
=
5550 new NoViableAltException("", 38, 0, input
);
5556 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:11:
5561 // rule labels: e1, retval
5562 // token list labels:
5563 // rule list labels:
5565 if ( state
.backtracking
==0 ) {
5566 retval
.tree
= root_0
;
5567 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.getTree():null);
5568 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5570 root_0
= (CommonTree
)adaptor
.nil();
5571 // 490:11: -> ^( ENUM_VALUE $e1)
5573 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:14: ^( ENUM_VALUE $e1)
5575 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5576 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE
, "ENUM_VALUE"), root_1
);
5577 adaptor
.addChild(root_1
, stream_e1
.nextTree());
5578 adaptor
.addChild(root_0
, root_1
);
5584 retval
.tree
= root_0
;
5590 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:9: ELIPSES e2= unaryExpression
5592 ELIPSES125
=(Token
)match(input
,ELIPSES
,FOLLOW_ELIPSES_in_enumeratorValue2664
); if (state
.failed
) return retval
;
5593 if ( state
.backtracking
==0 ) stream_ELIPSES
.add(ELIPSES125
);
5595 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2668
);
5596 e2
=unaryExpression();
5598 if (state
.failed
) return retval
;
5599 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(e2
.getTree());
5603 // rule labels: e1, e2, retval
5604 // token list labels:
5605 // rule list labels:
5607 if ( state
.backtracking
==0 ) {
5608 retval
.tree
= root_0
;
5609 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.getTree():null);
5610 RewriteRuleSubtreeStream stream_e2
=new RewriteRuleSubtreeStream(adaptor
,"rule e2",e2
!=null?e2
.getTree():null);
5611 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5613 root_0
= (CommonTree
)adaptor
.nil();
5614 // 492:11: -> ^( ENUM_VALUE_RANGE $e1 $e2)
5616 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:492:14: ^( ENUM_VALUE_RANGE $e1 $e2)
5618 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5619 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE_RANGE
, "ENUM_VALUE_RANGE"), root_1
);
5620 adaptor
.addChild(root_1
, stream_e1
.nextTree());
5621 adaptor
.addChild(root_1
, stream_e2
.nextTree());
5622 adaptor
.addChild(root_0
, root_1
);
5628 retval
.tree
= root_0
;
5638 retval
.stop
= input
.LT(-1);
5640 if ( state
.backtracking
==0 ) {
5641 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5642 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5646 catch (RecognitionException e
) {
5651 // do for sure before leaving
5655 // $ANTLR end "enumeratorValue"
5658 public static class declarator_return
extends ParserRuleReturnScope
{
5661 public CommonTree
getTree() { return tree
; }
5665 // $ANTLR start "declarator"
5666 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:496:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
5667 public final CTFParser
.declarator_return
declarator() throws RecognitionException
{
5668 CTFParser
.declarator_return retval
= new CTFParser
.declarator_return();
5669 retval
.start
= input
.LT(1);
5671 CommonTree root_0
= null;
5673 ParserRuleReturnScope pointer126
=null;
5674 ParserRuleReturnScope directDeclarator127
=null;
5676 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
5677 RewriteRuleSubtreeStream stream_directDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclarator");
5680 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:3: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
5681 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: ( pointer )* directDeclarator
5683 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: ( pointer )*
5687 int LA39_0
= input
.LA(1);
5688 if ( (LA39_0
==POINTER
) ) {
5694 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: pointer
5696 pushFollow(FOLLOW_pointer_in_declarator2711
);
5697 pointer126
=pointer();
5699 if (state
.failed
) return retval
;
5700 if ( state
.backtracking
==0 ) stream_pointer
.add(pointer126
.getTree());
5709 pushFollow(FOLLOW_directDeclarator_in_declarator2714
);
5710 directDeclarator127
=directDeclarator();
5712 if (state
.failed
) return retval
;
5713 if ( state
.backtracking
==0 ) stream_directDeclarator
.add(directDeclarator127
.getTree());
5715 // elements: directDeclarator, pointer
5717 // rule labels: retval
5718 // token list labels:
5719 // rule list labels:
5721 if ( state
.backtracking
==0 ) {
5722 retval
.tree
= root_0
;
5723 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5725 root_0
= (CommonTree
)adaptor
.nil();
5726 // 498:7: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
5728 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:10: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
5730 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5731 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
5732 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:28: ( pointer )*
5733 while ( stream_pointer
.hasNext() ) {
5734 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
5736 stream_pointer
.reset();
5738 adaptor
.addChild(root_1
, stream_directDeclarator
.nextTree());
5739 adaptor
.addChild(root_0
, root_1
);
5745 retval
.tree
= root_0
;
5750 retval
.stop
= input
.LT(-1);
5752 if ( state
.backtracking
==0 ) {
5753 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5754 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5758 catch (RecognitionException e
) {
5763 // do for sure before leaving
5767 // $ANTLR end "declarator"
5770 public static class directDeclarator_return
extends ParserRuleReturnScope
{
5773 public CommonTree
getTree() { return tree
; }
5777 // $ANTLR start "directDeclarator"
5778 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:501:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
5779 public final CTFParser
.directDeclarator_return
directDeclarator() throws RecognitionException
{
5780 CTFParser
.directDeclarator_return retval
= new CTFParser
.directDeclarator_return();
5781 retval
.start
= input
.LT(1);
5783 CommonTree root_0
= null;
5785 Token IDENTIFIER128
=null;
5786 ParserRuleReturnScope directDeclaratorSuffix129
=null;
5788 CommonTree IDENTIFIER128_tree
=null;
5791 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:3: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
5792 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:5: ( IDENTIFIER ) ( directDeclaratorSuffix )*
5794 root_0
= (CommonTree
)adaptor
.nil();
5797 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:5: ( IDENTIFIER )
5798 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:7: IDENTIFIER
5800 IDENTIFIER128
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directDeclarator2752
); if (state
.failed
) return retval
;
5801 if ( state
.backtracking
==0 ) {
5802 IDENTIFIER128_tree
= (CommonTree
)adaptor
.create(IDENTIFIER128
);
5803 adaptor
.addChild(root_0
, IDENTIFIER128_tree
);
5806 if ( state
.backtracking
==0 ) { if (inTypedef()) addTypeName((IDENTIFIER128
!=null?IDENTIFIER128
.getText():null)); }
5807 if ( state
.backtracking
==0 ) { debug_print((IDENTIFIER128
!=null?IDENTIFIER128
.getText():null)); }
5810 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:508:5: ( directDeclaratorSuffix )*
5814 int LA40_0
= input
.LA(1);
5815 if ( (LA40_0
==OPENBRAC
) ) {
5821 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:508:5: directDeclaratorSuffix
5823 pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2792
);
5824 directDeclaratorSuffix129
=directDeclaratorSuffix();
5826 if (state
.failed
) return retval
;
5827 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, directDeclaratorSuffix129
.getTree());
5839 retval
.stop
= input
.LT(-1);
5841 if ( state
.backtracking
==0 ) {
5842 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5843 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5847 catch (RecognitionException e
) {
5852 // do for sure before leaving
5856 // $ANTLR end "directDeclarator"
5859 public static class directDeclaratorSuffix_return
extends ParserRuleReturnScope
{
5862 public CommonTree
getTree() { return tree
; }
5866 // $ANTLR start "directDeclaratorSuffix"
5867 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:511:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
5868 public final CTFParser
.directDeclaratorSuffix_return
directDeclaratorSuffix() throws RecognitionException
{
5869 CTFParser
.directDeclaratorSuffix_return retval
= new CTFParser
.directDeclaratorSuffix_return();
5870 retval
.start
= input
.LT(1);
5872 CommonTree root_0
= null;
5874 Token OPENBRAC130
=null;
5875 Token CLOSEBRAC132
=null;
5876 ParserRuleReturnScope directDeclaratorLength131
=null;
5878 CommonTree OPENBRAC130_tree
=null;
5879 CommonTree CLOSEBRAC132_tree
=null;
5880 RewriteRuleTokenStream stream_OPENBRAC
=new RewriteRuleTokenStream(adaptor
,"token OPENBRAC");
5881 RewriteRuleTokenStream stream_CLOSEBRAC
=new RewriteRuleTokenStream(adaptor
,"token CLOSEBRAC");
5882 RewriteRuleSubtreeStream stream_directDeclaratorLength
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclaratorLength");
5885 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:3: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
5886 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:5: OPENBRAC directDeclaratorLength CLOSEBRAC
5888 OPENBRAC130
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2806
); if (state
.failed
) return retval
;
5889 if ( state
.backtracking
==0 ) stream_OPENBRAC
.add(OPENBRAC130
);
5891 pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2808
);
5892 directDeclaratorLength131
=directDeclaratorLength();
5894 if (state
.failed
) return retval
;
5895 if ( state
.backtracking
==0 ) stream_directDeclaratorLength
.add(directDeclaratorLength131
.getTree());
5896 CLOSEBRAC132
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2810
); if (state
.failed
) return retval
;
5897 if ( state
.backtracking
==0 ) stream_CLOSEBRAC
.add(CLOSEBRAC132
);
5900 // elements: directDeclaratorLength
5902 // rule labels: retval
5903 // token list labels:
5904 // rule list labels:
5906 if ( state
.backtracking
==0 ) {
5907 retval
.tree
= root_0
;
5908 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5910 root_0
= (CommonTree
)adaptor
.nil();
5911 // 513:7: -> ^( LENGTH directDeclaratorLength )
5913 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:10: ^( LENGTH directDeclaratorLength )
5915 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5916 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(LENGTH
, "LENGTH"), root_1
);
5917 adaptor
.addChild(root_1
, stream_directDeclaratorLength
.nextTree());
5918 adaptor
.addChild(root_0
, root_1
);
5924 retval
.tree
= root_0
;
5929 retval
.stop
= input
.LT(-1);
5931 if ( state
.backtracking
==0 ) {
5932 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5933 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5937 catch (RecognitionException e
) {
5942 // do for sure before leaving
5946 // $ANTLR end "directDeclaratorSuffix"
5949 public static class directDeclaratorLength_return
extends ParserRuleReturnScope
{
5952 public CommonTree
getTree() { return tree
; }
5956 // $ANTLR start "directDeclaratorLength"
5957 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:516:1: directDeclaratorLength : unaryExpression ;
5958 public final CTFParser
.directDeclaratorLength_return
directDeclaratorLength() throws RecognitionException
{
5959 CTFParser
.directDeclaratorLength_return retval
= new CTFParser
.directDeclaratorLength_return();
5960 retval
.start
= input
.LT(1);
5962 CommonTree root_0
= null;
5964 ParserRuleReturnScope unaryExpression133
=null;
5968 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:3: ( unaryExpression )
5969 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:5: unaryExpression
5971 root_0
= (CommonTree
)adaptor
.nil();
5974 pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2838
);
5975 unaryExpression133
=unaryExpression();
5977 if (state
.failed
) return retval
;
5978 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression133
.getTree());
5982 retval
.stop
= input
.LT(-1);
5984 if ( state
.backtracking
==0 ) {
5985 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5986 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5990 catch (RecognitionException e
) {
5995 // do for sure before leaving
5999 // $ANTLR end "directDeclaratorLength"
6002 public static class abstractDeclarator_return
extends ParserRuleReturnScope
{
6005 public CommonTree
getTree() { return tree
; }
6009 // $ANTLR start "abstractDeclarator"
6010 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:520:1: abstractDeclarator : ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
6011 public final CTFParser
.abstractDeclarator_return
abstractDeclarator() throws RecognitionException
{
6012 CTFParser
.abstractDeclarator_return retval
= new CTFParser
.abstractDeclarator_return();
6013 retval
.start
= input
.LT(1);
6015 CommonTree root_0
= null;
6017 ParserRuleReturnScope pointer134
=null;
6018 ParserRuleReturnScope directAbstractDeclarator135
=null;
6019 ParserRuleReturnScope directAbstractDeclarator136
=null;
6021 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
6022 RewriteRuleSubtreeStream stream_directAbstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directAbstractDeclarator");
6025 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:3: ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
6027 int LA43_0
= input
.LA(1);
6028 if ( (LA43_0
==POINTER
) ) {
6031 else if ( (LA43_0
==IDENTIFIER
||LA43_0
==LPAREN
) ) {
6036 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6037 NoViableAltException nvae
=
6038 new NoViableAltException("", 43, 0, input
);
6044 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: ( pointer )+ ( directAbstractDeclarator )?
6046 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: ( pointer )+
6051 int LA41_0
= input
.LA(1);
6052 if ( (LA41_0
==POINTER
) ) {
6058 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: pointer
6060 pushFollow(FOLLOW_pointer_in_abstractDeclarator2851
);
6061 pointer134
=pointer();
6063 if (state
.failed
) return retval
;
6064 if ( state
.backtracking
==0 ) stream_pointer
.add(pointer134
.getTree());
6069 if ( cnt41
>= 1 ) break loop41
;
6070 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6071 EarlyExitException eee
= new EarlyExitException(41, input
);
6077 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:14: ( directAbstractDeclarator )?
6079 int LA42_0
= input
.LA(1);
6080 if ( (LA42_0
==IDENTIFIER
||LA42_0
==LPAREN
) ) {
6085 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:14: directAbstractDeclarator
6087 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2854
);
6088 directAbstractDeclarator135
=directAbstractDeclarator();
6090 if (state
.failed
) return retval
;
6091 if ( state
.backtracking
==0 ) stream_directAbstractDeclarator
.add(directAbstractDeclarator135
.getTree());
6098 // elements: pointer, directAbstractDeclarator
6100 // rule labels: retval
6101 // token list labels:
6102 // rule list labels:
6104 if ( state
.backtracking
==0 ) {
6105 retval
.tree
= root_0
;
6106 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6108 root_0
= (CommonTree
)adaptor
.nil();
6109 // 522:7: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6111 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:10: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6113 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6114 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6115 if ( !(stream_pointer
.hasNext()) ) {
6116 throw new RewriteEarlyExitException();
6118 while ( stream_pointer
.hasNext() ) {
6119 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
6121 stream_pointer
.reset();
6123 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:37: ( directAbstractDeclarator )?
6124 if ( stream_directAbstractDeclarator
.hasNext() ) {
6125 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
6127 stream_directAbstractDeclarator
.reset();
6129 adaptor
.addChild(root_0
, root_1
);
6135 retval
.tree
= root_0
;
6141 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:5: directAbstractDeclarator
6143 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2879
);
6144 directAbstractDeclarator136
=directAbstractDeclarator();
6146 if (state
.failed
) return retval
;
6147 if ( state
.backtracking
==0 ) stream_directAbstractDeclarator
.add(directAbstractDeclarator136
.getTree());
6149 // elements: directAbstractDeclarator
6151 // rule labels: retval
6152 // token list labels:
6153 // rule list labels:
6155 if ( state
.backtracking
==0 ) {
6156 retval
.tree
= root_0
;
6157 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6159 root_0
= (CommonTree
)adaptor
.nil();
6160 // 524:7: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
6162 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:524:10: ^( TYPE_DECLARATOR directAbstractDeclarator )
6164 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6165 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6166 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
6167 adaptor
.addChild(root_0
, root_1
);
6173 retval
.tree
= root_0
;
6180 retval
.stop
= input
.LT(-1);
6182 if ( state
.backtracking
==0 ) {
6183 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6184 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6188 catch (RecognitionException e
) {
6193 // do for sure before leaving
6197 // $ANTLR end "abstractDeclarator"
6200 public static class directAbstractDeclarator_return
extends ParserRuleReturnScope
{
6203 public CommonTree
getTree() { return tree
; }
6207 // $ANTLR start "directAbstractDeclarator"
6208 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:532:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
6209 public final CTFParser
.directAbstractDeclarator_return
directAbstractDeclarator() throws RecognitionException
{
6210 CTFParser
.directAbstractDeclarator_return retval
= new CTFParser
.directAbstractDeclarator_return();
6211 retval
.start
= input
.LT(1);
6213 CommonTree root_0
= null;
6215 Token IDENTIFIER137
=null;
6216 Token LPAREN138
=null;
6217 Token RPAREN140
=null;
6218 Token OPENBRAC141
=null;
6219 Token CLOSEBRAC143
=null;
6220 ParserRuleReturnScope abstractDeclarator139
=null;
6221 ParserRuleReturnScope unaryExpression142
=null;
6223 CommonTree IDENTIFIER137_tree
=null;
6224 CommonTree LPAREN138_tree
=null;
6225 CommonTree RPAREN140_tree
=null;
6226 CommonTree OPENBRAC141_tree
=null;
6227 CommonTree CLOSEBRAC143_tree
=null;
6230 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:3: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
6231 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
6233 root_0
= (CommonTree
)adaptor
.nil();
6236 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
6238 int LA44_0
= input
.LA(1);
6239 if ( (LA44_0
==IDENTIFIER
) ) {
6242 else if ( (LA44_0
==LPAREN
) ) {
6247 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6248 NoViableAltException nvae
=
6249 new NoViableAltException("", 44, 0, input
);
6255 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:7: IDENTIFIER
6257 IDENTIFIER137
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2916
); if (state
.failed
) return retval
;
6258 if ( state
.backtracking
==0 ) {
6259 IDENTIFIER137_tree
= (CommonTree
)adaptor
.create(IDENTIFIER137
);
6260 adaptor
.addChild(root_0
, IDENTIFIER137_tree
);
6266 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:9: ( LPAREN abstractDeclarator RPAREN )
6268 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:9: ( LPAREN abstractDeclarator RPAREN )
6269 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:10: LPAREN abstractDeclarator RPAREN
6271 LPAREN138
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_directAbstractDeclarator2927
); if (state
.failed
) return retval
;
6272 if ( state
.backtracking
==0 ) {
6273 LPAREN138_tree
= (CommonTree
)adaptor
.create(LPAREN138
);
6274 adaptor
.addChild(root_0
, LPAREN138_tree
);
6277 pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2929
);
6278 abstractDeclarator139
=abstractDeclarator();
6280 if (state
.failed
) return retval
;
6281 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclarator139
.getTree());
6283 RPAREN140
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_directAbstractDeclarator2931
); if (state
.failed
) return retval
;
6284 if ( state
.backtracking
==0 ) {
6285 RPAREN140_tree
= (CommonTree
)adaptor
.create(RPAREN140
);
6286 adaptor
.addChild(root_0
, RPAREN140_tree
);
6296 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:5: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
6298 int LA46_0
= input
.LA(1);
6299 if ( (LA46_0
==OPENBRAC
) ) {
6304 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:7: OPENBRAC ( unaryExpression )? CLOSEBRAC
6306 OPENBRAC141
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directAbstractDeclarator2946
); if (state
.failed
) return retval
;
6307 if ( state
.backtracking
==0 ) {
6308 OPENBRAC141_tree
= (CommonTree
)adaptor
.create(OPENBRAC141
);
6309 adaptor
.addChild(root_0
, OPENBRAC141_tree
);
6312 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:16: ( unaryExpression )?
6314 int LA45_0
= input
.LA(1);
6315 if ( (LA45_0
==ALIGNTOK
||LA45_0
==CHARACTER_LITERAL
||LA45_0
==CLOCKTOK
||LA45_0
==DECIMAL_LITERAL
||LA45_0
==ENVTOK
||LA45_0
==EVENTTOK
||LA45_0
==HEX_LITERAL
||LA45_0
==IDENTIFIER
||LA45_0
==OCTAL_LITERAL
||(LA45_0
>= SIGN
&& LA45_0
<= SIGNEDTOK
)||LA45_0
==STREAMTOK
||LA45_0
==STRINGTOK
||LA45_0
==STRING_LITERAL
||LA45_0
==TRACETOK
) ) {
6320 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:16: unaryExpression
6322 pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2948
);
6323 unaryExpression142
=unaryExpression();
6325 if (state
.failed
) return retval
;
6326 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression142
.getTree());
6333 CLOSEBRAC143
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2951
); if (state
.failed
) return retval
;
6334 if ( state
.backtracking
==0 ) {
6335 CLOSEBRAC143_tree
= (CommonTree
)adaptor
.create(CLOSEBRAC143
);
6336 adaptor
.addChild(root_0
, CLOSEBRAC143_tree
);
6346 retval
.stop
= input
.LT(-1);
6348 if ( state
.backtracking
==0 ) {
6349 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6350 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6354 catch (RecognitionException e
) {
6359 // do for sure before leaving
6363 // $ANTLR end "directAbstractDeclarator"
6366 public static class pointer_return
extends ParserRuleReturnScope
{
6369 public CommonTree
getTree() { return tree
; }
6373 // $ANTLR start "pointer"
6374 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:541:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
6375 public final CTFParser
.pointer_return
pointer() throws RecognitionException
{
6376 CTFParser
.pointer_return retval
= new CTFParser
.pointer_return();
6377 retval
.start
= input
.LT(1);
6379 CommonTree root_0
= null;
6381 Token POINTER144
=null;
6382 ParserRuleReturnScope typeQualifierList145
=null;
6384 CommonTree POINTER144_tree
=null;
6385 RewriteRuleTokenStream stream_POINTER
=new RewriteRuleTokenStream(adaptor
,"token POINTER");
6386 RewriteRuleSubtreeStream stream_typeQualifierList
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifierList");
6389 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:3: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
6390 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:5: POINTER ( typeQualifierList )?
6392 POINTER144
=(Token
)match(input
,POINTER
,FOLLOW_POINTER_in_pointer2969
); if (state
.failed
) return retval
;
6393 if ( state
.backtracking
==0 ) stream_POINTER
.add(POINTER144
);
6395 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:13: ( typeQualifierList )?
6397 int LA47_0
= input
.LA(1);
6398 if ( (LA47_0
==CONSTTOK
) ) {
6403 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:13: typeQualifierList
6405 pushFollow(FOLLOW_typeQualifierList_in_pointer2971
);
6406 typeQualifierList145
=typeQualifierList();
6408 if (state
.failed
) return retval
;
6409 if ( state
.backtracking
==0 ) stream_typeQualifierList
.add(typeQualifierList145
.getTree());
6416 // elements: typeQualifierList, POINTER
6418 // rule labels: retval
6419 // token list labels:
6420 // rule list labels:
6422 if ( state
.backtracking
==0 ) {
6423 retval
.tree
= root_0
;
6424 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6426 root_0
= (CommonTree
)adaptor
.nil();
6427 // 542:32: -> ^( POINTER ( typeQualifierList )? )
6429 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:35: ^( POINTER ( typeQualifierList )? )
6431 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6432 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_POINTER
.nextNode(), root_1
);
6433 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:45: ( typeQualifierList )?
6434 if ( stream_typeQualifierList
.hasNext() ) {
6435 adaptor
.addChild(root_1
, stream_typeQualifierList
.nextTree());
6437 stream_typeQualifierList
.reset();
6439 adaptor
.addChild(root_0
, root_1
);
6445 retval
.tree
= root_0
;
6450 retval
.stop
= input
.LT(-1);
6452 if ( state
.backtracking
==0 ) {
6453 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6454 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6458 catch (RecognitionException e
) {
6463 // do for sure before leaving
6467 // $ANTLR end "pointer"
6470 public static class typeQualifierList_return
extends ParserRuleReturnScope
{
6473 public CommonTree
getTree() { return tree
; }
6477 // $ANTLR start "typeQualifierList"
6478 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:545:1: typeQualifierList : ( typeQualifier )+ ;
6479 public final CTFParser
.typeQualifierList_return
typeQualifierList() throws RecognitionException
{
6480 CTFParser
.typeQualifierList_return retval
= new CTFParser
.typeQualifierList_return();
6481 retval
.start
= input
.LT(1);
6483 CommonTree root_0
= null;
6485 ParserRuleReturnScope typeQualifier146
=null;
6489 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:3: ( ( typeQualifier )+ )
6490 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: ( typeQualifier )+
6492 root_0
= (CommonTree
)adaptor
.nil();
6495 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: ( typeQualifier )+
6500 int LA48_0
= input
.LA(1);
6501 if ( (LA48_0
==CONSTTOK
) ) {
6507 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: typeQualifier
6509 pushFollow(FOLLOW_typeQualifier_in_typeQualifierList2994
);
6510 typeQualifier146
=typeQualifier();
6512 if (state
.failed
) return retval
;
6513 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typeQualifier146
.getTree());
6519 if ( cnt48
>= 1 ) break loop48
;
6520 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6521 EarlyExitException eee
= new EarlyExitException(48, input
);
6529 retval
.stop
= input
.LT(-1);
6531 if ( state
.backtracking
==0 ) {
6532 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6533 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6537 catch (RecognitionException e
) {
6542 // do for sure before leaving
6546 // $ANTLR end "typeQualifierList"
6549 public static class typedefName_return
extends ParserRuleReturnScope
{
6552 public CommonTree
getTree() { return tree
; }
6556 // $ANTLR start "typedefName"
6557 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:549:1: typedefName :{...}? IDENTIFIER ;
6558 public final CTFParser
.typedefName_return
typedefName() throws RecognitionException
{
6559 CTFParser
.typedefName_return retval
= new CTFParser
.typedefName_return();
6560 retval
.start
= input
.LT(1);
6562 CommonTree root_0
= null;
6564 Token IDENTIFIER147
=null;
6566 CommonTree IDENTIFIER147_tree
=null;
6569 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:3: ({...}? IDENTIFIER )
6570 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:5: {...}? IDENTIFIER
6572 root_0
= (CommonTree
)adaptor
.nil();
6575 if ( !((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
6576 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6577 throw new FailedPredicateException(input
, "typedefName", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
6579 IDENTIFIER147
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_typedefName3010
); if (state
.failed
) return retval
;
6580 if ( state
.backtracking
==0 ) {
6581 IDENTIFIER147_tree
= (CommonTree
)adaptor
.create(IDENTIFIER147
);
6582 adaptor
.addChild(root_0
, IDENTIFIER147_tree
);
6585 if ( state
.backtracking
==0 ) { if ((inTypedef() || inTypealiasAlias()) && !isTypeName((IDENTIFIER147
!=null?IDENTIFIER147
.getText():null))) { addTypeName((IDENTIFIER147
!=null?IDENTIFIER147
.getText():null)); } }
6588 retval
.stop
= input
.LT(-1);
6590 if ( state
.backtracking
==0 ) {
6591 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6592 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6596 catch (RecognitionException e
) {
6601 // do for sure before leaving
6605 // $ANTLR end "typedefName"
6608 public static class typealiasTarget_return
extends ParserRuleReturnScope
{
6611 public CommonTree
getTree() { return tree
; }
6615 // $ANTLR start "typealiasTarget"
6616 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:559:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
6617 public final CTFParser
.typealiasTarget_return
typealiasTarget() throws RecognitionException
{
6618 CTFParser
.typealiasTarget_return retval
= new CTFParser
.typealiasTarget_return();
6619 retval
.start
= input
.LT(1);
6621 CommonTree root_0
= null;
6623 ParserRuleReturnScope declarationSpecifiers148
=null;
6624 ParserRuleReturnScope abstractDeclaratorList149
=null;
6628 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
6629 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:5: declarationSpecifiers ( abstractDeclaratorList )?
6631 root_0
= (CommonTree
)adaptor
.nil();
6634 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget3027
);
6635 declarationSpecifiers148
=declarationSpecifiers();
6637 if (state
.failed
) return retval
;
6638 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, declarationSpecifiers148
.getTree());
6640 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:27: ( abstractDeclaratorList )?
6642 int LA49_0
= input
.LA(1);
6643 if ( (LA49_0
==IDENTIFIER
||LA49_0
==LPAREN
||LA49_0
==POINTER
) ) {
6648 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:27: abstractDeclaratorList
6650 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget3029
);
6651 abstractDeclaratorList149
=abstractDeclaratorList();
6653 if (state
.failed
) return retval
;
6654 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList149
.getTree());
6663 retval
.stop
= input
.LT(-1);
6665 if ( state
.backtracking
==0 ) {
6666 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6667 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6671 catch (RecognitionException e
) {
6676 // do for sure before leaving
6680 // $ANTLR end "typealiasTarget"
6683 public static class typealiasAlias_return
extends ParserRuleReturnScope
{
6686 public CommonTree
getTree() { return tree
; }
6690 // $ANTLR start "typealiasAlias"
6691 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:569:1: typealiasAlias : ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? );
6692 public final CTFParser
.typealiasAlias_return
typealiasAlias() throws RecognitionException
{
6693 CTFParser
.typealiasAlias_return retval
= new CTFParser
.typealiasAlias_return();
6694 retval
.start
= input
.LT(1);
6696 CommonTree root_0
= null;
6698 ParserRuleReturnScope abstractDeclaratorList150
=null;
6699 ParserRuleReturnScope declarationSpecifiers151
=null;
6700 ParserRuleReturnScope abstractDeclaratorList152
=null;
6707 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:576:3: ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? )
6709 switch ( input
.LA(1) ) {
6718 int LA51_2
= input
.LA(2);
6719 if ( (!(((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))))) ) {
6722 else if ( ((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) ) {
6727 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6728 int nvaeMark
= input
.mark();
6731 NoViableAltException nvae
=
6732 new NoViableAltException("", 51, 2, input
);
6735 input
.rewind(nvaeMark
);
6747 case FLOATINGPOINTTOK
:
6766 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6767 NoViableAltException nvae
=
6768 new NoViableAltException("", 51, 0, input
);
6773 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:576:5: abstractDeclaratorList
6775 root_0
= (CommonTree
)adaptor
.nil();
6778 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3055
);
6779 abstractDeclaratorList150
=abstractDeclaratorList();
6781 if (state
.failed
) return retval
;
6782 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList150
.getTree());
6787 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:5: declarationSpecifiers ( abstractDeclaratorList )?
6789 root_0
= (CommonTree
)adaptor
.nil();
6792 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias3061
);
6793 declarationSpecifiers151
=declarationSpecifiers();
6795 if (state
.failed
) return retval
;
6796 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, declarationSpecifiers151
.getTree());
6798 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:27: ( abstractDeclaratorList )?
6800 int LA50_0
= input
.LA(1);
6801 if ( (LA50_0
==IDENTIFIER
||LA50_0
==LPAREN
||LA50_0
==POINTER
) ) {
6806 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:27: abstractDeclaratorList
6808 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3063
);
6809 abstractDeclaratorList152
=abstractDeclaratorList();
6811 if (state
.failed
) return retval
;
6812 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList152
.getTree());
6823 retval
.stop
= input
.LT(-1);
6825 if ( state
.backtracking
==0 ) {
6826 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6827 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6829 if ( state
.backtracking
==0 ) {
6830 typealiasAliasOff();
6834 catch (RecognitionException e
) {
6839 // do for sure before leaving
6843 // $ANTLR end "typealiasAlias"
6846 public static class typealiasDecl_return
extends ParserRuleReturnScope
{
6849 public CommonTree
getTree() { return tree
; }
6853 // $ANTLR start "typealiasDecl"
6854 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:580:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
6855 public final CTFParser
.typealiasDecl_return
typealiasDecl() throws RecognitionException
{
6856 CTFParser
.typealiasDecl_return retval
= new CTFParser
.typealiasDecl_return();
6857 retval
.start
= input
.LT(1);
6859 CommonTree root_0
= null;
6861 Token TYPEALIASTOK153
=null;
6862 Token TYPE_ASSIGNMENT155
=null;
6863 ParserRuleReturnScope typealiasTarget154
=null;
6864 ParserRuleReturnScope typealiasAlias156
=null;
6866 CommonTree TYPEALIASTOK153_tree
=null;
6867 CommonTree TYPE_ASSIGNMENT155_tree
=null;
6868 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
6869 RewriteRuleTokenStream stream_TYPEALIASTOK
=new RewriteRuleTokenStream(adaptor
,"token TYPEALIASTOK");
6870 RewriteRuleSubtreeStream stream_typealiasAlias
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasAlias");
6871 RewriteRuleSubtreeStream stream_typealiasTarget
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasTarget");
6874 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:3: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
6875 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:5: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
6877 TYPEALIASTOK153
=(Token
)match(input
,TYPEALIASTOK
,FOLLOW_TYPEALIASTOK_in_typealiasDecl3077
); if (state
.failed
) return retval
;
6878 if ( state
.backtracking
==0 ) stream_TYPEALIASTOK
.add(TYPEALIASTOK153
);
6880 pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3079
);
6881 typealiasTarget154
=typealiasTarget();
6883 if (state
.failed
) return retval
;
6884 if ( state
.backtracking
==0 ) stream_typealiasTarget
.add(typealiasTarget154
.getTree());
6885 TYPE_ASSIGNMENT155
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3081
); if (state
.failed
) return retval
;
6886 if ( state
.backtracking
==0 ) stream_TYPE_ASSIGNMENT
.add(TYPE_ASSIGNMENT155
);
6888 pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3083
);
6889 typealiasAlias156
=typealiasAlias();
6891 if (state
.failed
) return retval
;
6892 if ( state
.backtracking
==0 ) stream_typealiasAlias
.add(typealiasAlias156
.getTree());
6894 // elements: typealiasTarget, typealiasAlias
6896 // rule labels: retval
6897 // token list labels:
6898 // rule list labels:
6900 if ( state
.backtracking
==0 ) {
6901 retval
.tree
= root_0
;
6902 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6904 root_0
= (CommonTree
)adaptor
.nil();
6905 // 582:7: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
6907 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:10: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
6909 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6910 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS
, "TYPEALIAS"), root_1
);
6911 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:583:14: ^( TYPEALIAS_TARGET typealiasTarget )
6913 CommonTree root_2
= (CommonTree
)adaptor
.nil();
6914 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_TARGET
, "TYPEALIAS_TARGET"), root_2
);
6915 adaptor
.addChild(root_2
, stream_typealiasTarget
.nextTree());
6916 adaptor
.addChild(root_1
, root_2
);
6919 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:584:14: ^( TYPEALIAS_ALIAS typealiasAlias )
6921 CommonTree root_2
= (CommonTree
)adaptor
.nil();
6922 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_ALIAS
, "TYPEALIAS_ALIAS"), root_2
);
6923 adaptor
.addChild(root_2
, stream_typealiasAlias
.nextTree());
6924 adaptor
.addChild(root_1
, root_2
);
6927 adaptor
.addChild(root_0
, root_1
);
6933 retval
.tree
= root_0
;
6938 retval
.stop
= input
.LT(-1);
6940 if ( state
.backtracking
==0 ) {
6941 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6942 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6946 catch (RecognitionException e
) {
6951 // do for sure before leaving
6955 // $ANTLR end "typealiasDecl"
6958 public static class ctfKeyword_return
extends ParserRuleReturnScope
{
6961 public CommonTree
getTree() { return tree
; }
6965 // $ANTLR start "ctfKeyword"
6966 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:590:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
6967 public final CTFParser
.ctfKeyword_return
ctfKeyword() throws RecognitionException
{
6968 CTFParser
.ctfKeyword_return retval
= new CTFParser
.ctfKeyword_return();
6969 retval
.start
= input
.LT(1);
6971 CommonTree root_0
= null;
6975 CommonTree set157_tree
=null;
6978 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:591:3: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
6979 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:
6981 root_0
= (CommonTree
)adaptor
.nil();
6985 if ( input
.LA(1)==ALIGNTOK
||input
.LA(1)==EVENTTOK
||input
.LA(1)==SIGNEDTOK
||input
.LA(1)==STRINGTOK
) {
6987 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(set157
));
6988 state
.errorRecovery
=false;
6992 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6993 MismatchedSetException mse
= new MismatchedSetException(null,input
);
6998 retval
.stop
= input
.LT(-1);
7000 if ( state
.backtracking
==0 ) {
7001 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7002 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7006 catch (RecognitionException e
) {
7011 // do for sure before leaving
7015 // $ANTLR end "ctfKeyword"
7018 public static class ctfSpecifier_return
extends ParserRuleReturnScope
{
7021 public CommonTree
getTree() { return tree
; }
7025 // $ANTLR start "ctfSpecifier"
7026 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:597:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
7027 public final CTFParser
.ctfSpecifier_return
ctfSpecifier() throws RecognitionException
{
7028 CTFParser
.ctfSpecifier_return retval
= new CTFParser
.ctfSpecifier_return();
7029 retval
.start
= input
.LT(1);
7031 CommonTree root_0
= null;
7033 ParserRuleReturnScope ctfSpecifierHead158
=null;
7034 ParserRuleReturnScope ctfBody159
=null;
7035 ParserRuleReturnScope typealiasDecl160
=null;
7037 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
7038 RewriteRuleSubtreeStream stream_ctfSpecifierHead
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfSpecifierHead");
7039 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
7042 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
7044 int LA52_0
= input
.LA(1);
7045 if ( (LA52_0
==CLOCKTOK
||LA52_0
==ENVTOK
||LA52_0
==EVENTTOK
||LA52_0
==STREAMTOK
||LA52_0
==TRACETOK
) ) {
7048 else if ( (LA52_0
==TYPEALIASTOK
) ) {
7053 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7054 NoViableAltException nvae
=
7055 new NoViableAltException("", 52, 0, input
);
7061 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:5: ctfSpecifierHead ctfBody
7063 pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3183
);
7064 ctfSpecifierHead158
=ctfSpecifierHead();
7066 if (state
.failed
) return retval
;
7067 if ( state
.backtracking
==0 ) stream_ctfSpecifierHead
.add(ctfSpecifierHead158
.getTree());
7068 pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3185
);
7069 ctfBody159
=ctfBody();
7071 if (state
.failed
) return retval
;
7072 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody159
.getTree());
7074 // elements: ctfSpecifierHead, ctfBody
7076 // rule labels: retval
7077 // token list labels:
7078 // rule list labels:
7080 if ( state
.backtracking
==0 ) {
7081 retval
.tree
= root_0
;
7082 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7084 root_0
= (CommonTree
)adaptor
.nil();
7085 // 599:30: -> ^( ctfSpecifierHead ctfBody )
7087 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:33: ^( ctfSpecifierHead ctfBody )
7089 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7090 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ctfSpecifierHead
.nextNode(), root_1
);
7091 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7092 adaptor
.addChild(root_0
, root_1
);
7098 retval
.tree
= root_0
;
7104 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:601:5: typealiasDecl
7106 pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3202
);
7107 typealiasDecl160
=typealiasDecl();
7109 if (state
.failed
) return retval
;
7110 if ( state
.backtracking
==0 ) stream_typealiasDecl
.add(typealiasDecl160
.getTree());
7112 // elements: typealiasDecl
7114 // rule labels: retval
7115 // token list labels:
7116 // rule list labels:
7118 if ( state
.backtracking
==0 ) {
7119 retval
.tree
= root_0
;
7120 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7122 root_0
= (CommonTree
)adaptor
.nil();
7123 // 601:19: -> ^( DECLARATION typealiasDecl )
7125 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:601:22: ^( DECLARATION typealiasDecl )
7127 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7128 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
7129 adaptor
.addChild(root_1
, stream_typealiasDecl
.nextTree());
7130 adaptor
.addChild(root_0
, root_1
);
7136 retval
.tree
= root_0
;
7143 retval
.stop
= input
.LT(-1);
7145 if ( state
.backtracking
==0 ) {
7146 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7147 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7151 catch (RecognitionException e
) {
7156 // do for sure before leaving
7160 // $ANTLR end "ctfSpecifier"
7163 public static class ctfSpecifierHead_return
extends ParserRuleReturnScope
{
7166 public CommonTree
getTree() { return tree
; }
7170 // $ANTLR start "ctfSpecifierHead"
7171 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:604:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK );
7172 public final CTFParser
.ctfSpecifierHead_return
ctfSpecifierHead() throws RecognitionException
{
7173 CTFParser
.ctfSpecifierHead_return retval
= new CTFParser
.ctfSpecifierHead_return();
7174 retval
.start
= input
.LT(1);
7176 CommonTree root_0
= null;
7178 Token EVENTTOK161
=null;
7179 Token STREAMTOK162
=null;
7180 Token TRACETOK163
=null;
7181 Token ENVTOK164
=null;
7182 Token CLOCKTOK165
=null;
7184 CommonTree EVENTTOK161_tree
=null;
7185 CommonTree STREAMTOK162_tree
=null;
7186 CommonTree TRACETOK163_tree
=null;
7187 CommonTree ENVTOK164_tree
=null;
7188 CommonTree CLOCKTOK165_tree
=null;
7189 RewriteRuleTokenStream stream_ENVTOK
=new RewriteRuleTokenStream(adaptor
,"token ENVTOK");
7190 RewriteRuleTokenStream stream_TRACETOK
=new RewriteRuleTokenStream(adaptor
,"token TRACETOK");
7191 RewriteRuleTokenStream stream_STREAMTOK
=new RewriteRuleTokenStream(adaptor
,"token STREAMTOK");
7192 RewriteRuleTokenStream stream_CLOCKTOK
=new RewriteRuleTokenStream(adaptor
,"token CLOCKTOK");
7193 RewriteRuleTokenStream stream_EVENTTOK
=new RewriteRuleTokenStream(adaptor
,"token EVENTTOK");
7196 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:3: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK )
7198 switch ( input
.LA(1) ) {
7225 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7226 NoViableAltException nvae
=
7227 new NoViableAltException("", 53, 0, input
);
7232 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:5: EVENTTOK
7234 EVENTTOK161
=(Token
)match(input
,EVENTTOK
,FOLLOW_EVENTTOK_in_ctfSpecifierHead3223
); if (state
.failed
) return retval
;
7235 if ( state
.backtracking
==0 ) stream_EVENTTOK
.add(EVENTTOK161
);
7240 // rule labels: retval
7241 // token list labels:
7242 // rule list labels:
7244 if ( state
.backtracking
==0 ) {
7245 retval
.tree
= root_0
;
7246 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7248 root_0
= (CommonTree
)adaptor
.nil();
7251 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(EVENT
, "EVENT"));
7255 retval
.tree
= root_0
;
7261 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:5: STREAMTOK
7263 STREAMTOK162
=(Token
)match(input
,STREAMTOK
,FOLLOW_STREAMTOK_in_ctfSpecifierHead3233
); if (state
.failed
) return retval
;
7264 if ( state
.backtracking
==0 ) stream_STREAMTOK
.add(STREAMTOK162
);
7269 // rule labels: retval
7270 // token list labels:
7271 // rule list labels:
7273 if ( state
.backtracking
==0 ) {
7274 retval
.tree
= root_0
;
7275 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7277 root_0
= (CommonTree
)adaptor
.nil();
7278 // 606:15: -> STREAM
7280 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(STREAM
, "STREAM"));
7284 retval
.tree
= root_0
;
7290 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:607:5: TRACETOK
7292 TRACETOK163
=(Token
)match(input
,TRACETOK
,FOLLOW_TRACETOK_in_ctfSpecifierHead3243
); if (state
.failed
) return retval
;
7293 if ( state
.backtracking
==0 ) stream_TRACETOK
.add(TRACETOK163
);
7298 // rule labels: retval
7299 // token list labels:
7300 // rule list labels:
7302 if ( state
.backtracking
==0 ) {
7303 retval
.tree
= root_0
;
7304 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7306 root_0
= (CommonTree
)adaptor
.nil();
7309 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(TRACE
, "TRACE"));
7313 retval
.tree
= root_0
;
7319 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:608:5: ENVTOK
7321 ENVTOK164
=(Token
)match(input
,ENVTOK
,FOLLOW_ENVTOK_in_ctfSpecifierHead3253
); if (state
.failed
) return retval
;
7322 if ( state
.backtracking
==0 ) stream_ENVTOK
.add(ENVTOK164
);
7327 // rule labels: retval
7328 // token list labels:
7329 // rule list labels:
7331 if ( state
.backtracking
==0 ) {
7332 retval
.tree
= root_0
;
7333 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7335 root_0
= (CommonTree
)adaptor
.nil();
7338 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(ENV
, "ENV"));
7342 retval
.tree
= root_0
;
7348 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:609:5: CLOCKTOK
7350 CLOCKTOK165
=(Token
)match(input
,CLOCKTOK
,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3263
); if (state
.failed
) return retval
;
7351 if ( state
.backtracking
==0 ) stream_CLOCKTOK
.add(CLOCKTOK165
);
7356 // rule labels: retval
7357 // token list labels:
7358 // rule list labels:
7360 if ( state
.backtracking
==0 ) {
7361 retval
.tree
= root_0
;
7362 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7364 root_0
= (CommonTree
)adaptor
.nil();
7367 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(CLOCK
, "CLOCK"));
7371 retval
.tree
= root_0
;
7378 retval
.stop
= input
.LT(-1);
7380 if ( state
.backtracking
==0 ) {
7381 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7382 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7386 catch (RecognitionException e
) {
7391 // do for sure before leaving
7395 // $ANTLR end "ctfSpecifierHead"
7398 public static class ctfTypeSpecifier_return
extends ParserRuleReturnScope
{
7401 public CommonTree
getTree() { return tree
; }
7405 // $ANTLR start "ctfTypeSpecifier"
7406 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:612:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
7407 public final CTFParser
.ctfTypeSpecifier_return
ctfTypeSpecifier() throws RecognitionException
{
7408 CTFParser
.ctfTypeSpecifier_return retval
= new CTFParser
.ctfTypeSpecifier_return();
7409 retval
.start
= input
.LT(1);
7411 CommonTree root_0
= null;
7413 Token FLOATINGPOINTTOK166
=null;
7414 Token INTEGERTOK168
=null;
7415 Token STRINGTOK170
=null;
7416 ParserRuleReturnScope ctfBody167
=null;
7417 ParserRuleReturnScope ctfBody169
=null;
7418 ParserRuleReturnScope ctfBody171
=null;
7420 CommonTree FLOATINGPOINTTOK166_tree
=null;
7421 CommonTree INTEGERTOK168_tree
=null;
7422 CommonTree STRINGTOK170_tree
=null;
7423 RewriteRuleTokenStream stream_FLOATINGPOINTTOK
=new RewriteRuleTokenStream(adaptor
,"token FLOATINGPOINTTOK");
7424 RewriteRuleTokenStream stream_INTEGERTOK
=new RewriteRuleTokenStream(adaptor
,"token INTEGERTOK");
7425 RewriteRuleTokenStream stream_STRINGTOK
=new RewriteRuleTokenStream(adaptor
,"token STRINGTOK");
7426 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
7429 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:3: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
7431 switch ( input
.LA(1) ) {
7432 case FLOATINGPOINTTOK
:
7448 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7449 NoViableAltException nvae
=
7450 new NoViableAltException("", 55, 0, input
);
7455 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:5: FLOATINGPOINTTOK ctfBody
7457 FLOATINGPOINTTOK166
=(Token
)match(input
,FLOATINGPOINTTOK
,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3286
); if (state
.failed
) return retval
;
7458 if ( state
.backtracking
==0 ) stream_FLOATINGPOINTTOK
.add(FLOATINGPOINTTOK166
);
7460 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3288
);
7461 ctfBody167
=ctfBody();
7463 if (state
.failed
) return retval
;
7464 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody167
.getTree());
7466 // elements: ctfBody
7468 // rule labels: retval
7469 // token list labels:
7470 // rule list labels:
7472 if ( state
.backtracking
==0 ) {
7473 retval
.tree
= root_0
;
7474 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7476 root_0
= (CommonTree
)adaptor
.nil();
7477 // 614:30: -> ^( FLOATING_POINT ( ctfBody )? )
7479 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:33: ^( FLOATING_POINT ( ctfBody )? )
7481 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7482 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(FLOATING_POINT
, "FLOATING_POINT"), root_1
);
7483 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:50: ( ctfBody )?
7484 if ( stream_ctfBody
.hasNext() ) {
7485 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7487 stream_ctfBody
.reset();
7489 adaptor
.addChild(root_0
, root_1
);
7495 retval
.tree
= root_0
;
7501 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:5: INTEGERTOK ctfBody
7503 INTEGERTOK168
=(Token
)match(input
,INTEGERTOK
,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3303
); if (state
.failed
) return retval
;
7504 if ( state
.backtracking
==0 ) stream_INTEGERTOK
.add(INTEGERTOK168
);
7506 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3305
);
7507 ctfBody169
=ctfBody();
7509 if (state
.failed
) return retval
;
7510 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody169
.getTree());
7512 // elements: ctfBody
7514 // rule labels: retval
7515 // token list labels:
7516 // rule list labels:
7518 if ( state
.backtracking
==0 ) {
7519 retval
.tree
= root_0
;
7520 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7522 root_0
= (CommonTree
)adaptor
.nil();
7523 // 615:24: -> ^( INTEGER ( ctfBody )? )
7525 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:27: ^( INTEGER ( ctfBody )? )
7527 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7528 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(INTEGER
, "INTEGER"), root_1
);
7529 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:37: ( ctfBody )?
7530 if ( stream_ctfBody
.hasNext() ) {
7531 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7533 stream_ctfBody
.reset();
7535 adaptor
.addChild(root_0
, root_1
);
7541 retval
.tree
= root_0
;
7547 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:5: STRINGTOK ( ctfBody )?
7549 STRINGTOK170
=(Token
)match(input
,STRINGTOK
,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3320
); if (state
.failed
) return retval
;
7550 if ( state
.backtracking
==0 ) stream_STRINGTOK
.add(STRINGTOK170
);
7552 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:15: ( ctfBody )?
7554 int LA54_0
= input
.LA(1);
7555 if ( (LA54_0
==LCURL
) ) {
7560 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:15: ctfBody
7562 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3322
);
7563 ctfBody171
=ctfBody();
7565 if (state
.failed
) return retval
;
7566 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody171
.getTree());
7573 // elements: ctfBody
7575 // rule labels: retval
7576 // token list labels:
7577 // rule list labels:
7579 if ( state
.backtracking
==0 ) {
7580 retval
.tree
= root_0
;
7581 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7583 root_0
= (CommonTree
)adaptor
.nil();
7584 // 616:24: -> ^( STRING ( ctfBody )? )
7586 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:27: ^( STRING ( ctfBody )? )
7588 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7589 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRING
, "STRING"), root_1
);
7590 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:36: ( ctfBody )?
7591 if ( stream_ctfBody
.hasNext() ) {
7592 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7594 stream_ctfBody
.reset();
7596 adaptor
.addChild(root_0
, root_1
);
7602 retval
.tree
= root_0
;
7609 retval
.stop
= input
.LT(-1);
7611 if ( state
.backtracking
==0 ) {
7612 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7613 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7617 catch (RecognitionException e
) {
7622 // do for sure before leaving
7626 // $ANTLR end "ctfTypeSpecifier"
7629 public static class ctfBody_return
extends ParserRuleReturnScope
{
7632 public CommonTree
getTree() { return tree
; }
7636 // $ANTLR start "ctfBody"
7637 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:619:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
7638 public final CTFParser
.ctfBody_return
ctfBody() throws RecognitionException
{
7639 Symbols_stack
.push(new Symbols_scope());
7641 CTFParser
.ctfBody_return retval
= new CTFParser
.ctfBody_return();
7642 retval
.start
= input
.LT(1);
7644 CommonTree root_0
= null;
7646 Token LCURL172
=null;
7647 Token RCURL174
=null;
7648 ParserRuleReturnScope ctfAssignmentExpressionList173
=null;
7650 CommonTree LCURL172_tree
=null;
7651 CommonTree RCURL174_tree
=null;
7652 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
7653 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
7654 RewriteRuleSubtreeStream stream_ctfAssignmentExpressionList
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfAssignmentExpressionList");
7657 Symbols_stack
.peek().types
= new HashSet
<String
>();
7660 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:3: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
7661 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:5: LCURL ( ctfAssignmentExpressionList )? RCURL
7663 LCURL172
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_ctfBody3355
); if (state
.failed
) return retval
;
7664 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL172
);
7666 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:11: ( ctfAssignmentExpressionList )?
7668 int LA56_0
= input
.LA(1);
7669 if ( (LA56_0
==ALIGNTOK
||(LA56_0
>= BOOLTOK
&& LA56_0
<= CHARTOK
)||LA56_0
==CLOCKTOK
||(LA56_0
>= COMPLEXTOK
&& LA56_0
<= DECIMAL_LITERAL
)||LA56_0
==DOUBLETOK
||(LA56_0
>= ENUMTOK
&& LA56_0
<= ENVTOK
)||(LA56_0
>= EVENTTOK
&& LA56_0
<= FLOATTOK
)||LA56_0
==HEX_LITERAL
||(LA56_0
>= IDENTIFIER
&& LA56_0
<= IMAGINARYTOK
)||LA56_0
==INTEGERTOK
||LA56_0
==INTTOK
||LA56_0
==LONGTOK
||LA56_0
==OCTAL_LITERAL
||(LA56_0
>= SHORTTOK
&& LA56_0
<= SIGNEDTOK
)||LA56_0
==STREAMTOK
||LA56_0
==STRINGTOK
||(LA56_0
>= STRING_LITERAL
&& LA56_0
<= STRUCTTOK
)||(LA56_0
>= TRACETOK
&& LA56_0
<= TYPEDEFTOK
)||(LA56_0
>= UNSIGNEDTOK
&& LA56_0
<= VOIDTOK
)) ) {
7674 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:11: ctfAssignmentExpressionList
7676 pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3357
);
7677 ctfAssignmentExpressionList173
=ctfAssignmentExpressionList();
7679 if (state
.failed
) return retval
;
7680 if ( state
.backtracking
==0 ) stream_ctfAssignmentExpressionList
.add(ctfAssignmentExpressionList173
.getTree());
7686 RCURL174
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_ctfBody3360
); if (state
.failed
) return retval
;
7687 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL174
);
7690 // elements: ctfAssignmentExpressionList
7692 // rule labels: retval
7693 // token list labels:
7694 // rule list labels:
7696 if ( state
.backtracking
==0 ) {
7697 retval
.tree
= root_0
;
7698 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7700 root_0
= (CommonTree
)adaptor
.nil();
7701 // 624:46: -> ( ctfAssignmentExpressionList )?
7703 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:49: ( ctfAssignmentExpressionList )?
7704 if ( stream_ctfAssignmentExpressionList
.hasNext() ) {
7705 adaptor
.addChild(root_0
, stream_ctfAssignmentExpressionList
.nextTree());
7707 stream_ctfAssignmentExpressionList
.reset();
7712 retval
.tree
= root_0
;
7717 retval
.stop
= input
.LT(-1);
7719 if ( state
.backtracking
==0 ) {
7720 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7721 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7725 catch (RecognitionException e
) {
7730 // do for sure before leaving
7731 Symbols_stack
.pop();
7736 // $ANTLR end "ctfBody"
7739 public static class ctfAssignmentExpressionList_return
extends ParserRuleReturnScope
{
7742 public CommonTree
getTree() { return tree
; }
7746 // $ANTLR start "ctfAssignmentExpressionList"
7747 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:627:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM !)+ ;
7748 public final CTFParser
.ctfAssignmentExpressionList_return
ctfAssignmentExpressionList() throws RecognitionException
{
7749 CTFParser
.ctfAssignmentExpressionList_return retval
= new CTFParser
.ctfAssignmentExpressionList_return();
7750 retval
.start
= input
.LT(1);
7752 CommonTree root_0
= null;
7755 ParserRuleReturnScope ctfAssignmentExpression175
=null;
7757 CommonTree TERM176_tree
=null;
7760 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:3: ( ( ctfAssignmentExpression TERM !)+ )
7761 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:5: ( ctfAssignmentExpression TERM !)+
7763 root_0
= (CommonTree
)adaptor
.nil();
7766 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:5: ( ctfAssignmentExpression TERM !)+
7771 int LA57_0
= input
.LA(1);
7772 if ( (LA57_0
==ALIGNTOK
||(LA57_0
>= BOOLTOK
&& LA57_0
<= CHARTOK
)||LA57_0
==CLOCKTOK
||(LA57_0
>= COMPLEXTOK
&& LA57_0
<= DECIMAL_LITERAL
)||LA57_0
==DOUBLETOK
||(LA57_0
>= ENUMTOK
&& LA57_0
<= ENVTOK
)||(LA57_0
>= EVENTTOK
&& LA57_0
<= FLOATTOK
)||LA57_0
==HEX_LITERAL
||(LA57_0
>= IDENTIFIER
&& LA57_0
<= IMAGINARYTOK
)||LA57_0
==INTEGERTOK
||LA57_0
==INTTOK
||LA57_0
==LONGTOK
||LA57_0
==OCTAL_LITERAL
||(LA57_0
>= SHORTTOK
&& LA57_0
<= SIGNEDTOK
)||LA57_0
==STREAMTOK
||LA57_0
==STRINGTOK
||(LA57_0
>= STRING_LITERAL
&& LA57_0
<= STRUCTTOK
)||(LA57_0
>= TRACETOK
&& LA57_0
<= TYPEDEFTOK
)||(LA57_0
>= UNSIGNEDTOK
&& LA57_0
<= VOIDTOK
)) ) {
7778 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:6: ctfAssignmentExpression TERM !
7780 pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3379
);
7781 ctfAssignmentExpression175
=ctfAssignmentExpression();
7783 if (state
.failed
) return retval
;
7784 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfAssignmentExpression175
.getTree());
7786 TERM176
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_ctfAssignmentExpressionList3381
); if (state
.failed
) return retval
;
7791 if ( cnt57
>= 1 ) break loop57
;
7792 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7793 EarlyExitException eee
= new EarlyExitException(57, input
);
7801 retval
.stop
= input
.LT(-1);
7803 if ( state
.backtracking
==0 ) {
7804 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7805 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7809 catch (RecognitionException e
) {
7814 // do for sure before leaving
7818 // $ANTLR end "ctfAssignmentExpressionList"
7821 public static class ctfAssignmentExpression_return
extends ParserRuleReturnScope
{
7824 public CommonTree
getTree() { return tree
; }
7828 // $ANTLR start "ctfAssignmentExpression"
7829 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:631: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 );
7830 public final CTFParser
.ctfAssignmentExpression_return
ctfAssignmentExpression() throws RecognitionException
{
7831 CTFParser
.ctfAssignmentExpression_return retval
= new CTFParser
.ctfAssignmentExpression_return();
7832 retval
.start
= input
.LT(1);
7834 CommonTree root_0
= null;
7836 Token assignment
=null;
7837 Token type_assignment
=null;
7838 ParserRuleReturnScope left
=null;
7839 ParserRuleReturnScope right1
=null;
7840 ParserRuleReturnScope right2
=null;
7841 ParserRuleReturnScope declarationSpecifiers177
=null;
7842 ParserRuleReturnScope declaratorList178
=null;
7843 ParserRuleReturnScope typealiasDecl179
=null;
7845 CommonTree assignment_tree
=null;
7846 CommonTree type_assignment_tree
=null;
7847 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
7848 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
7849 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
7850 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
7851 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
7852 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
7855 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:637: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) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl )
7857 switch ( input
.LA(1) ) {
7860 int LA59_1
= input
.LA(2);
7861 if ( ((LA59_1
>= ARROW
&& LA59_1
<= ASSIGNMENT
)||LA59_1
==DOT
||LA59_1
==OPENBRAC
||LA59_1
==TYPE_ASSIGNMENT
) ) {
7864 else if ( (LA59_1
==BOOLTOK
||LA59_1
==CHARTOK
||(LA59_1
>= COMPLEXTOK
&& LA59_1
<= CONSTTOK
)||LA59_1
==DOUBLETOK
||LA59_1
==ENUMTOK
||(LA59_1
>= FLOATINGPOINTTOK
&& LA59_1
<= FLOATTOK
)||(LA59_1
>= IDENTIFIER
&& LA59_1
<= IMAGINARYTOK
)||LA59_1
==INTEGERTOK
||LA59_1
==INTTOK
||LA59_1
==LONGTOK
||LA59_1
==POINTER
||LA59_1
==SHORTTOK
||LA59_1
==SIGNEDTOK
||LA59_1
==STRINGTOK
||LA59_1
==STRUCTTOK
||LA59_1
==TYPEDEFTOK
||(LA59_1
>= UNSIGNEDTOK
&& LA59_1
<= VOIDTOK
)) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
7871 case CHARACTER_LITERAL
:
7873 case DECIMAL_LITERAL
:
7880 case STRING_LITERAL
:
7888 switch ( input
.LA(2) ) {
7893 case TYPE_ASSIGNMENT
:
7904 case FLOATINGPOINTTOK
:
7929 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7930 int nvaeMark
= input
.mark();
7933 NoViableAltException nvae
=
7934 new NoViableAltException("", 59, 3, input
);
7937 input
.rewind(nvaeMark
);
7948 case FLOATINGPOINTTOK
:
7966 switch ( input
.LA(2) ) {
7971 case TYPE_ASSIGNMENT
:
7982 case FLOATINGPOINTTOK
:
8008 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8009 int nvaeMark
= input
.mark();
8012 NoViableAltException nvae
=
8013 new NoViableAltException("", 59, 5, input
);
8016 input
.rewind(nvaeMark
);
8027 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8028 NoViableAltException nvae
=
8029 new NoViableAltException("", 59, 0, input
);
8034 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:637: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) ) ) )
8036 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3404
);
8037 left
=unaryExpression();
8039 if (state
.failed
) return retval
;
8040 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(left
.getTree());
8041 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:638:7: (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) ) ) )
8043 int LA58_0
= input
.LA(1);
8044 if ( (LA58_0
==ASSIGNMENT
) ) {
8047 else if ( (LA58_0
==TYPE_ASSIGNMENT
) ) {
8052 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8053 NoViableAltException nvae
=
8054 new NoViableAltException("", 58, 0, input
);
8060 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:638:9: assignment= ASSIGNMENT right1= unaryExpression
8062 assignment
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3416
); if (state
.failed
) return retval
;
8063 if ( state
.backtracking
==0 ) stream_ASSIGNMENT
.add(assignment
);
8065 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3420
);
8066 right1
=unaryExpression();
8068 if (state
.failed
) return retval
;
8069 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(right1
.getTree());
8071 // elements: right1, left
8073 // rule labels: right1, left, retval
8074 // token list labels:
8075 // rule list labels:
8077 if ( state
.backtracking
==0 ) {
8078 retval
.tree
= root_0
;
8079 RewriteRuleSubtreeStream stream_right1
=new RewriteRuleSubtreeStream(adaptor
,"rule right1",right1
!=null?right1
.getTree():null);
8080 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.getTree():null);
8081 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8083 root_0
= (CommonTree
)adaptor
.nil();
8084 // 639:11: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
8086 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639:14: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
8088 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8089 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_VAL
, "CTF_EXPRESSION_VAL"), root_1
);
8090 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640:18: ^( CTF_LEFT $left)
8092 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8093 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
8094 adaptor
.addChild(root_2
, stream_left
.nextTree());
8095 adaptor
.addChild(root_1
, root_2
);
8098 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:641:18: ^( CTF_RIGHT $right1)
8100 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8101 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
8102 adaptor
.addChild(root_2
, stream_right1
.nextTree());
8103 adaptor
.addChild(root_1
, root_2
);
8106 adaptor
.addChild(root_0
, root_1
);
8112 retval
.tree
= root_0
;
8118 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:642:9: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
8120 type_assignment
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3496
); if (state
.failed
) return retval
;
8121 if ( state
.backtracking
==0 ) stream_TYPE_ASSIGNMENT
.add(type_assignment
);
8123 pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3500
);
8124 right2
=typeSpecifier();
8126 if (state
.failed
) return retval
;
8127 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(right2
.getTree());
8129 // elements: left, right2
8131 // rule labels: left, right2, retval
8132 // token list labels:
8133 // rule list labels:
8135 if ( state
.backtracking
==0 ) {
8136 retval
.tree
= root_0
;
8137 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.getTree():null);
8138 RewriteRuleSubtreeStream stream_right2
=new RewriteRuleSubtreeStream(adaptor
,"rule right2",right2
!=null?right2
.getTree():null);
8139 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8141 root_0
= (CommonTree
)adaptor
.nil();
8142 // 643:11: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
8144 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:643:14: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
8146 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8147 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_TYPE
, "CTF_EXPRESSION_TYPE"), root_1
);
8148 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:644:18: ^( CTF_LEFT $left)
8150 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8151 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
8152 adaptor
.addChild(root_2
, stream_left
.nextTree());
8153 adaptor
.addChild(root_1
, root_2
);
8156 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:18: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
8158 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8159 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
8160 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:30: ^( TYPE_SPECIFIER_LIST $right2)
8162 CommonTree root_3
= (CommonTree
)adaptor
.nil();
8163 root_3
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_3
);
8164 adaptor
.addChild(root_3
, stream_right2
.nextTree());
8165 adaptor
.addChild(root_2
, root_3
);
8168 adaptor
.addChild(root_1
, root_2
);
8171 adaptor
.addChild(root_0
, root_1
);
8177 retval
.tree
= root_0
;
8188 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:5: ( declarationSpecifiers {...}? declaratorList )
8190 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:5: ( declarationSpecifiers {...}? declaratorList )
8191 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:6: declarationSpecifiers {...}? declaratorList
8193 pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3583
);
8194 declarationSpecifiers177
=declarationSpecifiers();
8196 if (state
.failed
) return retval
;
8197 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers177
.getTree());
8198 if ( !((inTypedef())) ) {
8199 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8200 throw new FailedPredicateException(input
, "ctfAssignmentExpression", "inTypedef()");
8202 pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3587
);
8203 declaratorList178
=declaratorList();
8205 if (state
.failed
) return retval
;
8206 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList178
.getTree());
8210 // elements: declarationSpecifiers, declaratorList
8212 // rule labels: retval
8213 // token list labels:
8214 // rule list labels:
8216 if ( state
.backtracking
==0 ) {
8217 retval
.tree
= root_0
;
8218 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8220 root_0
= (CommonTree
)adaptor
.nil();
8221 // 648:7: -> ^( TYPEDEF declaratorList declarationSpecifiers )
8223 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:648:10: ^( TYPEDEF declaratorList declarationSpecifiers )
8225 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8226 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
8227 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
8228 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
8229 adaptor
.addChild(root_0
, root_1
);
8235 retval
.tree
= root_0
;
8241 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: typealiasDecl
8243 root_0
= (CommonTree
)adaptor
.nil();
8246 pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3610
);
8247 typealiasDecl179
=typealiasDecl();
8249 if (state
.failed
) return retval
;
8250 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typealiasDecl179
.getTree());
8256 retval
.stop
= input
.LT(-1);
8258 if ( state
.backtracking
==0 ) {
8259 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8260 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8262 if ( state
.backtracking
==0 ) {
8269 catch (RecognitionException e
) {
8274 // do for sure before leaving
8278 // $ANTLR end "ctfAssignmentExpression"
8280 // $ANTLR start synpred1_CTFParser
8281 public final void synpred1_CTFParser_fragment() throws RecognitionException
{
8282 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:5: ( IDENTIFIER )
8283 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:6: IDENTIFIER
8285 match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_synpred1_CTFParser553
); if (state
.failed
) return;
8290 // $ANTLR end synpred1_CTFParser
8292 // $ANTLR start synpred2_CTFParser
8293 public final void synpred2_CTFParser_fragment() throws RecognitionException
{
8294 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:5: ( ctfKeyword )
8295 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:6: ctfKeyword
8297 pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser579
);
8300 if (state
.failed
) return;
8305 // $ANTLR end synpred2_CTFParser
8307 // $ANTLR start synpred3_CTFParser
8308 public final void synpred3_CTFParser_fragment() throws RecognitionException
{
8309 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( STRING_LITERAL )
8310 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:6: STRING_LITERAL
8312 match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser599
); if (state
.failed
) return;
8317 // $ANTLR end synpred3_CTFParser
8321 public final boolean synpred1_CTFParser() {
8322 state
.backtracking
++;
8323 int start
= input
.mark();
8325 synpred1_CTFParser_fragment(); // can never throw exception
8326 } catch (RecognitionException re
) {
8327 System
.err
.println("impossible: "+re
);
8329 boolean success
= !state
.failed
;
8330 input
.rewind(start
);
8331 state
.backtracking
--;
8335 public final boolean synpred3_CTFParser() {
8336 state
.backtracking
++;
8337 int start
= input
.mark();
8339 synpred3_CTFParser_fragment(); // can never throw exception
8340 } catch (RecognitionException re
) {
8341 System
.err
.println("impossible: "+re
);
8343 boolean success
= !state
.failed
;
8344 input
.rewind(start
);
8345 state
.backtracking
--;
8349 public final boolean synpred2_CTFParser() {
8350 state
.backtracking
++;
8351 int start
= input
.mark();
8353 synpred2_CTFParser_fragment(); // can never throw exception
8354 } catch (RecognitionException re
) {
8355 System
.err
.println("impossible: "+re
);
8357 boolean success
= !state
.failed
;
8358 input
.rewind(start
);
8359 state
.backtracking
--;
8365 protected DFA24 dfa24
= new DFA24(this);
8366 static final String DFA24_eotS
=
8368 static final String DFA24_eofS
=
8370 static final String DFA24_minS
=
8371 "\1\45\1\23\1\0\1\23\1\0\2\uffff\1\0";
8372 static final String DFA24_maxS
=
8373 "\2\71\1\0\1\71\1\0\2\uffff\1\0";
8374 static final String DFA24_acceptS
=
8375 "\5\uffff\1\1\1\2\1\uffff";
8376 static final String DFA24_specialS
=
8377 "\2\uffff\1\0\1\uffff\1\1\2\uffff\1\2}>";
8378 static final String
[] DFA24_transitionS
= {
8379 "\1\2\23\uffff\1\1",
8380 "\1\3\21\uffff\1\4\23\uffff\1\1",
8382 "\1\3\21\uffff\1\7\23\uffff\1\1",
8389 static final short[] DFA24_eot
= DFA
.unpackEncodedString(DFA24_eotS
);
8390 static final short[] DFA24_eof
= DFA
.unpackEncodedString(DFA24_eofS
);
8391 static final char[] DFA24_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_minS
);
8392 static final char[] DFA24_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_maxS
);
8393 static final short[] DFA24_accept
= DFA
.unpackEncodedString(DFA24_acceptS
);
8394 static final short[] DFA24_special
= DFA
.unpackEncodedString(DFA24_specialS
);
8395 static final short[][] DFA24_transition
;
8398 int numStates
= DFA24_transitionS
.length
;
8399 DFA24_transition
= new short[numStates
][];
8400 for (int i
=0; i
<numStates
; i
++) {
8401 DFA24_transition
[i
] = DFA
.unpackEncodedString(DFA24_transitionS
[i
]);
8405 protected class DFA24
extends DFA
{
8407 public DFA24(BaseRecognizer recognizer
) {
8408 this.recognizer
= recognizer
;
8409 this.decisionNumber
= 24;
8410 this.eot
= DFA24_eot
;
8411 this.eof
= DFA24_eof
;
8412 this.min
= DFA24_min
;
8413 this.max
= DFA24_max
;
8414 this.accept
= DFA24_accept
;
8415 this.special
= DFA24_special
;
8416 this.transition
= DFA24_transition
;
8419 public String
getDescription() {
8420 return "371:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
8423 public int specialStateTransition(int s
, IntStream _input
) throws NoViableAltException
{
8424 TokenStream input
= (TokenStream
)_input
;
8428 int LA24_2
= input
.LA(1);
8430 int index24_2
= input
.index();
8433 if ( ((inTypedef())) ) {s
= 5;}
8434 else if ( (true) ) {s
= 6;}
8436 input
.seek(index24_2
);
8437 if ( s
>=0 ) return s
;
8441 int LA24_4
= input
.LA(1);
8443 int index24_4
= input
.index();
8446 if ( ((inTypedef())) ) {s
= 5;}
8447 else if ( (true) ) {s
= 6;}
8449 input
.seek(index24_4
);
8450 if ( s
>=0 ) return s
;
8454 int LA24_7
= input
.LA(1);
8456 int index24_7
= input
.index();
8459 if ( ((inTypedef())) ) {s
= 5;}
8460 else if ( (true) ) {s
= 6;}
8462 input
.seek(index24_7
);
8463 if ( s
>=0 ) return s
;
8466 if (state
.backtracking
>0) {state
.failed
=true; return -1;}
8467 NoViableAltException nvae
=
8468 new NoViableAltException(getDescription(), 24, _s
, input
);
8474 public static final BitSet FOLLOW_declaration_in_parse442
= new BitSet(new long[]{0xA0002560ED0C1500L
,0x000000000000E74AL
});
8475 public static final BitSet FOLLOW_EOF_in_parse445
= new BitSet(new long[]{0x0000000000000002L
});
8476 public static final BitSet FOLLOW_SIGN_in_numberLiteral467
= new BitSet(new long[]{0x4020000800100000L
});
8477 public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral478
= new BitSet(new long[]{0x0000000000000002L
});
8478 public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral499
= new BitSet(new long[]{0x0000000000000002L
});
8479 public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral520
= new BitSet(new long[]{0x0000000000000002L
});
8480 public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression558
= new BitSet(new long[]{0x0000000000000002L
});
8481 public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression584
= new BitSet(new long[]{0x0000000000000002L
});
8482 public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression604
= new BitSet(new long[]{0x0000000000000002L
});
8483 public static final BitSet FOLLOW_numberLiteral_in_primaryExpression629
= new BitSet(new long[]{0x0000000000000002L
});
8484 public static final BitSet FOLLOW_enumConstant_in_primaryExpression635
= new BitSet(new long[]{0x0000000000000002L
});
8485 public static final BitSet FOLLOW_CHARACTER_LITERAL_in_primaryExpression641
= new BitSet(new long[]{0x0000000000000002L
});
8486 public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix654
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8487 public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix656
= new BitSet(new long[]{0x0000000000002000L
});
8488 public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix658
= new BitSet(new long[]{0x0000000000000002L
});
8489 public static final BitSet FOLLOW_DOT_in_postfixExpressionSuffix668
= new BitSet(new long[]{0x0000002000000000L
});
8490 public static final BitSet FOLLOW_ARROW_in_postfixExpressionSuffix674
= new BitSet(new long[]{0x0000002000000000L
});
8491 public static final BitSet FOLLOW_IDENTIFIER_in_postfixExpressionSuffix677
= new BitSet(new long[]{0x0000000000000002L
});
8492 public static final BitSet FOLLOW_DOT_in_postfixCtfExpression712
= new BitSet(new long[]{0x0000000028001000L
,0x0000000000000102L
});
8493 public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixCtfExpression715
= new BitSet(new long[]{0x0000000000000002L
});
8494 public static final BitSet FOLLOW_primaryExpression_in_postfixExpression748
= new BitSet(new long[]{0x0100000000400022L
});
8495 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression750
= new BitSet(new long[]{0x0100000000400022L
});
8496 public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression759
= new BitSet(new long[]{0x0100000000400020L
});
8497 public static final BitSet FOLLOW_postfixCtfExpression_in_postfixExpression761
= new BitSet(new long[]{0x0100000000400020L
});
8498 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression764
= new BitSet(new long[]{0x0100000000400022L
});
8499 public static final BitSet FOLLOW_postfixExpression_in_unaryExpression780
= new BitSet(new long[]{0x0000000000000002L
});
8500 public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant797
= new BitSet(new long[]{0x0000000000000002L
});
8501 public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant811
= new BitSet(new long[]{0x0000000000000002L
});
8502 public static final BitSet FOLLOW_ctfKeyword_in_enumConstant825
= new BitSet(new long[]{0x0000000000000002L
});
8503 public static final BitSet FOLLOW_declarationSpecifiers_in_declaration856
= new BitSet(new long[]{0x0200002000000000L
,0x0000000000000080L
});
8504 public static final BitSet FOLLOW_declaratorList_in_declaration858
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8505 public static final BitSet FOLLOW_TERM_in_declaration861
= new BitSet(new long[]{0x0000000000000002L
});
8506 public static final BitSet FOLLOW_ctfSpecifier_in_declaration929
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8507 public static final BitSet FOLLOW_TERM_in_declaration931
= new BitSet(new long[]{0x0000000000000002L
});
8508 public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers969
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E448L
});
8509 public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers979
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E448L
});
8510 public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers989
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E448L
});
8511 public static final BitSet FOLLOW_declarator_in_declaratorList1019
= new BitSet(new long[]{0x1000000000000002L
});
8512 public static final BitSet FOLLOW_SEPARATOR_in_declaratorList1022
= new BitSet(new long[]{0x0200002000000000L
});
8513 public static final BitSet FOLLOW_declarator_in_declaratorList1024
= new BitSet(new long[]{0x1000000000000002L
});
8514 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1054
= new BitSet(new long[]{0x1000000000000002L
});
8515 public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList1057
= new BitSet(new long[]{0x0200402000000000L
});
8516 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1059
= new BitSet(new long[]{0x1000000000000002L
});
8517 public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1089
= new BitSet(new long[]{0x0000000000000002L
});
8518 public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1105
= new BitSet(new long[]{0x0000000000000002L
});
8519 public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1111
= new BitSet(new long[]{0x0000000000000002L
});
8520 public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1117
= new BitSet(new long[]{0x0000000000000002L
});
8521 public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1123
= new BitSet(new long[]{0x0000000000000002L
});
8522 public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1129
= new BitSet(new long[]{0x0000000000000002L
});
8523 public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1135
= new BitSet(new long[]{0x0000000000000002L
});
8524 public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1141
= new BitSet(new long[]{0x0000000000000002L
});
8525 public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1147
= new BitSet(new long[]{0x0000000000000002L
});
8526 public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1153
= new BitSet(new long[]{0x0000000000000002L
});
8527 public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1159
= new BitSet(new long[]{0x0000000000000002L
});
8528 public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1165
= new BitSet(new long[]{0x0000000000000002L
});
8529 public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1171
= new BitSet(new long[]{0x0000000000000002L
});
8530 public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1177
= new BitSet(new long[]{0x0000000000000002L
});
8531 public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1183
= new BitSet(new long[]{0x0000000000000002L
});
8532 public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1189
= new BitSet(new long[]{0x0000000000000002L
});
8533 public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1195
= new BitSet(new long[]{0x0000000000000002L
});
8534 public static final BitSet FOLLOW_typedefName_in_typeSpecifier1205
= new BitSet(new long[]{0x0000000000000002L
});
8535 public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1218
= new BitSet(new long[]{0x0000000000000002L
});
8536 public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1231
= new BitSet(new long[]{0x0000400000000000L
});
8537 public static final BitSet FOLLOW_LPAREN_in_alignAttribute1233
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8538 public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1235
= new BitSet(new long[]{0x0800000000000000L
});
8539 public static final BitSet FOLLOW_RPAREN_in_alignAttribute1237
= new BitSet(new long[]{0x0000000000000002L
});
8540 public static final BitSet FOLLOW_LCURL_in_structBody1271
= new BitSet(new long[]{0xA4002560C50C0500L
,0x000000000000E648L
});
8541 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1273
= new BitSet(new long[]{0x0400000000000000L
});
8542 public static final BitSet FOLLOW_RCURL_in_structBody1276
= new BitSet(new long[]{0x0000000000000002L
});
8543 public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1304
= new BitSet(new long[]{0x0000082000000000L
});
8544 public static final BitSet FOLLOW_structName_in_structSpecifier1329
= new BitSet(new long[]{0x0000080000000012L
});
8545 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1351
= new BitSet(new long[]{0x0000000000000002L
});
8546 public static final BitSet FOLLOW_structBody_in_structSpecifier1387
= new BitSet(new long[]{0x0000000000000012L
});
8547 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1418
= new BitSet(new long[]{0x0000000000000002L
});
8548 public static final BitSet FOLLOW_structBody_in_structSpecifier1534
= new BitSet(new long[]{0x0000000000000012L
});
8549 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1552
= new BitSet(new long[]{0x0000000000000002L
});
8550 public static final BitSet FOLLOW_IDENTIFIER_in_structName1618
= new BitSet(new long[]{0x0000000000000002L
});
8551 public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1639
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E648L
});
8552 public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1672
= new BitSet(new long[]{0x0200002000000000L
});
8553 public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1713
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8554 public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1751
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8555 public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1810
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8556 public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1822
= new BitSet(new long[]{0x0000000000000002L
});
8557 public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1836
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E048L
});
8558 public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1840
= new BitSet(new long[]{0xA0002560C50C0502L
,0x000000000000E048L
});
8559 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1873
= new BitSet(new long[]{0x1000000000000002L
});
8560 public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1876
= new BitSet(new long[]{0x0200002000000000L
});
8561 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1878
= new BitSet(new long[]{0x1000000000000002L
});
8562 public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1917
= new BitSet(new long[]{0x0000000000004002L
});
8563 public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1920
= new BitSet(new long[]{0x4020000800100000L
});
8564 public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1922
= new BitSet(new long[]{0x0000000000000002L
});
8565 public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1946
= new BitSet(new long[]{0x0000882000000000L
});
8566 public static final BitSet FOLLOW_variantName_in_variantSpecifier1964
= new BitSet(new long[]{0x0000880000000000L
});
8567 public static final BitSet FOLLOW_variantTag_in_variantSpecifier1994
= new BitSet(new long[]{0x0000080000000002L
});
8568 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2020
= new BitSet(new long[]{0x0000000000000002L
});
8569 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2088
= new BitSet(new long[]{0x0000000000000002L
});
8570 public static final BitSet FOLLOW_variantTag_in_variantSpecifier2109
= new BitSet(new long[]{0x0000080000000000L
});
8571 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2111
= new BitSet(new long[]{0x0000000000000002L
});
8572 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2118
= new BitSet(new long[]{0x0000000000000002L
});
8573 public static final BitSet FOLLOW_IDENTIFIER_in_variantName2150
= new BitSet(new long[]{0x0000000000000002L
});
8574 public static final BitSet FOLLOW_LCURL_in_variantBody2181
= new BitSet(new long[]{0xA0002560C50C0500L
,0x000000000000E648L
});
8575 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2183
= new BitSet(new long[]{0x0400000000000000L
});
8576 public static final BitSet FOLLOW_RCURL_in_variantBody2185
= new BitSet(new long[]{0x0000000000000002L
});
8577 public static final BitSet FOLLOW_LT_in_variantTag2212
= new BitSet(new long[]{0x0000002000000000L
});
8578 public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2214
= new BitSet(new long[]{0x0000000100000000L
});
8579 public static final BitSet FOLLOW_GT_in_variantTag2216
= new BitSet(new long[]{0x0000000000000002L
});
8580 public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2237
= new BitSet(new long[]{0x0000082000004000L
});
8581 public static final BitSet FOLLOW_enumName_in_enumSpecifier2276
= new BitSet(new long[]{0x0000080000004002L
});
8582 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2308
= new BitSet(new long[]{0x0000080000000000L
});
8583 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2310
= new BitSet(new long[]{0x0000000000000002L
});
8584 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2340
= new BitSet(new long[]{0x0000000000000002L
});
8585 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2432
= new BitSet(new long[]{0x0000080000000000L
});
8586 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2434
= new BitSet(new long[]{0x0000000000000002L
});
8587 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2458
= new BitSet(new long[]{0x0000000000000002L
});
8588 public static final BitSet FOLLOW_IDENTIFIER_in_enumName2502
= new BitSet(new long[]{0x0000000000000002L
});
8589 public static final BitSet FOLLOW_LCURL_in_enumBody2523
= new BitSet(new long[]{0x8000002020000010L
,0x0000000000000028L
});
8590 public static final BitSet FOLLOW_enumeratorList_in_enumBody2525
= new BitSet(new long[]{0x1400000000000000L
});
8591 public static final BitSet FOLLOW_SEPARATOR_in_enumBody2527
= new BitSet(new long[]{0x0400000000000000L
});
8592 public static final BitSet FOLLOW_RCURL_in_enumBody2530
= new BitSet(new long[]{0x0000000000000002L
});
8593 public static final BitSet FOLLOW_COLON_in_enumContainerType2551
= new BitSet(new long[]{0xA0002560C50C0500L
,0x000000000000E448L
});
8594 public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2553
= new BitSet(new long[]{0x0000000000000002L
});
8595 public static final BitSet FOLLOW_enumerator_in_enumeratorList2574
= new BitSet(new long[]{0x1000000000000002L
});
8596 public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2577
= new BitSet(new long[]{0x8000002020000010L
,0x0000000000000028L
});
8597 public static final BitSet FOLLOW_enumerator_in_enumeratorList2579
= new BitSet(new long[]{0x1000000000000002L
});
8598 public static final BitSet FOLLOW_enumConstant_in_enumerator2605
= new BitSet(new long[]{0x0000000000000042L
});
8599 public static final BitSet FOLLOW_enumeratorValue_in_enumerator2607
= new BitSet(new long[]{0x0000000000000002L
});
8600 public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2621
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8601 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2625
= new BitSet(new long[]{0x0000000002000002L
});
8602 public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2664
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8603 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2668
= new BitSet(new long[]{0x0000000000000002L
});
8604 public static final BitSet FOLLOW_pointer_in_declarator2711
= new BitSet(new long[]{0x0200002000000000L
});
8605 public static final BitSet FOLLOW_directDeclarator_in_declarator2714
= new BitSet(new long[]{0x0000000000000002L
});
8606 public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2752
= new BitSet(new long[]{0x0100000000000002L
});
8607 public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2792
= new BitSet(new long[]{0x0100000000000002L
});
8608 public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2806
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8609 public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2808
= new BitSet(new long[]{0x0000000000002000L
});
8610 public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2810
= new BitSet(new long[]{0x0000000000000002L
});
8611 public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2838
= new BitSet(new long[]{0x0000000000000002L
});
8612 public static final BitSet FOLLOW_pointer_in_abstractDeclarator2851
= new BitSet(new long[]{0x0200402000000002L
});
8613 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2854
= new BitSet(new long[]{0x0000000000000002L
});
8614 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2879
= new BitSet(new long[]{0x0000000000000002L
});
8615 public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2916
= new BitSet(new long[]{0x0100000000000002L
});
8616 public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2927
= new BitSet(new long[]{0x0200402000000000L
});
8617 public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2929
= new BitSet(new long[]{0x0800000000000000L
});
8618 public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2931
= new BitSet(new long[]{0x0100000000000002L
});
8619 public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2946
= new BitSet(new long[]{0xC020002828103210L
,0x000000000000012AL
});
8620 public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2948
= new BitSet(new long[]{0x0000000000002000L
});
8621 public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2951
= new BitSet(new long[]{0x0000000000000002L
});
8622 public static final BitSet FOLLOW_POINTER_in_pointer2969
= new BitSet(new long[]{0x0000000000080002L
});
8623 public static final BitSet FOLLOW_typeQualifierList_in_pointer2971
= new BitSet(new long[]{0x0000000000000002L
});
8624 public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList2994
= new BitSet(new long[]{0x0000000000080002L
});
8625 public static final BitSet FOLLOW_IDENTIFIER_in_typedefName3010
= new BitSet(new long[]{0x0000000000000002L
});
8626 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget3027
= new BitSet(new long[]{0x0200402000000002L
});
8627 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget3029
= new BitSet(new long[]{0x0000000000000002L
});
8628 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3055
= new BitSet(new long[]{0x0000000000000002L
});
8629 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias3061
= new BitSet(new long[]{0x0200402000000002L
});
8630 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3063
= new BitSet(new long[]{0x0000000000000002L
});
8631 public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3077
= new BitSet(new long[]{0xA0002560C50C0500L
,0x000000000000E448L
});
8632 public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3079
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000800L
});
8633 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3081
= new BitSet(new long[]{0xA2006560C50C0500L
,0x000000000000E448L
});
8634 public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3083
= new BitSet(new long[]{0x0000000000000002L
});
8635 public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3183
= new BitSet(new long[]{0x0000080000000000L
});
8636 public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3185
= new BitSet(new long[]{0x0000000000000002L
});
8637 public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3202
= new BitSet(new long[]{0x0000000000000002L
});
8638 public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3223
= new BitSet(new long[]{0x0000000000000002L
});
8639 public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3233
= new BitSet(new long[]{0x0000000000000002L
});
8640 public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3243
= new BitSet(new long[]{0x0000000000000002L
});
8641 public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3253
= new BitSet(new long[]{0x0000000000000002L
});
8642 public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3263
= new BitSet(new long[]{0x0000000000000002L
});
8643 public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3286
= new BitSet(new long[]{0x0000080000000000L
});
8644 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3288
= new BitSet(new long[]{0x0000000000000002L
});
8645 public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3303
= new BitSet(new long[]{0x0000080000000000L
});
8646 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3305
= new BitSet(new long[]{0x0000000000000002L
});
8647 public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3320
= new BitSet(new long[]{0x0000080000000002L
});
8648 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3322
= new BitSet(new long[]{0x0000000000000002L
});
8649 public static final BitSet FOLLOW_LCURL_in_ctfBody3355
= new BitSet(new long[]{0xE4202568ED1C1710L
,0x000000000000E76AL
});
8650 public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3357
= new BitSet(new long[]{0x0400000000000000L
});
8651 public static final BitSet FOLLOW_RCURL_in_ctfBody3360
= new BitSet(new long[]{0x0000000000000002L
});
8652 public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3379
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000080L
});
8653 public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3381
= new BitSet(new long[]{0xE0202568ED1C1712L
,0x000000000000E76AL
});
8654 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3404
= new BitSet(new long[]{0x0000000000000040L
,0x0000000000000800L
});
8655 public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3416
= new BitSet(new long[]{0xC020002828101210L
,0x000000000000012AL
});
8656 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3420
= new BitSet(new long[]{0x0000000000000002L
});
8657 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3496
= new BitSet(new long[]{0xA0002560C5040500L
,0x000000000000E048L
});
8658 public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3500
= new BitSet(new long[]{0x0000000000000002L
});
8659 public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3583
= new BitSet(new long[]{0x0200002000000000L
});
8660 public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3587
= new BitSet(new long[]{0x0000000000000002L
});
8661 public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3610
= new BitSet(new long[]{0x0000000000000002L
});
8662 public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser553
= new BitSet(new long[]{0x0000000000000002L
});
8663 public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser579
= new BitSet(new long[]{0x0000000000000002L
});
8664 public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser599
= new BitSet(new long[]{0x0000000000000002L
});