1 // $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFParser.g 2015-07-09 14:10:52
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
;
20 import java
.util
.HashSet
;
23 import org
.antlr
.runtime
.*;
24 import java
.util
.Stack
;
25 import java
.util
.List
;
26 import java
.util
.ArrayList
;
28 import java
.util
.HashMap
;
30 import org
.antlr
.runtime
.tree
.*;
33 @SuppressWarnings("all")
34 public class CTFParser
extends Parser
{
35 public static final String
[] tokenNames
= new String
[] {
36 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALIGNTOK", "ARROW", "ASSIGNMENT",
37 "BACKSLASH", "BOOLTOK", "CALLSITETOK", "CHARACTER_LITERAL", "CHARTOK",
38 "CHAR_CONTENT", "CLOCKTOK", "CLOSEBRAC", "COLON", "COMMENT", "COMMENT_CLOSE",
39 "COMMENT_OPEN", "COMPLEXTOK", "CONSTTOK", "DECIMAL_LITERAL", "DIGIT",
40 "DOT", "DOUBLEQUOTE", "DOUBLETOK", "ELIPSES", "ENUMTOK", "ENVTOK", "ESCAPE_SEQUENCE",
41 "EVENTTOK", "FLOATINGPOINTTOK", "FLOATTOK", "GT", "HEXADECIMAL_ESCAPE",
42 "HEX_DIGIT", "HEX_LITERAL", "HEX_PREFIX", "IDENTIFIER", "IMAGINARYTOK",
43 "INFINITYTOK", "INTEGERTOK", "INTEGER_TYPES_SUFFIX", "INTTOK", "LCURL",
44 "LINE_COMMENT", "LONGTOK", "LPAREN", "LT", "NANNUMBERTOK", "NINFINITYTOK",
45 "NONDIGIT", "NONZERO_DIGIT", "OCTAL_ESCAPE", "OCTAL_LITERAL", "OCT_DIGIT",
46 "OCT_PREFIX", "OPENBRAC", "POINTER", "RCURL", "RPAREN", "SEPARATOR", "SHORTTOK",
47 "SIGN", "SIGNEDTOK", "SINGLEQUOTE", "STREAMTOK", "STRINGPREFIX", "STRINGTOK",
48 "STRING_CONTENT", "STRING_LITERAL", "STRUCTTOK", "TERM", "TRACETOK", "TYPEALIASTOK",
49 "TYPEDEFTOK", "TYPE_ASSIGNMENT", "UNICODE_ESCAPE", "UNSIGNEDTOK", "VARIANTTOK",
50 "VOIDTOK", "WS", "ALIGN", "CALLSITE", "CLOCK", "CTF_EXPRESSION_TYPE",
51 "CTF_EXPRESSION_VAL", "CTF_LEFT", "CTF_RIGHT", "DECLARATION", "DECLARATOR",
52 "ENUM", "ENUM_BODY", "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME",
53 "ENUM_VALUE", "ENUM_VALUE_RANGE", "ENV", "EVENT", "FLOATING_POINT", "INTEGER",
54 "LENGTH", "ROOT", "STREAM", "STRING", "STRUCT", "STRUCT_BODY", "STRUCT_NAME",
55 "SV_DECLARATION", "TRACE", "TYPEALIAS", "TYPEALIAS_ALIAS", "TYPEALIAS_TARGET",
56 "TYPEDEF", "TYPE_DECLARATOR", "TYPE_DECLARATOR_LIST", "TYPE_SPECIFIER_LIST",
57 "UNARY_EXPRESSION_DEC", "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT",
58 "UNARY_EXPRESSION_STRING", "UNARY_EXPRESSION_STRING_QUOTES", "VARIANT",
59 "VARIANT_BODY", "VARIANT_NAME", "VARIANT_TAG"
61 public static final int EOF
=-1;
62 public static final int ALIGNTOK
=4;
63 public static final int ARROW
=5;
64 public static final int ASSIGNMENT
=6;
65 public static final int BACKSLASH
=7;
66 public static final int BOOLTOK
=8;
67 public static final int CALLSITETOK
=9;
68 public static final int CHARACTER_LITERAL
=10;
69 public static final int CHARTOK
=11;
70 public static final int CHAR_CONTENT
=12;
71 public static final int CLOCKTOK
=13;
72 public static final int CLOSEBRAC
=14;
73 public static final int COLON
=15;
74 public static final int COMMENT
=16;
75 public static final int COMMENT_CLOSE
=17;
76 public static final int COMMENT_OPEN
=18;
77 public static final int COMPLEXTOK
=19;
78 public static final int CONSTTOK
=20;
79 public static final int DECIMAL_LITERAL
=21;
80 public static final int DIGIT
=22;
81 public static final int DOT
=23;
82 public static final int DOUBLEQUOTE
=24;
83 public static final int DOUBLETOK
=25;
84 public static final int ELIPSES
=26;
85 public static final int ENUMTOK
=27;
86 public static final int ENVTOK
=28;
87 public static final int ESCAPE_SEQUENCE
=29;
88 public static final int EVENTTOK
=30;
89 public static final int FLOATINGPOINTTOK
=31;
90 public static final int FLOATTOK
=32;
91 public static final int GT
=33;
92 public static final int HEXADECIMAL_ESCAPE
=34;
93 public static final int HEX_DIGIT
=35;
94 public static final int HEX_LITERAL
=36;
95 public static final int HEX_PREFIX
=37;
96 public static final int IDENTIFIER
=38;
97 public static final int IMAGINARYTOK
=39;
98 public static final int INFINITYTOK
=40;
99 public static final int INTEGERTOK
=41;
100 public static final int INTEGER_TYPES_SUFFIX
=42;
101 public static final int INTTOK
=43;
102 public static final int LCURL
=44;
103 public static final int LINE_COMMENT
=45;
104 public static final int LONGTOK
=46;
105 public static final int LPAREN
=47;
106 public static final int LT
=48;
107 public static final int NANNUMBERTOK
=49;
108 public static final int NINFINITYTOK
=50;
109 public static final int NONDIGIT
=51;
110 public static final int NONZERO_DIGIT
=52;
111 public static final int OCTAL_ESCAPE
=53;
112 public static final int OCTAL_LITERAL
=54;
113 public static final int OCT_DIGIT
=55;
114 public static final int OCT_PREFIX
=56;
115 public static final int OPENBRAC
=57;
116 public static final int POINTER
=58;
117 public static final int RCURL
=59;
118 public static final int RPAREN
=60;
119 public static final int SEPARATOR
=61;
120 public static final int SHORTTOK
=62;
121 public static final int SIGN
=63;
122 public static final int SIGNEDTOK
=64;
123 public static final int SINGLEQUOTE
=65;
124 public static final int STREAMTOK
=66;
125 public static final int STRINGPREFIX
=67;
126 public static final int STRINGTOK
=68;
127 public static final int STRING_CONTENT
=69;
128 public static final int STRING_LITERAL
=70;
129 public static final int STRUCTTOK
=71;
130 public static final int TERM
=72;
131 public static final int TRACETOK
=73;
132 public static final int TYPEALIASTOK
=74;
133 public static final int TYPEDEFTOK
=75;
134 public static final int TYPE_ASSIGNMENT
=76;
135 public static final int UNICODE_ESCAPE
=77;
136 public static final int UNSIGNEDTOK
=78;
137 public static final int VARIANTTOK
=79;
138 public static final int VOIDTOK
=80;
139 public static final int WS
=81;
140 public static final int ALIGN
=82;
141 public static final int CALLSITE
=83;
142 public static final int CLOCK
=84;
143 public static final int CTF_EXPRESSION_TYPE
=85;
144 public static final int CTF_EXPRESSION_VAL
=86;
145 public static final int CTF_LEFT
=87;
146 public static final int CTF_RIGHT
=88;
147 public static final int DECLARATION
=89;
148 public static final int DECLARATOR
=90;
149 public static final int ENUM
=91;
150 public static final int ENUM_BODY
=92;
151 public static final int ENUM_CONTAINER_TYPE
=93;
152 public static final int ENUM_ENUMERATOR
=94;
153 public static final int ENUM_NAME
=95;
154 public static final int ENUM_VALUE
=96;
155 public static final int ENUM_VALUE_RANGE
=97;
156 public static final int ENV
=98;
157 public static final int EVENT
=99;
158 public static final int FLOATING_POINT
=100;
159 public static final int INTEGER
=101;
160 public static final int LENGTH
=102;
161 public static final int ROOT
=103;
162 public static final int STREAM
=104;
163 public static final int STRING
=105;
164 public static final int STRUCT
=106;
165 public static final int STRUCT_BODY
=107;
166 public static final int STRUCT_NAME
=108;
167 public static final int SV_DECLARATION
=109;
168 public static final int TRACE
=110;
169 public static final int TYPEALIAS
=111;
170 public static final int TYPEALIAS_ALIAS
=112;
171 public static final int TYPEALIAS_TARGET
=113;
172 public static final int TYPEDEF
=114;
173 public static final int TYPE_DECLARATOR
=115;
174 public static final int TYPE_DECLARATOR_LIST
=116;
175 public static final int TYPE_SPECIFIER_LIST
=117;
176 public static final int UNARY_EXPRESSION_DEC
=118;
177 public static final int UNARY_EXPRESSION_HEX
=119;
178 public static final int UNARY_EXPRESSION_OCT
=120;
179 public static final int UNARY_EXPRESSION_STRING
=121;
180 public static final int UNARY_EXPRESSION_STRING_QUOTES
=122;
181 public static final int VARIANT
=123;
182 public static final int VARIANT_BODY
=124;
183 public static final int VARIANT_NAME
=125;
184 public static final int VARIANT_TAG
=126;
187 public Parser
[] getDelegates() {
188 return new Parser
[] {};
193 protected static class Symbols_scope
{
196 protected Stack
<Symbols_scope
> Symbols_stack
= new Stack
<Symbols_scope
>();
199 public CTFParser(TokenStream input
) {
200 this(input
, new RecognizerSharedState());
202 public CTFParser(TokenStream input
, RecognizerSharedState state
) {
206 protected TreeAdaptor adaptor
= new CommonTreeAdaptor();
208 public void setTreeAdaptor(TreeAdaptor adaptor
) {
209 this.adaptor
= adaptor
;
211 public TreeAdaptor
getTreeAdaptor() {
214 @Override public String
[] getTokenNames() { return CTFParser
.tokenNames
; }
215 @Override public String
getGrammarFileName() { return "org/eclipse/tracecompass/ctf/parser/CTFParser.g"; }
218 public CTFParser(TokenStream input
, boolean verbose
) {
220 this.verbose
= verbose
;
224 * This method is overriden to disable automatic error recovery.
225 * On a mismatched token, it simply re-throw an exception.
228 protected Object
recoverFromMismatchedToken(IntStream input
, int ttype
, BitSet follow
) throws RecognitionException
{
229 throw new MismatchedTokenException(ttype
, input
);
233 * Checks if a given name has been defined has a type.
234 * From: http://www.antlr.org/grammar/1153358328744/C.g
236 * @param name The name to check.
237 * @return True if is is a type, false otherwise.
239 boolean isTypeName(String name
) {
240 for (int i
= Symbols_stack
.size() - 1; i
>= 0; i
--) {
241 Symbols_scope scope
= (Symbols_scope
) Symbols_stack
.get(i
);
242 if (scope
.types
.contains(name
)) {
249 void addTypeName(String name
) {
250 Symbols_stack
.peek().types
.add(name
);
252 debug_print("New type: " + name
+ " " + declaration_stack
);
257 debug_print("typedefOn" + declaration_stack
);
258 declaration_stack
.peek().isTypedef
=true;
262 debug_print("typedefOff" + declaration_stack
);
263 declaration_stack
.peek().isTypedef
=false;
266 boolean inTypedef() {
267 return declaration_stack
.peek().isTypedef
;
270 boolean _inTypealiasAlias
= false;
272 void typealiasAliasOn() {
273 debug_print("typealiasAliasOn");
274 _inTypealiasAlias
= true;
277 void typealiasAliasOff() {
278 debug_print("typealiasAliasOff");
279 _inTypealiasAlias
= false;
282 boolean inTypealiasAlias() {
283 return _inTypealiasAlias
;
286 void debug_print(String str
) {
288 System
.out
.println(str
);
292 /* Prints rule entry and exit while parsing */
293 boolean verbose
= false;
296 public static class parse_return
extends ParserRuleReturnScope
{
299 public CommonTree
getTree() { return tree
; }
303 // $ANTLR start "parse"
304 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:190:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
305 public final CTFParser
.parse_return
parse() throws RecognitionException
{
306 Symbols_stack
.push(new Symbols_scope());
308 CTFParser
.parse_return retval
= new CTFParser
.parse_return();
309 retval
.start
= input
.LT(1);
311 CommonTree root_0
= null;
314 ParserRuleReturnScope declaration1
=null;
316 CommonTree EOF2_tree
=null;
317 RewriteRuleTokenStream stream_EOF
=new RewriteRuleTokenStream(adaptor
,"token EOF");
318 RewriteRuleSubtreeStream stream_declaration
=new RewriteRuleSubtreeStream(adaptor
,"rule declaration");
321 Symbols_stack
.peek().types
= new HashSet
<String
>();
324 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:3: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
325 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: ( declaration )+ EOF
327 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: ( declaration )+
332 int LA1_0
= input
.LA(1);
333 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
)) ) {
336 else if ( (LA1_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
339 else if ( (LA1_0
==CALLSITETOK
||LA1_0
==CLOCKTOK
||LA1_0
==ENVTOK
||LA1_0
==EVENTTOK
||LA1_0
==STREAMTOK
||(LA1_0
>= TRACETOK
&& LA1_0
<= TYPEALIASTOK
)) ) {
345 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: declaration
347 pushFollow(FOLLOW_declaration_in_parse449
);
348 declaration1
=declaration();
350 if (state
.failed
) return retval
;
351 if ( state
.backtracking
==0 ) stream_declaration
.add(declaration1
.getTree());
356 if ( cnt1
>= 1 ) break loop1
;
357 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
358 EarlyExitException eee
= new EarlyExitException(1, input
);
364 EOF2
=(Token
)match(input
,EOF
,FOLLOW_EOF_in_parse452
); if (state
.failed
) return retval
;
365 if ( state
.backtracking
==0 ) stream_EOF
.add(EOF2
);
368 // elements: declaration
370 // rule labels: retval
371 // token list labels:
374 if ( state
.backtracking
==0 ) {
375 retval
.tree
= root_0
;
376 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
378 root_0
= (CommonTree
)adaptor
.nil();
379 // 195:22: -> ^( ROOT ( declaration )+ )
381 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:25: ^( ROOT ( declaration )+ )
383 CommonTree root_1
= (CommonTree
)adaptor
.nil();
384 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ROOT
, "ROOT"), root_1
);
385 if ( !(stream_declaration
.hasNext()) ) {
386 throw new RewriteEarlyExitException();
388 while ( stream_declaration
.hasNext() ) {
389 adaptor
.addChild(root_1
, stream_declaration
.nextTree());
391 stream_declaration
.reset();
393 adaptor
.addChild(root_0
, root_1
);
399 retval
.tree
= root_0
;
404 retval
.stop
= input
.LT(-1);
406 if ( state
.backtracking
==0 ) {
407 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
408 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
412 catch (RecognitionException e
) {
417 // do for sure before leaving
423 // $ANTLR end "parse"
426 public static class numberLiteral_return
extends ParserRuleReturnScope
{
429 public CommonTree
getTree() { return tree
; }
433 // $ANTLR start "numberLiteral"
434 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198: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 )* ) ) ;
435 public final CTFParser
.numberLiteral_return
numberLiteral() throws RecognitionException
{
436 CTFParser
.numberLiteral_return retval
= new CTFParser
.numberLiteral_return();
437 retval
.start
= input
.LT(1);
439 CommonTree root_0
= null;
442 Token HEX_LITERAL4
=null;
443 Token DECIMAL_LITERAL5
=null;
444 Token OCTAL_LITERAL6
=null;
446 CommonTree SIGN3_tree
=null;
447 CommonTree HEX_LITERAL4_tree
=null;
448 CommonTree DECIMAL_LITERAL5_tree
=null;
449 CommonTree OCTAL_LITERAL6_tree
=null;
450 RewriteRuleTokenStream stream_SIGN
=new RewriteRuleTokenStream(adaptor
,"token SIGN");
451 RewriteRuleTokenStream stream_OCTAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token OCTAL_LITERAL");
452 RewriteRuleTokenStream stream_HEX_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token HEX_LITERAL");
453 RewriteRuleTokenStream stream_DECIMAL_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token DECIMAL_LITERAL");
456 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199: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 )* ) ) )
457 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199: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 )* ) )
459 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:5: ( SIGN )*
463 int LA2_0
= input
.LA(1);
464 if ( (LA2_0
==SIGN
) ) {
470 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:5: SIGN
472 SIGN3
=(Token
)match(input
,SIGN
,FOLLOW_SIGN_in_numberLiteral474
); if (state
.failed
) return retval
;
473 if ( state
.backtracking
==0 ) stream_SIGN
.add(SIGN3
);
483 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200: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 )* ) )
485 switch ( input
.LA(1) ) {
491 case DECIMAL_LITERAL
:
502 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
503 NoViableAltException nvae
=
504 new NoViableAltException("", 3, 0, input
);
509 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:9: HEX_LITERAL
511 HEX_LITERAL4
=(Token
)match(input
,HEX_LITERAL
,FOLLOW_HEX_LITERAL_in_numberLiteral485
); if (state
.failed
) return retval
;
512 if ( state
.backtracking
==0 ) stream_HEX_LITERAL
.add(HEX_LITERAL4
);
515 // elements: SIGN, HEX_LITERAL
517 // rule labels: retval
518 // token list labels:
521 if ( state
.backtracking
==0 ) {
522 retval
.tree
= root_0
;
523 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
525 root_0
= (CommonTree
)adaptor
.nil();
526 // 200:21: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
528 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:24: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
530 CommonTree root_1
= (CommonTree
)adaptor
.nil();
531 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_HEX
, "UNARY_EXPRESSION_HEX"), root_1
);
532 adaptor
.addChild(root_1
, stream_HEX_LITERAL
.nextNode());
533 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:59: ( SIGN )*
534 while ( stream_SIGN
.hasNext() ) {
535 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
539 adaptor
.addChild(root_0
, root_1
);
545 retval
.tree
= root_0
;
551 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:9: DECIMAL_LITERAL
553 DECIMAL_LITERAL5
=(Token
)match(input
,DECIMAL_LITERAL
,FOLLOW_DECIMAL_LITERAL_in_numberLiteral506
); if (state
.failed
) return retval
;
554 if ( state
.backtracking
==0 ) stream_DECIMAL_LITERAL
.add(DECIMAL_LITERAL5
);
557 // elements: DECIMAL_LITERAL, SIGN
559 // rule labels: retval
560 // token list labels:
563 if ( state
.backtracking
==0 ) {
564 retval
.tree
= root_0
;
565 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
567 root_0
= (CommonTree
)adaptor
.nil();
568 // 201:25: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
570 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:28: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
572 CommonTree root_1
= (CommonTree
)adaptor
.nil();
573 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_DEC
, "UNARY_EXPRESSION_DEC"), root_1
);
574 adaptor
.addChild(root_1
, stream_DECIMAL_LITERAL
.nextNode());
575 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:67: ( SIGN )*
576 while ( stream_SIGN
.hasNext() ) {
577 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
581 adaptor
.addChild(root_0
, root_1
);
587 retval
.tree
= root_0
;
593 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:9: OCTAL_LITERAL
595 OCTAL_LITERAL6
=(Token
)match(input
,OCTAL_LITERAL
,FOLLOW_OCTAL_LITERAL_in_numberLiteral527
); if (state
.failed
) return retval
;
596 if ( state
.backtracking
==0 ) stream_OCTAL_LITERAL
.add(OCTAL_LITERAL6
);
599 // elements: OCTAL_LITERAL, SIGN
601 // rule labels: retval
602 // token list labels:
605 if ( state
.backtracking
==0 ) {
606 retval
.tree
= root_0
;
607 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
609 root_0
= (CommonTree
)adaptor
.nil();
610 // 202:23: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
612 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:26: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
614 CommonTree root_1
= (CommonTree
)adaptor
.nil();
615 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_OCT
, "UNARY_EXPRESSION_OCT"), root_1
);
616 adaptor
.addChild(root_1
, stream_OCTAL_LITERAL
.nextNode());
617 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:63: ( SIGN )*
618 while ( stream_SIGN
.hasNext() ) {
619 adaptor
.addChild(root_1
, stream_SIGN
.nextNode());
623 adaptor
.addChild(root_0
, root_1
);
629 retval
.tree
= root_0
;
639 retval
.stop
= input
.LT(-1);
641 if ( state
.backtracking
==0 ) {
642 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
643 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
647 catch (RecognitionException e
) {
652 // do for sure before leaving
656 // $ANTLR end "numberLiteral"
659 public static class primaryExpression_return
extends ParserRuleReturnScope
{
662 public CommonTree
getTree() { return tree
; }
666 // $ANTLR start "primaryExpression"
667 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206: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 );
668 public final CTFParser
.primaryExpression_return
primaryExpression() throws RecognitionException
{
669 CTFParser
.primaryExpression_return retval
= new CTFParser
.primaryExpression_return();
670 retval
.start
= input
.LT(1);
672 CommonTree root_0
= null;
674 Token IDENTIFIER7
=null;
675 Token STRING_LITERAL9
=null;
676 Token CHARACTER_LITERAL12
=null;
677 ParserRuleReturnScope ctfKeyword8
=null;
678 ParserRuleReturnScope numberLiteral10
=null;
679 ParserRuleReturnScope enumConstant11
=null;
681 CommonTree IDENTIFIER7_tree
=null;
682 CommonTree STRING_LITERAL9_tree
=null;
683 CommonTree CHARACTER_LITERAL12_tree
=null;
684 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
685 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
686 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
689 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207: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 )
691 switch ( input
.LA(1) ) {
694 int LA4_1
= input
.LA(2);
695 if ( (synpred1_CTFParser()) ) {
709 int LA4_2
= input
.LA(2);
710 if ( (synpred2_CTFParser()) ) {
721 int LA4_3
= input
.LA(2);
722 if ( (synpred3_CTFParser()) ) {
731 case DECIMAL_LITERAL
:
739 case CHARACTER_LITERAL
:
745 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
746 NoViableAltException nvae
=
747 new NoViableAltException("", 4, 0, input
);
752 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:5: ( IDENTIFIER )=> IDENTIFIER
754 IDENTIFIER7
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_primaryExpression565
); if (state
.failed
) return retval
;
755 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER7
);
758 // elements: IDENTIFIER
760 // rule labels: retval
761 // token list labels:
764 if ( state
.backtracking
==0 ) {
765 retval
.tree
= root_0
;
766 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
768 root_0
= (CommonTree
)adaptor
.nil();
769 // 208:7: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
771 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:10: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
773 CommonTree root_1
= (CommonTree
)adaptor
.nil();
774 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
775 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
776 adaptor
.addChild(root_0
, root_1
);
782 retval
.tree
= root_0
;
788 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( ctfKeyword )=> ctfKeyword
790 pushFollow(FOLLOW_ctfKeyword_in_primaryExpression591
);
791 ctfKeyword8
=ctfKeyword();
793 if (state
.failed
) return retval
;
794 if ( state
.backtracking
==0 ) stream_ctfKeyword
.add(ctfKeyword8
.getTree());
796 // elements: ctfKeyword
798 // rule labels: retval
799 // token list labels:
802 if ( state
.backtracking
==0 ) {
803 retval
.tree
= root_0
;
804 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
806 root_0
= (CommonTree
)adaptor
.nil();
807 // 209:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
809 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
811 CommonTree root_1
= (CommonTree
)adaptor
.nil();
812 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
813 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
814 adaptor
.addChild(root_0
, root_1
);
820 retval
.tree
= root_0
;
826 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:5: ( STRING_LITERAL )=> STRING_LITERAL
828 STRING_LITERAL9
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_primaryExpression611
); if (state
.failed
) return retval
;
829 if ( state
.backtracking
==0 ) stream_STRING_LITERAL
.add(STRING_LITERAL9
);
832 // elements: STRING_LITERAL
834 // rule labels: retval
835 // token list labels:
838 if ( state
.backtracking
==0 ) {
839 retval
.tree
= root_0
;
840 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
842 root_0
= (CommonTree
)adaptor
.nil();
843 // 211:7: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
845 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:211:10: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
847 CommonTree root_1
= (CommonTree
)adaptor
.nil();
848 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
849 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
850 adaptor
.addChild(root_0
, root_1
);
856 retval
.tree
= root_0
;
862 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:213:5: numberLiteral
864 root_0
= (CommonTree
)adaptor
.nil();
867 pushFollow(FOLLOW_numberLiteral_in_primaryExpression636
);
868 numberLiteral10
=numberLiteral();
870 if (state
.failed
) return retval
;
871 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, numberLiteral10
.getTree());
876 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:214:5: enumConstant
878 root_0
= (CommonTree
)adaptor
.nil();
881 pushFollow(FOLLOW_enumConstant_in_primaryExpression642
);
882 enumConstant11
=enumConstant();
884 if (state
.failed
) return retval
;
885 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumConstant11
.getTree());
890 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:215:5: CHARACTER_LITERAL
892 root_0
= (CommonTree
)adaptor
.nil();
895 CHARACTER_LITERAL12
=(Token
)match(input
,CHARACTER_LITERAL
,FOLLOW_CHARACTER_LITERAL_in_primaryExpression648
); if (state
.failed
) return retval
;
896 if ( state
.backtracking
==0 ) {
897 CHARACTER_LITERAL12_tree
= (CommonTree
)adaptor
.create(CHARACTER_LITERAL12
);
898 adaptor
.addChild(root_0
, CHARACTER_LITERAL12_tree
);
905 retval
.stop
= input
.LT(-1);
907 if ( state
.backtracking
==0 ) {
908 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
909 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
913 catch (RecognitionException e
) {
918 // do for sure before leaving
922 // $ANTLR end "primaryExpression"
925 public static class postfixExpressionSuffix_return
extends ParserRuleReturnScope
{
928 public CommonTree
getTree() { return tree
; }
932 // $ANTLR start "postfixExpressionSuffix"
933 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:1: postfixExpressionSuffix : ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) );
934 public final CTFParser
.postfixExpressionSuffix_return
postfixExpressionSuffix() throws RecognitionException
{
935 CTFParser
.postfixExpressionSuffix_return retval
= new CTFParser
.postfixExpressionSuffix_return();
936 retval
.start
= input
.LT(1);
938 CommonTree root_0
= null;
941 Token OPENBRAC13
=null;
942 Token CLOSEBRAC15
=null;
943 Token IDENTIFIER16
=null;
944 ParserRuleReturnScope unaryExpression14
=null;
946 CommonTree ref_tree
=null;
947 CommonTree OPENBRAC13_tree
=null;
948 CommonTree CLOSEBRAC15_tree
=null;
949 CommonTree IDENTIFIER16_tree
=null;
950 RewriteRuleTokenStream stream_ARROW
=new RewriteRuleTokenStream(adaptor
,"token ARROW");
951 RewriteRuleTokenStream stream_DOT
=new RewriteRuleTokenStream(adaptor
,"token DOT");
952 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
955 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:3: ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
957 int LA6_0
= input
.LA(1);
958 if ( (LA6_0
==OPENBRAC
) ) {
961 else if ( (LA6_0
==ARROW
||LA6_0
==DOT
) ) {
966 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
967 NoViableAltException nvae
=
968 new NoViableAltException("", 6, 0, input
);
974 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: OPENBRAC unaryExpression CLOSEBRAC !
976 root_0
= (CommonTree
)adaptor
.nil();
979 OPENBRAC13
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_postfixExpressionSuffix661
); if (state
.failed
) return retval
;
980 if ( state
.backtracking
==0 ) {
981 OPENBRAC13_tree
= (CommonTree
)adaptor
.create(OPENBRAC13
);
982 adaptor
.addChild(root_0
, OPENBRAC13_tree
);
985 pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix663
);
986 unaryExpression14
=unaryExpression();
988 if (state
.failed
) return retval
;
989 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression14
.getTree());
991 CLOSEBRAC15
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665
); if (state
.failed
) return retval
;
995 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:5: (ref= DOT |ref= ARROW ) IDENTIFIER
997 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:5: (ref= DOT |ref= ARROW )
999 int LA5_0
= input
.LA(1);
1000 if ( (LA5_0
==DOT
) ) {
1003 else if ( (LA5_0
==ARROW
) ) {
1008 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1009 NoViableAltException nvae
=
1010 new NoViableAltException("", 5, 0, input
);
1016 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:6: ref= DOT
1018 ref
=(Token
)match(input
,DOT
,FOLLOW_DOT_in_postfixExpressionSuffix675
); if (state
.failed
) return retval
;
1019 if ( state
.backtracking
==0 ) stream_DOT
.add(ref
);
1024 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:16: ref= ARROW
1026 ref
=(Token
)match(input
,ARROW
,FOLLOW_ARROW_in_postfixExpressionSuffix681
); if (state
.failed
) return retval
;
1027 if ( state
.backtracking
==0 ) stream_ARROW
.add(ref
);
1034 IDENTIFIER16
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684
); if (state
.failed
) return retval
;
1035 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER16
);
1038 // elements: IDENTIFIER, ref
1039 // token labels: ref
1040 // rule labels: retval
1041 // token list labels:
1042 // rule list labels:
1044 if ( state
.backtracking
==0 ) {
1045 retval
.tree
= root_0
;
1046 RewriteRuleTokenStream stream_ref
=new RewriteRuleTokenStream(adaptor
,"token ref",ref
);
1047 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1049 root_0
= (CommonTree
)adaptor
.nil();
1050 // 221:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1052 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:221:10: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
1054 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1055 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ref
.nextNode(), root_1
);
1056 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:221:17: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1058 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1059 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_2
);
1060 adaptor
.addChild(root_2
, stream_IDENTIFIER
.nextNode());
1061 adaptor
.addChild(root_1
, root_2
);
1064 adaptor
.addChild(root_0
, root_1
);
1070 retval
.tree
= root_0
;
1077 retval
.stop
= input
.LT(-1);
1079 if ( state
.backtracking
==0 ) {
1080 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1081 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1085 catch (RecognitionException e
) {
1090 // do for sure before leaving
1094 // $ANTLR end "postfixExpressionSuffix"
1097 public static class postfixCtfExpression_return
extends ParserRuleReturnScope
{
1100 public CommonTree
getTree() { return tree
; }
1104 // $ANTLR start "postfixCtfExpression"
1105 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:1: postfixCtfExpression : (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) ;
1106 public final CTFParser
.postfixCtfExpression_return
postfixCtfExpression() throws RecognitionException
{
1107 CTFParser
.postfixCtfExpression_return retval
= new CTFParser
.postfixCtfExpression_return();
1108 retval
.start
= input
.LT(1);
1110 CommonTree root_0
= null;
1113 ParserRuleReturnScope ctfSpecifierHead17
=null;
1115 CommonTree ref_tree
=null;
1116 RewriteRuleTokenStream stream_DOT
=new RewriteRuleTokenStream(adaptor
,"token DOT");
1117 RewriteRuleSubtreeStream stream_ctfSpecifierHead
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfSpecifierHead");
1120 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:3: ( (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) )
1121 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:5: (ref= DOT ) ctfSpecifierHead
1123 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:5: (ref= DOT )
1124 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:6: ref= DOT
1126 ref
=(Token
)match(input
,DOT
,FOLLOW_DOT_in_postfixCtfExpression719
); if (state
.failed
) return retval
;
1127 if ( state
.backtracking
==0 ) stream_DOT
.add(ref
);
1131 pushFollow(FOLLOW_ctfSpecifierHead_in_postfixCtfExpression722
);
1132 ctfSpecifierHead17
=ctfSpecifierHead();
1134 if (state
.failed
) return retval
;
1135 if ( state
.backtracking
==0 ) stream_ctfSpecifierHead
.add(ctfSpecifierHead17
.getTree());
1137 // elements: ref, ctfSpecifierHead
1138 // token labels: ref
1139 // rule labels: retval
1140 // token list labels:
1141 // rule list labels:
1143 if ( state
.backtracking
==0 ) {
1144 retval
.tree
= root_0
;
1145 RewriteRuleTokenStream stream_ref
=new RewriteRuleTokenStream(adaptor
,"token ref",ref
);
1146 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1148 root_0
= (CommonTree
)adaptor
.nil();
1149 // 226:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
1151 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:226:10: ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
1153 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1154 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ref
.nextNode(), root_1
);
1155 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:226:17: ^( UNARY_EXPRESSION_STRING ctfSpecifierHead )
1157 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1158 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_2
);
1159 adaptor
.addChild(root_2
, stream_ctfSpecifierHead
.nextTree());
1160 adaptor
.addChild(root_1
, root_2
);
1163 adaptor
.addChild(root_0
, root_1
);
1169 retval
.tree
= root_0
;
1174 retval
.stop
= input
.LT(-1);
1176 if ( state
.backtracking
==0 ) {
1177 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1178 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1182 catch (RecognitionException e
) {
1187 // do for sure before leaving
1191 // $ANTLR end "postfixCtfExpression"
1194 public static class postfixExpression_return
extends ParserRuleReturnScope
{
1197 public CommonTree
getTree() { return tree
; }
1201 // $ANTLR start "postfixExpression"
1202 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:1: postfixExpression : ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) );
1203 public final CTFParser
.postfixExpression_return
postfixExpression() throws RecognitionException
{
1204 CTFParser
.postfixExpression_return retval
= new CTFParser
.postfixExpression_return();
1205 retval
.start
= input
.LT(1);
1207 CommonTree root_0
= null;
1209 ParserRuleReturnScope primaryExpression18
=null;
1210 ParserRuleReturnScope postfixExpressionSuffix19
=null;
1211 ParserRuleReturnScope ctfSpecifierHead20
=null;
1212 ParserRuleReturnScope postfixCtfExpression21
=null;
1213 ParserRuleReturnScope postfixExpressionSuffix22
=null;
1217 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:3: ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) )
1219 switch ( input
.LA(1) ) {
1221 case CHARACTER_LITERAL
:
1222 case DECIMAL_LITERAL
:
1229 case STRING_LITERAL
:
1249 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1250 NoViableAltException nvae
=
1251 new NoViableAltException("", 10, 0, input
);
1256 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( primaryExpression ( postfixExpressionSuffix )* )
1258 root_0
= (CommonTree
)adaptor
.nil();
1261 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( primaryExpression ( postfixExpressionSuffix )* )
1262 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:6: primaryExpression ( postfixExpressionSuffix )*
1264 pushFollow(FOLLOW_primaryExpression_in_postfixExpression755
);
1265 primaryExpression18
=primaryExpression();
1267 if (state
.failed
) return retval
;
1268 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, primaryExpression18
.getTree());
1270 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:24: ( postfixExpressionSuffix )*
1274 int LA7_0
= input
.LA(1);
1275 if ( (LA7_0
==ARROW
||LA7_0
==DOT
||LA7_0
==OPENBRAC
) ) {
1281 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:24: postfixExpressionSuffix
1283 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression757
);
1284 postfixExpressionSuffix19
=postfixExpressionSuffix();
1286 if (state
.failed
) return retval
;
1287 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpressionSuffix19
.getTree());
1302 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
1304 root_0
= (CommonTree
)adaptor
.nil();
1307 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
1308 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:6: ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+
1310 pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression766
);
1311 ctfSpecifierHead20
=ctfSpecifierHead();
1313 if (state
.failed
) return retval
;
1314 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfSpecifierHead20
.getTree());
1316 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:23: ( postfixCtfExpression )*
1320 int LA8_0
= input
.LA(1);
1321 if ( (LA8_0
==DOT
) ) {
1322 int LA8_2
= input
.LA(2);
1323 if ( (LA8_2
==CALLSITETOK
||LA8_2
==CLOCKTOK
||LA8_2
==ENVTOK
||LA8_2
==EVENTTOK
||LA8_2
==STREAMTOK
||LA8_2
==TRACETOK
) ) {
1331 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:23: postfixCtfExpression
1333 pushFollow(FOLLOW_postfixCtfExpression_in_postfixExpression768
);
1334 postfixCtfExpression21
=postfixCtfExpression();
1336 if (state
.failed
) return retval
;
1337 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixCtfExpression21
.getTree());
1347 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:45: ( postfixExpressionSuffix )+
1352 int LA9_0
= input
.LA(1);
1353 if ( (LA9_0
==ARROW
||LA9_0
==DOT
||LA9_0
==OPENBRAC
) ) {
1359 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:45: postfixExpressionSuffix
1361 pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression771
);
1362 postfixExpressionSuffix22
=postfixExpressionSuffix();
1364 if (state
.failed
) return retval
;
1365 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpressionSuffix22
.getTree());
1371 if ( cnt9
>= 1 ) break loop9
;
1372 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1373 EarlyExitException eee
= new EarlyExitException(9, input
);
1385 retval
.stop
= input
.LT(-1);
1387 if ( state
.backtracking
==0 ) {
1388 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1389 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1393 catch (RecognitionException e
) {
1398 // do for sure before leaving
1402 // $ANTLR end "postfixExpression"
1405 public static class unaryExpression_return
extends ParserRuleReturnScope
{
1408 public CommonTree
getTree() { return tree
; }
1412 // $ANTLR start "unaryExpression"
1413 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:1: unaryExpression : postfixExpression ;
1414 public final CTFParser
.unaryExpression_return
unaryExpression() throws RecognitionException
{
1415 CTFParser
.unaryExpression_return retval
= new CTFParser
.unaryExpression_return();
1416 retval
.start
= input
.LT(1);
1418 CommonTree root_0
= null;
1420 ParserRuleReturnScope postfixExpression23
=null;
1424 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:235:3: ( postfixExpression )
1425 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:235:5: postfixExpression
1427 root_0
= (CommonTree
)adaptor
.nil();
1430 pushFollow(FOLLOW_postfixExpression_in_unaryExpression787
);
1431 postfixExpression23
=postfixExpression();
1433 if (state
.failed
) return retval
;
1434 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, postfixExpression23
.getTree());
1438 retval
.stop
= input
.LT(-1);
1440 if ( state
.backtracking
==0 ) {
1441 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1442 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1446 catch (RecognitionException e
) {
1451 // do for sure before leaving
1455 // $ANTLR end "unaryExpression"
1458 public static class enumConstant_return
extends ParserRuleReturnScope
{
1461 public CommonTree
getTree() { return tree
; }
1465 // $ANTLR start "enumConstant"
1466 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
1467 public final CTFParser
.enumConstant_return
enumConstant() throws RecognitionException
{
1468 CTFParser
.enumConstant_return retval
= new CTFParser
.enumConstant_return();
1469 retval
.start
= input
.LT(1);
1471 CommonTree root_0
= null;
1473 Token STRING_LITERAL24
=null;
1474 Token IDENTIFIER25
=null;
1475 ParserRuleReturnScope ctfKeyword26
=null;
1477 CommonTree STRING_LITERAL24_tree
=null;
1478 CommonTree IDENTIFIER25_tree
=null;
1479 RewriteRuleTokenStream stream_STRING_LITERAL
=new RewriteRuleTokenStream(adaptor
,"token STRING_LITERAL");
1480 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
1481 RewriteRuleSubtreeStream stream_ctfKeyword
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfKeyword");
1484 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:3: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
1486 switch ( input
.LA(1) ) {
1487 case STRING_LITERAL
:
1506 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1507 NoViableAltException nvae
=
1508 new NoViableAltException("", 11, 0, input
);
1513 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:5: STRING_LITERAL
1515 STRING_LITERAL24
=(Token
)match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_enumConstant804
); if (state
.failed
) return retval
;
1516 if ( state
.backtracking
==0 ) stream_STRING_LITERAL
.add(STRING_LITERAL24
);
1519 // elements: STRING_LITERAL
1521 // rule labels: retval
1522 // token list labels:
1523 // rule list labels:
1525 if ( state
.backtracking
==0 ) {
1526 retval
.tree
= root_0
;
1527 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1529 root_0
= (CommonTree
)adaptor
.nil();
1530 // 240:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1532 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
1534 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1535 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING_QUOTES
, "UNARY_EXPRESSION_STRING_QUOTES"), root_1
);
1536 adaptor
.addChild(root_1
, stream_STRING_LITERAL
.nextNode());
1537 adaptor
.addChild(root_0
, root_1
);
1543 retval
.tree
= root_0
;
1549 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:5: IDENTIFIER
1551 IDENTIFIER25
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumConstant818
); if (state
.failed
) return retval
;
1552 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER25
);
1555 // elements: IDENTIFIER
1557 // rule labels: retval
1558 // token list labels:
1559 // rule list labels:
1561 if ( state
.backtracking
==0 ) {
1562 retval
.tree
= root_0
;
1563 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1565 root_0
= (CommonTree
)adaptor
.nil();
1566 // 241:16: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1568 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:19: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
1570 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1571 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1572 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
1573 adaptor
.addChild(root_0
, root_1
);
1579 retval
.tree
= root_0
;
1585 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:242:5: ctfKeyword
1587 pushFollow(FOLLOW_ctfKeyword_in_enumConstant832
);
1588 ctfKeyword26
=ctfKeyword();
1590 if (state
.failed
) return retval
;
1591 if ( state
.backtracking
==0 ) stream_ctfKeyword
.add(ctfKeyword26
.getTree());
1593 // elements: ctfKeyword
1595 // rule labels: retval
1596 // token list labels:
1597 // rule list labels:
1599 if ( state
.backtracking
==0 ) {
1600 retval
.tree
= root_0
;
1601 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1603 root_0
= (CommonTree
)adaptor
.nil();
1604 // 242:16: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
1606 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:242:19: ^( UNARY_EXPRESSION_STRING ctfKeyword )
1608 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1609 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(UNARY_EXPRESSION_STRING
, "UNARY_EXPRESSION_STRING"), root_1
);
1610 adaptor
.addChild(root_1
, stream_ctfKeyword
.nextTree());
1611 adaptor
.addChild(root_0
, root_1
);
1617 retval
.tree
= root_0
;
1624 retval
.stop
= input
.LT(-1);
1626 if ( state
.backtracking
==0 ) {
1627 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1628 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1632 catch (RecognitionException e
) {
1637 // do for sure before leaving
1641 // $ANTLR end "enumConstant"
1644 protected static class declaration_scope
{
1647 protected Stack
<declaration_scope
> declaration_stack
= new Stack
<declaration_scope
>();
1649 public static class declaration_return
extends ParserRuleReturnScope
{
1652 public CommonTree
getTree() { return tree
; }
1656 // $ANTLR start "declaration"
1657 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:247:1: declaration : ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !);
1658 public final CTFParser
.declaration_return
declaration() throws RecognitionException
{
1659 declaration_stack
.push(new declaration_scope());
1660 CTFParser
.declaration_return retval
= new CTFParser
.declaration_return();
1661 retval
.start
= input
.LT(1);
1663 CommonTree root_0
= null;
1667 ParserRuleReturnScope declarationSpecifiers27
=null;
1668 ParserRuleReturnScope declaratorList28
=null;
1669 ParserRuleReturnScope ctfSpecifier30
=null;
1671 CommonTree TERM29_tree
=null;
1672 CommonTree TERM31_tree
=null;
1673 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
1674 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
1675 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
1681 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:3: ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !)
1683 int LA13_0
= input
.LA(1);
1684 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
)) ) {
1687 else if ( (LA13_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
1690 else if ( (LA13_0
==CALLSITETOK
||LA13_0
==CLOCKTOK
||LA13_0
==ENVTOK
||LA13_0
==EVENTTOK
||LA13_0
==STREAMTOK
||(LA13_0
>= TRACETOK
&& LA13_0
<= TYPEALIASTOK
)) ) {
1695 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1696 NoViableAltException nvae
=
1697 new NoViableAltException("", 13, 0, input
);
1703 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:5: declarationSpecifiers ( declaratorList )? TERM
1705 pushFollow(FOLLOW_declarationSpecifiers_in_declaration863
);
1706 declarationSpecifiers27
=declarationSpecifiers();
1708 if (state
.failed
) return retval
;
1709 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers27
.getTree());
1710 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:27: ( declaratorList )?
1712 int LA12_0
= input
.LA(1);
1713 if ( (LA12_0
==IDENTIFIER
||LA12_0
==POINTER
) ) {
1718 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:27: declaratorList
1720 pushFollow(FOLLOW_declaratorList_in_declaration865
);
1721 declaratorList28
=declaratorList();
1723 if (state
.failed
) return retval
;
1724 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList28
.getTree());
1730 TERM29
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration868
); if (state
.failed
) return retval
;
1731 if ( state
.backtracking
==0 ) stream_TERM
.add(TERM29
);
1734 // elements: declarationSpecifiers, declaratorList, declarationSpecifiers, declaratorList
1736 // rule labels: retval
1737 // token list labels:
1738 // rule list labels:
1740 if ( state
.backtracking
==0 ) {
1741 retval
.tree
= root_0
;
1742 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1744 root_0
= (CommonTree
)adaptor
.nil();
1745 // 257:7: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1747 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:10: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
1749 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1750 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
1751 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:24: ^( TYPEDEF declaratorList declarationSpecifiers )
1753 CommonTree root_2
= (CommonTree
)adaptor
.nil();
1754 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_2
);
1755 adaptor
.addChild(root_2
, stream_declaratorList
.nextTree());
1756 adaptor
.addChild(root_2
, stream_declarationSpecifiers
.nextTree());
1757 adaptor
.addChild(root_1
, root_2
);
1760 adaptor
.addChild(root_0
, root_1
);
1765 else // 259:7: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
1767 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:10: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
1769 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1770 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
1771 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
1772 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:46: ( declaratorList )?
1773 if ( stream_declaratorList
.hasNext() ) {
1774 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
1776 stream_declaratorList
.reset();
1778 adaptor
.addChild(root_0
, root_1
);
1784 retval
.tree
= root_0
;
1790 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:260:5: ctfSpecifier TERM !
1792 root_0
= (CommonTree
)adaptor
.nil();
1795 pushFollow(FOLLOW_ctfSpecifier_in_declaration936
);
1796 ctfSpecifier30
=ctfSpecifier();
1798 if (state
.failed
) return retval
;
1799 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfSpecifier30
.getTree());
1801 TERM31
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_declaration938
); if (state
.failed
) return retval
;
1806 retval
.stop
= input
.LT(-1);
1808 if ( state
.backtracking
==0 ) {
1809 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1810 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1814 catch (RecognitionException e
) {
1819 // do for sure before leaving
1820 declaration_stack
.pop();
1824 // $ANTLR end "declaration"
1827 public static class declarationSpecifiers_return
extends ParserRuleReturnScope
{
1830 public CommonTree
getTree() { return tree
; }
1834 // $ANTLR start "declarationSpecifiers"
1835 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
1836 public final CTFParser
.declarationSpecifiers_return
declarationSpecifiers() throws RecognitionException
{
1837 CTFParser
.declarationSpecifiers_return retval
= new CTFParser
.declarationSpecifiers_return();
1838 retval
.start
= input
.LT(1);
1840 CommonTree root_0
= null;
1842 ParserRuleReturnScope storageClassSpecifier32
=null;
1843 ParserRuleReturnScope typeQualifier33
=null;
1844 ParserRuleReturnScope typeSpecifier34
=null;
1846 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
1847 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
1848 RewriteRuleSubtreeStream stream_storageClassSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule storageClassSpecifier");
1851 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:3: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
1852 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
1854 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
1859 switch ( input
.LA(1) ) {
1862 int LA14_2
= input
.LA(2);
1863 if ( ((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) ) {
1884 case FLOATINGPOINTTOK
:
1904 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:267:9: storageClassSpecifier
1906 pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers976
);
1907 storageClassSpecifier32
=storageClassSpecifier();
1909 if (state
.failed
) return retval
;
1910 if ( state
.backtracking
==0 ) stream_storageClassSpecifier
.add(storageClassSpecifier32
.getTree());
1914 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:268:9: typeQualifier
1916 pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers986
);
1917 typeQualifier33
=typeQualifier();
1919 if (state
.failed
) return retval
;
1920 if ( state
.backtracking
==0 ) stream_typeQualifier
.add(typeQualifier33
.getTree());
1924 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:9: typeSpecifier
1926 pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers996
);
1927 typeSpecifier34
=typeSpecifier();
1929 if (state
.failed
) return retval
;
1930 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(typeSpecifier34
.getTree());
1935 if ( cnt14
>= 1 ) break loop14
;
1936 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
1937 EarlyExitException eee
= new EarlyExitException(14, input
);
1944 // elements: typeQualifier, typeSpecifier
1946 // rule labels: retval
1947 // token list labels:
1948 // rule list labels:
1950 if ( state
.backtracking
==0 ) {
1951 retval
.tree
= root_0
;
1952 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
1954 root_0
= (CommonTree
)adaptor
.nil();
1955 // 270:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
1957 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
1959 CommonTree root_1
= (CommonTree
)adaptor
.nil();
1960 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
1961 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:31: ( typeQualifier )*
1962 while ( stream_typeQualifier
.hasNext() ) {
1963 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
1965 stream_typeQualifier
.reset();
1967 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:46: ( typeSpecifier )*
1968 while ( stream_typeSpecifier
.hasNext() ) {
1969 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
1971 stream_typeSpecifier
.reset();
1973 adaptor
.addChild(root_0
, root_1
);
1979 retval
.tree
= root_0
;
1984 retval
.stop
= input
.LT(-1);
1986 if ( state
.backtracking
==0 ) {
1987 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
1988 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
1992 catch (RecognitionException e
) {
1997 // do for sure before leaving
2001 // $ANTLR end "declarationSpecifiers"
2004 public static class declaratorList_return
extends ParserRuleReturnScope
{
2007 public CommonTree
getTree() { return tree
; }
2011 // $ANTLR start "declaratorList"
2012 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
2013 public final CTFParser
.declaratorList_return
declaratorList() throws RecognitionException
{
2014 CTFParser
.declaratorList_return retval
= new CTFParser
.declaratorList_return();
2015 retval
.start
= input
.LT(1);
2017 CommonTree root_0
= null;
2019 Token SEPARATOR36
=null;
2020 ParserRuleReturnScope declarator35
=null;
2021 ParserRuleReturnScope declarator37
=null;
2023 CommonTree SEPARATOR36_tree
=null;
2024 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2025 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
2028 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:3: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
2029 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:5: declarator ( SEPARATOR declarator )*
2031 pushFollow(FOLLOW_declarator_in_declaratorList1026
);
2032 declarator35
=declarator();
2034 if (state
.failed
) return retval
;
2035 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator35
.getTree());
2036 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:16: ( SEPARATOR declarator )*
2040 int LA15_0
= input
.LA(1);
2041 if ( (LA15_0
==SEPARATOR
) ) {
2047 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:17: SEPARATOR declarator
2049 SEPARATOR36
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_declaratorList1029
); if (state
.failed
) return retval
;
2050 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR36
);
2052 pushFollow(FOLLOW_declarator_in_declaratorList1031
);
2053 declarator37
=declarator();
2055 if (state
.failed
) return retval
;
2056 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator37
.getTree());
2066 // elements: declarator
2068 // rule labels: retval
2069 // token list labels:
2070 // rule list labels:
2072 if ( state
.backtracking
==0 ) {
2073 retval
.tree
= root_0
;
2074 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2076 root_0
= (CommonTree
)adaptor
.nil();
2077 // 275:7: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2079 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:275:10: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
2081 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2082 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2083 if ( !(stream_declarator
.hasNext()) ) {
2084 throw new RewriteEarlyExitException();
2086 while ( stream_declarator
.hasNext() ) {
2087 adaptor
.addChild(root_1
, stream_declarator
.nextTree());
2089 stream_declarator
.reset();
2091 adaptor
.addChild(root_0
, root_1
);
2097 retval
.tree
= root_0
;
2102 retval
.stop
= input
.LT(-1);
2104 if ( state
.backtracking
==0 ) {
2105 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2106 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2110 catch (RecognitionException e
) {
2115 // do for sure before leaving
2119 // $ANTLR end "declaratorList"
2122 public static class abstractDeclaratorList_return
extends ParserRuleReturnScope
{
2125 public CommonTree
getTree() { return tree
; }
2129 // $ANTLR start "abstractDeclaratorList"
2130 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
2131 public final CTFParser
.abstractDeclaratorList_return
abstractDeclaratorList() throws RecognitionException
{
2132 CTFParser
.abstractDeclaratorList_return retval
= new CTFParser
.abstractDeclaratorList_return();
2133 retval
.start
= input
.LT(1);
2135 CommonTree root_0
= null;
2137 Token SEPARATOR39
=null;
2138 ParserRuleReturnScope abstractDeclarator38
=null;
2139 ParserRuleReturnScope abstractDeclarator40
=null;
2141 CommonTree SEPARATOR39_tree
=null;
2142 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
2143 RewriteRuleSubtreeStream stream_abstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule abstractDeclarator");
2146 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:3: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
2147 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:5: abstractDeclarator ( SEPARATOR abstractDeclarator )*
2149 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1061
);
2150 abstractDeclarator38
=abstractDeclarator();
2152 if (state
.failed
) return retval
;
2153 if ( state
.backtracking
==0 ) stream_abstractDeclarator
.add(abstractDeclarator38
.getTree());
2154 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:24: ( SEPARATOR abstractDeclarator )*
2158 int LA16_0
= input
.LA(1);
2159 if ( (LA16_0
==SEPARATOR
) ) {
2165 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:25: SEPARATOR abstractDeclarator
2167 SEPARATOR39
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_abstractDeclaratorList1064
); if (state
.failed
) return retval
;
2168 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR39
);
2170 pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1066
);
2171 abstractDeclarator40
=abstractDeclarator();
2173 if (state
.failed
) return retval
;
2174 if ( state
.backtracking
==0 ) stream_abstractDeclarator
.add(abstractDeclarator40
.getTree());
2184 // elements: abstractDeclarator
2186 // rule labels: retval
2187 // token list labels:
2188 // rule list labels:
2190 if ( state
.backtracking
==0 ) {
2191 retval
.tree
= root_0
;
2192 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2194 root_0
= (CommonTree
)adaptor
.nil();
2195 // 280:7: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2197 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:280:10: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
2199 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2200 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
2201 if ( !(stream_abstractDeclarator
.hasNext()) ) {
2202 throw new RewriteEarlyExitException();
2204 while ( stream_abstractDeclarator
.hasNext() ) {
2205 adaptor
.addChild(root_1
, stream_abstractDeclarator
.nextTree());
2207 stream_abstractDeclarator
.reset();
2209 adaptor
.addChild(root_0
, root_1
);
2215 retval
.tree
= root_0
;
2220 retval
.stop
= input
.LT(-1);
2222 if ( state
.backtracking
==0 ) {
2223 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2224 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2228 catch (RecognitionException e
) {
2233 // do for sure before leaving
2237 // $ANTLR end "abstractDeclaratorList"
2240 public static class storageClassSpecifier_return
extends ParserRuleReturnScope
{
2243 public CommonTree
getTree() { return tree
; }
2247 // $ANTLR start "storageClassSpecifier"
2248 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:1: storageClassSpecifier : TYPEDEFTOK ;
2249 public final CTFParser
.storageClassSpecifier_return
storageClassSpecifier() throws RecognitionException
{
2250 CTFParser
.storageClassSpecifier_return retval
= new CTFParser
.storageClassSpecifier_return();
2251 retval
.start
= input
.LT(1);
2253 CommonTree root_0
= null;
2255 Token TYPEDEFTOK41
=null;
2257 CommonTree TYPEDEFTOK41_tree
=null;
2260 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:284:3: ( TYPEDEFTOK )
2261 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:284:5: TYPEDEFTOK
2263 root_0
= (CommonTree
)adaptor
.nil();
2266 TYPEDEFTOK41
=(Token
)match(input
,TYPEDEFTOK
,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1096
); if (state
.failed
) return retval
;
2267 if ( state
.backtracking
==0 ) {
2268 TYPEDEFTOK41_tree
= (CommonTree
)adaptor
.create(TYPEDEFTOK41
);
2269 adaptor
.addChild(root_0
, TYPEDEFTOK41_tree
);
2272 if ( state
.backtracking
==0 ) { typedefOn(); }
2275 retval
.stop
= input
.LT(-1);
2277 if ( state
.backtracking
==0 ) {
2278 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2279 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2283 catch (RecognitionException e
) {
2288 // do for sure before leaving
2292 // $ANTLR end "storageClassSpecifier"
2295 public static class typeSpecifier_return
extends ParserRuleReturnScope
{
2298 public CommonTree
getTree() { return tree
; }
2302 // $ANTLR start "typeSpecifier"
2303 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName );
2304 public final CTFParser
.typeSpecifier_return
typeSpecifier() throws RecognitionException
{
2305 CTFParser
.typeSpecifier_return retval
= new CTFParser
.typeSpecifier_return();
2306 retval
.start
= input
.LT(1);
2308 CommonTree root_0
= null;
2310 Token FLOATTOK42
=null;
2311 Token INTTOK43
=null;
2312 Token LONGTOK44
=null;
2313 Token SHORTTOK45
=null;
2314 Token SIGNEDTOK46
=null;
2315 Token UNSIGNEDTOK47
=null;
2316 Token CHARTOK48
=null;
2317 Token DOUBLETOK49
=null;
2318 Token VOIDTOK50
=null;
2319 Token BOOLTOK51
=null;
2320 Token COMPLEXTOK52
=null;
2321 Token IMAGINARYTOK53
=null;
2322 ParserRuleReturnScope structSpecifier54
=null;
2323 ParserRuleReturnScope variantSpecifier55
=null;
2324 ParserRuleReturnScope enumSpecifier56
=null;
2325 ParserRuleReturnScope ctfTypeSpecifier57
=null;
2326 ParserRuleReturnScope typedefName58
=null;
2328 CommonTree FLOATTOK42_tree
=null;
2329 CommonTree INTTOK43_tree
=null;
2330 CommonTree LONGTOK44_tree
=null;
2331 CommonTree SHORTTOK45_tree
=null;
2332 CommonTree SIGNEDTOK46_tree
=null;
2333 CommonTree UNSIGNEDTOK47_tree
=null;
2334 CommonTree CHARTOK48_tree
=null;
2335 CommonTree DOUBLETOK49_tree
=null;
2336 CommonTree VOIDTOK50_tree
=null;
2337 CommonTree BOOLTOK51_tree
=null;
2338 CommonTree COMPLEXTOK52_tree
=null;
2339 CommonTree IMAGINARYTOK53_tree
=null;
2342 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:3: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName )
2344 int LA17_0
= input
.LA(1);
2345 if ( (LA17_0
==FLOATTOK
) ) {
2348 else if ( (LA17_0
==INTTOK
) ) {
2351 else if ( (LA17_0
==LONGTOK
) ) {
2354 else if ( (LA17_0
==SHORTTOK
) ) {
2357 else if ( (LA17_0
==SIGNEDTOK
) ) {
2360 else if ( (LA17_0
==UNSIGNEDTOK
) ) {
2363 else if ( (LA17_0
==CHARTOK
) ) {
2366 else if ( (LA17_0
==DOUBLETOK
) ) {
2369 else if ( (LA17_0
==VOIDTOK
) ) {
2372 else if ( (LA17_0
==BOOLTOK
) ) {
2375 else if ( (LA17_0
==COMPLEXTOK
) ) {
2378 else if ( (LA17_0
==IMAGINARYTOK
) ) {
2381 else if ( (LA17_0
==STRUCTTOK
) ) {
2384 else if ( (LA17_0
==VARIANTTOK
) ) {
2387 else if ( (LA17_0
==ENUMTOK
) ) {
2390 else if ( (LA17_0
==FLOATINGPOINTTOK
||LA17_0
==INTEGERTOK
||LA17_0
==STRINGTOK
) ) {
2393 else if ( (LA17_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
2399 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:5: FLOATTOK
2401 root_0
= (CommonTree
)adaptor
.nil();
2404 FLOATTOK42
=(Token
)match(input
,FLOATTOK
,FOLLOW_FLOATTOK_in_typeSpecifier1112
); if (state
.failed
) return retval
;
2405 if ( state
.backtracking
==0 ) {
2406 FLOATTOK42_tree
= (CommonTree
)adaptor
.create(FLOATTOK42
);
2407 adaptor
.addChild(root_0
, FLOATTOK42_tree
);
2413 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:289:5: INTTOK
2415 root_0
= (CommonTree
)adaptor
.nil();
2418 INTTOK43
=(Token
)match(input
,INTTOK
,FOLLOW_INTTOK_in_typeSpecifier1118
); if (state
.failed
) return retval
;
2419 if ( state
.backtracking
==0 ) {
2420 INTTOK43_tree
= (CommonTree
)adaptor
.create(INTTOK43
);
2421 adaptor
.addChild(root_0
, INTTOK43_tree
);
2427 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:290:5: LONGTOK
2429 root_0
= (CommonTree
)adaptor
.nil();
2432 LONGTOK44
=(Token
)match(input
,LONGTOK
,FOLLOW_LONGTOK_in_typeSpecifier1124
); if (state
.failed
) return retval
;
2433 if ( state
.backtracking
==0 ) {
2434 LONGTOK44_tree
= (CommonTree
)adaptor
.create(LONGTOK44
);
2435 adaptor
.addChild(root_0
, LONGTOK44_tree
);
2441 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:291:5: SHORTTOK
2443 root_0
= (CommonTree
)adaptor
.nil();
2446 SHORTTOK45
=(Token
)match(input
,SHORTTOK
,FOLLOW_SHORTTOK_in_typeSpecifier1130
); if (state
.failed
) return retval
;
2447 if ( state
.backtracking
==0 ) {
2448 SHORTTOK45_tree
= (CommonTree
)adaptor
.create(SHORTTOK45
);
2449 adaptor
.addChild(root_0
, SHORTTOK45_tree
);
2455 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:292:5: SIGNEDTOK
2457 root_0
= (CommonTree
)adaptor
.nil();
2460 SIGNEDTOK46
=(Token
)match(input
,SIGNEDTOK
,FOLLOW_SIGNEDTOK_in_typeSpecifier1136
); if (state
.failed
) return retval
;
2461 if ( state
.backtracking
==0 ) {
2462 SIGNEDTOK46_tree
= (CommonTree
)adaptor
.create(SIGNEDTOK46
);
2463 adaptor
.addChild(root_0
, SIGNEDTOK46_tree
);
2469 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:293:5: UNSIGNEDTOK
2471 root_0
= (CommonTree
)adaptor
.nil();
2474 UNSIGNEDTOK47
=(Token
)match(input
,UNSIGNEDTOK
,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1142
); if (state
.failed
) return retval
;
2475 if ( state
.backtracking
==0 ) {
2476 UNSIGNEDTOK47_tree
= (CommonTree
)adaptor
.create(UNSIGNEDTOK47
);
2477 adaptor
.addChild(root_0
, UNSIGNEDTOK47_tree
);
2483 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:294:5: CHARTOK
2485 root_0
= (CommonTree
)adaptor
.nil();
2488 CHARTOK48
=(Token
)match(input
,CHARTOK
,FOLLOW_CHARTOK_in_typeSpecifier1148
); if (state
.failed
) return retval
;
2489 if ( state
.backtracking
==0 ) {
2490 CHARTOK48_tree
= (CommonTree
)adaptor
.create(CHARTOK48
);
2491 adaptor
.addChild(root_0
, CHARTOK48_tree
);
2497 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:295:5: DOUBLETOK
2499 root_0
= (CommonTree
)adaptor
.nil();
2502 DOUBLETOK49
=(Token
)match(input
,DOUBLETOK
,FOLLOW_DOUBLETOK_in_typeSpecifier1154
); if (state
.failed
) return retval
;
2503 if ( state
.backtracking
==0 ) {
2504 DOUBLETOK49_tree
= (CommonTree
)adaptor
.create(DOUBLETOK49
);
2505 adaptor
.addChild(root_0
, DOUBLETOK49_tree
);
2511 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:296:5: VOIDTOK
2513 root_0
= (CommonTree
)adaptor
.nil();
2516 VOIDTOK50
=(Token
)match(input
,VOIDTOK
,FOLLOW_VOIDTOK_in_typeSpecifier1160
); if (state
.failed
) return retval
;
2517 if ( state
.backtracking
==0 ) {
2518 VOIDTOK50_tree
= (CommonTree
)adaptor
.create(VOIDTOK50
);
2519 adaptor
.addChild(root_0
, VOIDTOK50_tree
);
2525 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:297:5: BOOLTOK
2527 root_0
= (CommonTree
)adaptor
.nil();
2530 BOOLTOK51
=(Token
)match(input
,BOOLTOK
,FOLLOW_BOOLTOK_in_typeSpecifier1166
); if (state
.failed
) return retval
;
2531 if ( state
.backtracking
==0 ) {
2532 BOOLTOK51_tree
= (CommonTree
)adaptor
.create(BOOLTOK51
);
2533 adaptor
.addChild(root_0
, BOOLTOK51_tree
);
2539 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:298:5: COMPLEXTOK
2541 root_0
= (CommonTree
)adaptor
.nil();
2544 COMPLEXTOK52
=(Token
)match(input
,COMPLEXTOK
,FOLLOW_COMPLEXTOK_in_typeSpecifier1172
); if (state
.failed
) return retval
;
2545 if ( state
.backtracking
==0 ) {
2546 COMPLEXTOK52_tree
= (CommonTree
)adaptor
.create(COMPLEXTOK52
);
2547 adaptor
.addChild(root_0
, COMPLEXTOK52_tree
);
2553 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:299:5: IMAGINARYTOK
2555 root_0
= (CommonTree
)adaptor
.nil();
2558 IMAGINARYTOK53
=(Token
)match(input
,IMAGINARYTOK
,FOLLOW_IMAGINARYTOK_in_typeSpecifier1178
); if (state
.failed
) return retval
;
2559 if ( state
.backtracking
==0 ) {
2560 IMAGINARYTOK53_tree
= (CommonTree
)adaptor
.create(IMAGINARYTOK53
);
2561 adaptor
.addChild(root_0
, IMAGINARYTOK53_tree
);
2567 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:300:5: structSpecifier
2569 root_0
= (CommonTree
)adaptor
.nil();
2572 pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1184
);
2573 structSpecifier54
=structSpecifier();
2575 if (state
.failed
) return retval
;
2576 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, structSpecifier54
.getTree());
2581 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:301:5: variantSpecifier
2583 root_0
= (CommonTree
)adaptor
.nil();
2586 pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1190
);
2587 variantSpecifier55
=variantSpecifier();
2589 if (state
.failed
) return retval
;
2590 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, variantSpecifier55
.getTree());
2595 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:302:5: enumSpecifier
2597 root_0
= (CommonTree
)adaptor
.nil();
2600 pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1196
);
2601 enumSpecifier56
=enumSpecifier();
2603 if (state
.failed
) return retval
;
2604 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumSpecifier56
.getTree());
2609 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:303:5: ctfTypeSpecifier
2611 root_0
= (CommonTree
)adaptor
.nil();
2614 pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1202
);
2615 ctfTypeSpecifier57
=ctfTypeSpecifier();
2617 if (state
.failed
) return retval
;
2618 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfTypeSpecifier57
.getTree());
2623 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:304:5: {...}? => typedefName
2625 root_0
= (CommonTree
)adaptor
.nil();
2628 if ( !(( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )) ) {
2629 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2630 throw new FailedPredicateException(input
, "typeSpecifier", " inTypealiasAlias() || isTypeName(input.LT(1).getText()) ");
2632 pushFollow(FOLLOW_typedefName_in_typeSpecifier1212
);
2633 typedefName58
=typedefName();
2635 if (state
.failed
) return retval
;
2636 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typedefName58
.getTree());
2642 retval
.stop
= input
.LT(-1);
2644 if ( state
.backtracking
==0 ) {
2645 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2646 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2650 catch (RecognitionException e
) {
2655 // do for sure before leaving
2659 // $ANTLR end "typeSpecifier"
2662 public static class typeQualifier_return
extends ParserRuleReturnScope
{
2665 public CommonTree
getTree() { return tree
; }
2669 // $ANTLR start "typeQualifier"
2670 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:1: typeQualifier : CONSTTOK ;
2671 public final CTFParser
.typeQualifier_return
typeQualifier() throws RecognitionException
{
2672 CTFParser
.typeQualifier_return retval
= new CTFParser
.typeQualifier_return();
2673 retval
.start
= input
.LT(1);
2675 CommonTree root_0
= null;
2677 Token CONSTTOK59
=null;
2679 CommonTree CONSTTOK59_tree
=null;
2682 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:308:3: ( CONSTTOK )
2683 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:308:5: CONSTTOK
2685 root_0
= (CommonTree
)adaptor
.nil();
2688 CONSTTOK59
=(Token
)match(input
,CONSTTOK
,FOLLOW_CONSTTOK_in_typeQualifier1225
); if (state
.failed
) return retval
;
2689 if ( state
.backtracking
==0 ) {
2690 CONSTTOK59_tree
= (CommonTree
)adaptor
.create(CONSTTOK59
);
2691 adaptor
.addChild(root_0
, CONSTTOK59_tree
);
2696 retval
.stop
= input
.LT(-1);
2698 if ( state
.backtracking
==0 ) {
2699 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2700 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2704 catch (RecognitionException e
) {
2709 // do for sure before leaving
2713 // $ANTLR end "typeQualifier"
2716 public static class alignAttribute_return
extends ParserRuleReturnScope
{
2719 public CommonTree
getTree() { return tree
; }
2723 // $ANTLR start "alignAttribute"
2724 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
2725 public final CTFParser
.alignAttribute_return
alignAttribute() throws RecognitionException
{
2726 CTFParser
.alignAttribute_return retval
= new CTFParser
.alignAttribute_return();
2727 retval
.start
= input
.LT(1);
2729 CommonTree root_0
= null;
2731 Token ALIGNTOK60
=null;
2732 Token LPAREN61
=null;
2733 Token RPAREN63
=null;
2734 ParserRuleReturnScope unaryExpression62
=null;
2736 CommonTree ALIGNTOK60_tree
=null;
2737 CommonTree LPAREN61_tree
=null;
2738 CommonTree RPAREN63_tree
=null;
2739 RewriteRuleTokenStream stream_RPAREN
=new RewriteRuleTokenStream(adaptor
,"token RPAREN");
2740 RewriteRuleTokenStream stream_ALIGNTOK
=new RewriteRuleTokenStream(adaptor
,"token ALIGNTOK");
2741 RewriteRuleTokenStream stream_LPAREN
=new RewriteRuleTokenStream(adaptor
,"token LPAREN");
2742 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
2745 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:3: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
2746 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:5: ALIGNTOK LPAREN unaryExpression RPAREN
2748 ALIGNTOK60
=(Token
)match(input
,ALIGNTOK
,FOLLOW_ALIGNTOK_in_alignAttribute1238
); if (state
.failed
) return retval
;
2749 if ( state
.backtracking
==0 ) stream_ALIGNTOK
.add(ALIGNTOK60
);
2751 LPAREN61
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_alignAttribute1240
); if (state
.failed
) return retval
;
2752 if ( state
.backtracking
==0 ) stream_LPAREN
.add(LPAREN61
);
2754 pushFollow(FOLLOW_unaryExpression_in_alignAttribute1242
);
2755 unaryExpression62
=unaryExpression();
2757 if (state
.failed
) return retval
;
2758 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(unaryExpression62
.getTree());
2759 RPAREN63
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_alignAttribute1244
); if (state
.failed
) return retval
;
2760 if ( state
.backtracking
==0 ) stream_RPAREN
.add(RPAREN63
);
2763 // elements: unaryExpression
2765 // rule labels: retval
2766 // token list labels:
2767 // rule list labels:
2769 if ( state
.backtracking
==0 ) {
2770 retval
.tree
= root_0
;
2771 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2773 root_0
= (CommonTree
)adaptor
.nil();
2774 // 312:44: -> ^( ALIGN unaryExpression )
2776 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:47: ^( ALIGN unaryExpression )
2778 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2779 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ALIGN
, "ALIGN"), root_1
);
2780 adaptor
.addChild(root_1
, stream_unaryExpression
.nextTree());
2781 adaptor
.addChild(root_0
, root_1
);
2787 retval
.tree
= root_0
;
2792 retval
.stop
= input
.LT(-1);
2794 if ( state
.backtracking
==0 ) {
2795 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2796 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2800 catch (RecognitionException e
) {
2805 // do for sure before leaving
2809 // $ANTLR end "alignAttribute"
2812 public static class structBody_return
extends ParserRuleReturnScope
{
2815 public CommonTree
getTree() { return tree
; }
2819 // $ANTLR start "structBody"
2820 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:316:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
2821 public final CTFParser
.structBody_return
structBody() throws RecognitionException
{
2822 Symbols_stack
.push(new Symbols_scope());
2824 CTFParser
.structBody_return retval
= new CTFParser
.structBody_return();
2825 retval
.start
= input
.LT(1);
2827 CommonTree root_0
= null;
2831 ParserRuleReturnScope structOrVariantDeclarationList65
=null;
2833 CommonTree LCURL64_tree
=null;
2834 CommonTree RCURL66_tree
=null;
2835 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
2836 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
2837 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
2840 Symbols_stack
.peek().types
= new HashSet
<String
>();
2843 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:3: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
2844 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:5: LCURL ( structOrVariantDeclarationList )? RCURL
2846 LCURL64
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_structBody1278
); if (state
.failed
) return retval
;
2847 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL64
);
2849 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:11: ( structOrVariantDeclarationList )?
2851 int LA18_0
= input
.LA(1);
2852 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
)) ) {
2855 else if ( (LA18_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
2858 else if ( (LA18_0
==TYPEALIASTOK
) ) {
2863 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:11: structOrVariantDeclarationList
2865 pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1280
);
2866 structOrVariantDeclarationList65
=structOrVariantDeclarationList();
2868 if (state
.failed
) return retval
;
2869 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList65
.getTree());
2875 RCURL66
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_structBody1283
); if (state
.failed
) return retval
;
2876 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL66
);
2879 // elements: structOrVariantDeclarationList
2881 // rule labels: retval
2882 // token list labels:
2883 // rule list labels:
2885 if ( state
.backtracking
==0 ) {
2886 retval
.tree
= root_0
;
2887 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
2889 root_0
= (CommonTree
)adaptor
.nil();
2890 // 322:7: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
2892 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:322:10: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
2894 CommonTree root_1
= (CommonTree
)adaptor
.nil();
2895 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_BODY
, "STRUCT_BODY"), root_1
);
2896 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:322:24: ( structOrVariantDeclarationList )?
2897 if ( stream_structOrVariantDeclarationList
.hasNext() ) {
2898 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
2900 stream_structOrVariantDeclarationList
.reset();
2902 adaptor
.addChild(root_0
, root_1
);
2908 retval
.tree
= root_0
;
2913 retval
.stop
= input
.LT(-1);
2915 if ( state
.backtracking
==0 ) {
2916 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
2917 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
2921 catch (RecognitionException e
) {
2926 // do for sure before leaving
2927 Symbols_stack
.pop();
2932 // $ANTLR end "structBody"
2935 public static class structSpecifier_return
extends ParserRuleReturnScope
{
2938 public CommonTree
getTree() { return tree
; }
2942 // $ANTLR start "structSpecifier"
2943 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
2944 public final CTFParser
.structSpecifier_return
structSpecifier() throws RecognitionException
{
2945 CTFParser
.structSpecifier_return retval
= new CTFParser
.structSpecifier_return();
2946 retval
.start
= input
.LT(1);
2948 CommonTree root_0
= null;
2950 Token STRUCTTOK67
=null;
2951 ParserRuleReturnScope structName68
=null;
2952 ParserRuleReturnScope alignAttribute69
=null;
2953 ParserRuleReturnScope structBody70
=null;
2954 ParserRuleReturnScope alignAttribute71
=null;
2955 ParserRuleReturnScope structBody72
=null;
2956 ParserRuleReturnScope alignAttribute73
=null;
2958 CommonTree STRUCTTOK67_tree
=null;
2959 RewriteRuleTokenStream stream_STRUCTTOK
=new RewriteRuleTokenStream(adaptor
,"token STRUCTTOK");
2960 RewriteRuleSubtreeStream stream_structName
=new RewriteRuleSubtreeStream(adaptor
,"rule structName");
2961 RewriteRuleSubtreeStream stream_structBody
=new RewriteRuleSubtreeStream(adaptor
,"rule structBody");
2962 RewriteRuleSubtreeStream stream_alignAttribute
=new RewriteRuleSubtreeStream(adaptor
,"rule alignAttribute");
2965 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:3: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
2966 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:5: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
2968 STRUCTTOK67
=(Token
)match(input
,STRUCTTOK
,FOLLOW_STRUCTTOK_in_structSpecifier1311
); if (state
.failed
) return retval
;
2969 if ( state
.backtracking
==0 ) stream_STRUCTTOK
.add(STRUCTTOK67
);
2971 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:327:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
2973 int LA22_0
= input
.LA(1);
2974 if ( (LA22_0
==IDENTIFIER
) ) {
2977 else if ( (LA22_0
==LCURL
) ) {
2982 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
2983 NoViableAltException nvae
=
2984 new NoViableAltException("", 22, 0, input
);
2990 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
2992 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
2993 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:330:9: structName ( alignAttribute | ( structBody ( alignAttribute |) ) |)
2995 pushFollow(FOLLOW_structName_in_structSpecifier1336
);
2996 structName68
=structName();
2998 if (state
.failed
) return retval
;
2999 if ( state
.backtracking
==0 ) stream_structName
.add(structName68
.getTree());
3000 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:331:9: ( alignAttribute | ( structBody ( alignAttribute |) ) |)
3002 switch ( input
.LA(1) ) {
3010 switch ( input
.LA(2) ) {
3017 case FLOATINGPOINTTOK
:
3037 int LA20_5
= input
.LA(3);
3038 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
)) ) {
3041 else if ( (LA20_5
==ASSIGNMENT
||LA20_5
==RCURL
||LA20_5
==SEPARATOR
) ) {
3046 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3047 int nvaeMark
= input
.mark();
3049 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3052 NoViableAltException nvae
=
3053 new NoViableAltException("", 20, 5, input
);
3056 input
.rewind(nvaeMark
);
3064 int LA20_6
= input
.LA(3);
3065 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
)) ) {
3068 else if ( (LA20_6
==ASSIGNMENT
||LA20_6
==RCURL
||LA20_6
==SEPARATOR
) ) {
3073 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3074 int nvaeMark
= input
.mark();
3076 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3079 NoViableAltException nvae
=
3080 new NoViableAltException("", 20, 6, input
);
3083 input
.rewind(nvaeMark
);
3091 int LA20_7
= input
.LA(3);
3092 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
)) ) {
3095 else if ( (LA20_7
==ASSIGNMENT
||LA20_7
==RCURL
||LA20_7
==SEPARATOR
) ) {
3100 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3101 int nvaeMark
= input
.mark();
3103 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
3106 NoViableAltException nvae
=
3107 new NoViableAltException("", 20, 7, input
);
3110 input
.rewind(nvaeMark
);
3118 case STRING_LITERAL
:
3124 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3125 int nvaeMark
= input
.mark();
3128 NoViableAltException nvae
=
3129 new NoViableAltException("", 20, 2, input
);
3132 input
.rewind(nvaeMark
);
3144 case FLOATINGPOINTTOK
:
3159 case TYPE_ASSIGNMENT
:
3168 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3169 NoViableAltException nvae
=
3170 new NoViableAltException("", 20, 0, input
);
3175 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:332:11: alignAttribute
3177 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1358
);
3178 alignAttribute69
=alignAttribute();
3180 if (state
.failed
) return retval
;
3181 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute69
.getTree());
3185 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:11: ( structBody ( alignAttribute |) )
3187 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:11: ( structBody ( alignAttribute |) )
3188 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:335:13: structBody ( alignAttribute |)
3190 pushFollow(FOLLOW_structBody_in_structSpecifier1394
);
3191 structBody70
=structBody();
3193 if (state
.failed
) return retval
;
3194 if ( state
.backtracking
==0 ) stream_structBody
.add(structBody70
.getTree());
3195 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:336:13: ( alignAttribute |)
3197 int LA19_0
= input
.LA(1);
3198 if ( (LA19_0
==ALIGNTOK
) ) {
3201 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
)) ) {
3206 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3207 NoViableAltException nvae
=
3208 new NoViableAltException("", 19, 0, input
);
3214 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:337:14: alignAttribute
3216 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1425
);
3217 alignAttribute71
=alignAttribute();
3219 if (state
.failed
) return retval
;
3220 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute71
.getTree());
3224 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:340:13:
3236 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:344:9:
3248 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:5: ( structBody ( alignAttribute |) )
3250 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:5: ( structBody ( alignAttribute |) )
3251 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:349:7: structBody ( alignAttribute |)
3253 pushFollow(FOLLOW_structBody_in_structSpecifier1541
);
3254 structBody72
=structBody();
3256 if (state
.failed
) return retval
;
3257 if ( state
.backtracking
==0 ) stream_structBody
.add(structBody72
.getTree());
3258 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:350:7: ( alignAttribute |)
3260 int LA21_0
= input
.LA(1);
3261 if ( (LA21_0
==ALIGNTOK
) ) {
3264 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
)) ) {
3269 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3270 NoViableAltException nvae
=
3271 new NoViableAltException("", 21, 0, input
);
3277 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:351:9: alignAttribute
3279 pushFollow(FOLLOW_alignAttribute_in_structSpecifier1559
);
3280 alignAttribute73
=alignAttribute();
3282 if (state
.failed
) return retval
;
3283 if ( state
.backtracking
==0 ) stream_alignAttribute
.add(alignAttribute73
.getTree());
3287 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:354:7:
3302 // elements: structBody, alignAttribute, structName
3304 // rule labels: retval
3305 // token list labels:
3306 // rule list labels:
3308 if ( state
.backtracking
==0 ) {
3309 retval
.tree
= root_0
;
3310 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3312 root_0
= (CommonTree
)adaptor
.nil();
3313 // 356:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3315 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
3317 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3318 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT
, "STRUCT"), root_1
);
3319 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:17: ( structName )?
3320 if ( stream_structName
.hasNext() ) {
3321 adaptor
.addChild(root_1
, stream_structName
.nextTree());
3323 stream_structName
.reset();
3325 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:29: ( structBody )?
3326 if ( stream_structBody
.hasNext() ) {
3327 adaptor
.addChild(root_1
, stream_structBody
.nextTree());
3329 stream_structBody
.reset();
3331 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:41: ( alignAttribute )?
3332 if ( stream_alignAttribute
.hasNext() ) {
3333 adaptor
.addChild(root_1
, stream_alignAttribute
.nextTree());
3335 stream_alignAttribute
.reset();
3337 adaptor
.addChild(root_0
, root_1
);
3343 retval
.tree
= root_0
;
3348 retval
.stop
= input
.LT(-1);
3350 if ( state
.backtracking
==0 ) {
3351 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3352 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3356 catch (RecognitionException e
) {
3361 // do for sure before leaving
3365 // $ANTLR end "structSpecifier"
3368 public static class structName_return
extends ParserRuleReturnScope
{
3371 public CommonTree
getTree() { return tree
; }
3375 // $ANTLR start "structName"
3376 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
3377 public final CTFParser
.structName_return
structName() throws RecognitionException
{
3378 CTFParser
.structName_return retval
= new CTFParser
.structName_return();
3379 retval
.start
= input
.LT(1);
3381 CommonTree root_0
= null;
3383 Token IDENTIFIER74
=null;
3385 CommonTree IDENTIFIER74_tree
=null;
3386 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
3389 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:3: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
3390 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:5: IDENTIFIER
3392 IDENTIFIER74
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_structName1625
); if (state
.failed
) return retval
;
3393 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER74
);
3396 // elements: IDENTIFIER
3398 // rule labels: retval
3399 // token list labels:
3400 // rule list labels:
3402 if ( state
.backtracking
==0 ) {
3403 retval
.tree
= root_0
;
3404 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3406 root_0
= (CommonTree
)adaptor
.nil();
3407 // 360:16: -> ^( STRUCT_NAME IDENTIFIER )
3409 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:19: ^( STRUCT_NAME IDENTIFIER )
3411 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3412 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRUCT_NAME
, "STRUCT_NAME"), root_1
);
3413 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
3414 adaptor
.addChild(root_0
, root_1
);
3420 retval
.tree
= root_0
;
3425 retval
.stop
= input
.LT(-1);
3427 if ( state
.backtracking
==0 ) {
3428 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3429 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3433 catch (RecognitionException e
) {
3438 // do for sure before leaving
3442 // $ANTLR end "structName"
3445 public static class structOrVariantDeclarationList_return
extends ParserRuleReturnScope
{
3448 public CommonTree
getTree() { return tree
; }
3452 // $ANTLR start "structOrVariantDeclarationList"
3453 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
3454 public final CTFParser
.structOrVariantDeclarationList_return
structOrVariantDeclarationList() throws RecognitionException
{
3455 CTFParser
.structOrVariantDeclarationList_return retval
= new CTFParser
.structOrVariantDeclarationList_return();
3456 retval
.start
= input
.LT(1);
3458 CommonTree root_0
= null;
3460 ParserRuleReturnScope structOrVariantDeclaration75
=null;
3464 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:3: ( ( structOrVariantDeclaration )+ )
3465 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: ( structOrVariantDeclaration )+
3467 root_0
= (CommonTree
)adaptor
.nil();
3470 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: ( structOrVariantDeclaration )+
3475 int LA23_0
= input
.LA(1);
3476 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
)) ) {
3479 else if ( (LA23_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3482 else if ( (LA23_0
==TYPEALIASTOK
) ) {
3488 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: structOrVariantDeclaration
3490 pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1646
);
3491 structOrVariantDeclaration75
=structOrVariantDeclaration();
3493 if (state
.failed
) return retval
;
3494 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, structOrVariantDeclaration75
.getTree());
3500 if ( cnt23
>= 1 ) break loop23
;
3501 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3502 EarlyExitException eee
= new EarlyExitException(23, input
);
3510 retval
.stop
= input
.LT(-1);
3512 if ( state
.backtracking
==0 ) {
3513 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3514 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3518 catch (RecognitionException e
) {
3523 // do for sure before leaving
3527 // $ANTLR end "structOrVariantDeclarationList"
3530 public static class structOrVariantDeclaration_return
extends ParserRuleReturnScope
{
3533 public CommonTree
getTree() { return tree
; }
3537 // $ANTLR start "structOrVariantDeclaration"
3538 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:367:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
3539 public final CTFParser
.structOrVariantDeclaration_return
structOrVariantDeclaration() throws RecognitionException
{
3540 CTFParser
.structOrVariantDeclaration_return retval
= new CTFParser
.structOrVariantDeclaration_return();
3541 retval
.start
= input
.LT(1);
3543 CommonTree root_0
= null;
3546 ParserRuleReturnScope declarationSpecifiers76
=null;
3547 ParserRuleReturnScope declaratorList77
=null;
3548 ParserRuleReturnScope structOrVariantDeclaratorList78
=null;
3549 ParserRuleReturnScope typealiasDecl79
=null;
3551 CommonTree TERM80_tree
=null;
3552 RewriteRuleTokenStream stream_TERM
=new RewriteRuleTokenStream(adaptor
,"token TERM");
3553 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
3554 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
3555 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
3556 RewriteRuleSubtreeStream stream_structOrVariantDeclaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclaratorList");
3559 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
3560 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
3562 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
3564 int LA25_0
= input
.LA(1);
3565 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
)) ) {
3568 else if ( (LA25_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3571 else if ( (LA25_0
==TYPEALIASTOK
) ) {
3576 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3577 NoViableAltException nvae
=
3578 new NoViableAltException("", 25, 0, input
);
3584 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
3586 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
3587 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:371:8: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
3589 pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1679
);
3590 declarationSpecifiers76
=declarationSpecifiers();
3592 if (state
.failed
) return retval
;
3593 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers76
.getTree());
3594 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:372:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
3596 alt24
= dfa24
.predict(input
);
3599 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:374:12: {...}? => declaratorList
3601 if ( !((inTypedef())) ) {
3602 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3603 throw new FailedPredicateException(input
, "structOrVariantDeclaration", "inTypedef()");
3605 pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1720
);
3606 declaratorList77
=declaratorList();
3608 if (state
.failed
) return retval
;
3609 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList77
.getTree());
3611 // elements: declaratorList, declarationSpecifiers
3613 // rule labels: retval
3614 // token list labels:
3615 // rule list labels:
3617 if ( state
.backtracking
==0 ) {
3618 retval
.tree
= root_0
;
3619 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3621 root_0
= (CommonTree
)adaptor
.nil();
3622 // 375:14: -> ^( TYPEDEF declaratorList declarationSpecifiers )
3624 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:375:17: ^( TYPEDEF declaratorList declarationSpecifiers )
3626 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3627 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
3628 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
3629 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
3630 adaptor
.addChild(root_0
, root_1
);
3636 retval
.tree
= root_0
;
3642 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:376:14: structOrVariantDeclaratorList
3644 pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1758
);
3645 structOrVariantDeclaratorList78
=structOrVariantDeclaratorList();
3647 if (state
.failed
) return retval
;
3648 if ( state
.backtracking
==0 ) stream_structOrVariantDeclaratorList
.add(structOrVariantDeclaratorList78
.getTree());
3650 // elements: structOrVariantDeclaratorList, declarationSpecifiers
3652 // rule labels: retval
3653 // token list labels:
3654 // rule list labels:
3656 if ( state
.backtracking
==0 ) {
3657 retval
.tree
= root_0
;
3658 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3660 root_0
= (CommonTree
)adaptor
.nil();
3661 // 377:14: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
3663 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:377:17: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
3665 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3666 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(SV_DECLARATION
, "SV_DECLARATION"), root_1
);
3667 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
3668 adaptor
.addChild(root_1
, stream_structOrVariantDeclaratorList
.nextTree());
3669 adaptor
.addChild(root_0
, root_1
);
3675 retval
.tree
= root_0
;
3688 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:382:5: typealiasDecl
3690 pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1817
);
3691 typealiasDecl79
=typealiasDecl();
3693 if (state
.failed
) return retval
;
3694 if ( state
.backtracking
==0 ) stream_typealiasDecl
.add(typealiasDecl79
.getTree());
3696 // elements: typealiasDecl
3698 // rule labels: retval
3699 // token list labels:
3700 // rule list labels:
3702 if ( state
.backtracking
==0 ) {
3703 retval
.tree
= root_0
;
3704 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3706 root_0
= (CommonTree
)adaptor
.nil();
3707 // 382:19: -> typealiasDecl
3709 adaptor
.addChild(root_0
, stream_typealiasDecl
.nextTree());
3713 retval
.tree
= root_0
;
3721 TERM80
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_structOrVariantDeclaration1829
); if (state
.failed
) return retval
;
3722 if ( state
.backtracking
==0 ) stream_TERM
.add(TERM80
);
3726 retval
.stop
= input
.LT(-1);
3728 if ( state
.backtracking
==0 ) {
3729 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3730 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3734 catch (RecognitionException e
) {
3739 // do for sure before leaving
3743 // $ANTLR end "structOrVariantDeclaration"
3746 public static class specifierQualifierList_return
extends ParserRuleReturnScope
{
3749 public CommonTree
getTree() { return tree
; }
3753 // $ANTLR start "specifierQualifierList"
3754 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
3755 public final CTFParser
.specifierQualifierList_return
specifierQualifierList() throws RecognitionException
{
3756 CTFParser
.specifierQualifierList_return retval
= new CTFParser
.specifierQualifierList_return();
3757 retval
.start
= input
.LT(1);
3759 CommonTree root_0
= null;
3761 ParserRuleReturnScope typeQualifier81
=null;
3762 ParserRuleReturnScope typeSpecifier82
=null;
3764 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
3765 RewriteRuleSubtreeStream stream_typeQualifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifier");
3768 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:3: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
3769 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:5: ( typeQualifier | typeSpecifier )+
3771 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:5: ( typeQualifier | typeSpecifier )+
3776 int LA26_0
= input
.LA(1);
3777 if ( (LA26_0
==CONSTTOK
) ) {
3780 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
)) ) {
3783 else if ( (LA26_0
==IDENTIFIER
) && (( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) ))) {
3789 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:6: typeQualifier
3791 pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1843
);
3792 typeQualifier81
=typeQualifier();
3794 if (state
.failed
) return retval
;
3795 if ( state
.backtracking
==0 ) stream_typeQualifier
.add(typeQualifier81
.getTree());
3799 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:22: typeSpecifier
3801 pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1847
);
3802 typeSpecifier82
=typeSpecifier();
3804 if (state
.failed
) return retval
;
3805 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(typeSpecifier82
.getTree());
3810 if ( cnt26
>= 1 ) break loop26
;
3811 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
3812 EarlyExitException eee
= new EarlyExitException(26, input
);
3819 // elements: typeSpecifier, typeQualifier
3821 // rule labels: retval
3822 // token list labels:
3823 // rule list labels:
3825 if ( state
.backtracking
==0 ) {
3826 retval
.tree
= root_0
;
3827 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3829 root_0
= (CommonTree
)adaptor
.nil();
3830 // 389:7: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
3832 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:10: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
3834 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3835 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_1
);
3836 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:32: ( typeQualifier )*
3837 while ( stream_typeQualifier
.hasNext() ) {
3838 adaptor
.addChild(root_1
, stream_typeQualifier
.nextTree());
3840 stream_typeQualifier
.reset();
3842 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:47: ( typeSpecifier )*
3843 while ( stream_typeSpecifier
.hasNext() ) {
3844 adaptor
.addChild(root_1
, stream_typeSpecifier
.nextTree());
3846 stream_typeSpecifier
.reset();
3848 adaptor
.addChild(root_0
, root_1
);
3854 retval
.tree
= root_0
;
3859 retval
.stop
= input
.LT(-1);
3861 if ( state
.backtracking
==0 ) {
3862 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3863 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3867 catch (RecognitionException e
) {
3872 // do for sure before leaving
3876 // $ANTLR end "specifierQualifierList"
3879 public static class structOrVariantDeclaratorList_return
extends ParserRuleReturnScope
{
3882 public CommonTree
getTree() { return tree
; }
3886 // $ANTLR start "structOrVariantDeclaratorList"
3887 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
3888 public final CTFParser
.structOrVariantDeclaratorList_return
structOrVariantDeclaratorList() throws RecognitionException
{
3889 CTFParser
.structOrVariantDeclaratorList_return retval
= new CTFParser
.structOrVariantDeclaratorList_return();
3890 retval
.start
= input
.LT(1);
3892 CommonTree root_0
= null;
3894 Token SEPARATOR84
=null;
3895 ParserRuleReturnScope structOrVariantDeclarator83
=null;
3896 ParserRuleReturnScope structOrVariantDeclarator85
=null;
3898 CommonTree SEPARATOR84_tree
=null;
3899 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
3900 RewriteRuleSubtreeStream stream_structOrVariantDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarator");
3903 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:3: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
3904 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:5: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
3906 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1880
);
3907 structOrVariantDeclarator83
=structOrVariantDeclarator();
3909 if (state
.failed
) return retval
;
3910 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarator
.add(structOrVariantDeclarator83
.getTree());
3911 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:31: ( SEPARATOR structOrVariantDeclarator )*
3915 int LA27_0
= input
.LA(1);
3916 if ( (LA27_0
==SEPARATOR
) ) {
3922 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:32: SEPARATOR structOrVariantDeclarator
3924 SEPARATOR84
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1883
); if (state
.failed
) return retval
;
3925 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR84
);
3927 pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1885
);
3928 structOrVariantDeclarator85
=structOrVariantDeclarator();
3930 if (state
.failed
) return retval
;
3931 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarator
.add(structOrVariantDeclarator85
.getTree());
3941 // elements: structOrVariantDeclarator
3943 // rule labels: retval
3944 // token list labels:
3945 // rule list labels:
3947 if ( state
.backtracking
==0 ) {
3948 retval
.tree
= root_0
;
3949 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
3951 root_0
= (CommonTree
)adaptor
.nil();
3952 // 394:7: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
3954 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:394:10: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
3956 CommonTree root_1
= (CommonTree
)adaptor
.nil();
3957 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR_LIST
, "TYPE_DECLARATOR_LIST"), root_1
);
3958 if ( !(stream_structOrVariantDeclarator
.hasNext()) ) {
3959 throw new RewriteEarlyExitException();
3961 while ( stream_structOrVariantDeclarator
.hasNext() ) {
3962 adaptor
.addChild(root_1
, stream_structOrVariantDeclarator
.nextTree());
3964 stream_structOrVariantDeclarator
.reset();
3966 adaptor
.addChild(root_0
, root_1
);
3972 retval
.tree
= root_0
;
3977 retval
.stop
= input
.LT(-1);
3979 if ( state
.backtracking
==0 ) {
3980 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
3981 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
3985 catch (RecognitionException e
) {
3990 // do for sure before leaving
3994 // $ANTLR end "structOrVariantDeclaratorList"
3997 public static class structOrVariantDeclarator_return
extends ParserRuleReturnScope
{
4000 public CommonTree
getTree() { return tree
; }
4004 // $ANTLR start "structOrVariantDeclarator"
4005 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:397:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
4006 public final CTFParser
.structOrVariantDeclarator_return
structOrVariantDeclarator() throws RecognitionException
{
4007 CTFParser
.structOrVariantDeclarator_return retval
= new CTFParser
.structOrVariantDeclarator_return();
4008 retval
.start
= input
.LT(1);
4010 CommonTree root_0
= null;
4013 ParserRuleReturnScope declarator86
=null;
4014 ParserRuleReturnScope numberLiteral88
=null;
4016 CommonTree COLON87_tree
=null;
4017 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
4018 RewriteRuleSubtreeStream stream_declarator
=new RewriteRuleSubtreeStream(adaptor
,"rule declarator");
4019 RewriteRuleSubtreeStream stream_numberLiteral
=new RewriteRuleSubtreeStream(adaptor
,"rule numberLiteral");
4022 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:398:3: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
4023 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:5: ( declarator ( COLON numberLiteral )? )
4025 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:5: ( declarator ( COLON numberLiteral )? )
4026 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:6: declarator ( COLON numberLiteral )?
4028 pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1924
);
4029 declarator86
=declarator();
4031 if (state
.failed
) return retval
;
4032 if ( state
.backtracking
==0 ) stream_declarator
.add(declarator86
.getTree());
4033 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:17: ( COLON numberLiteral )?
4035 int LA28_0
= input
.LA(1);
4036 if ( (LA28_0
==COLON
) ) {
4041 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:18: COLON numberLiteral
4043 COLON87
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_structOrVariantDeclarator1927
); if (state
.failed
) return retval
;
4044 if ( state
.backtracking
==0 ) stream_COLON
.add(COLON87
);
4046 pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1929
);
4047 numberLiteral88
=numberLiteral();
4049 if (state
.failed
) return retval
;
4050 if ( state
.backtracking
==0 ) stream_numberLiteral
.add(numberLiteral88
.getTree());
4059 // elements: declarator
4061 // rule labels: retval
4062 // token list labels:
4063 // rule list labels:
4065 if ( state
.backtracking
==0 ) {
4066 retval
.tree
= root_0
;
4067 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4069 root_0
= (CommonTree
)adaptor
.nil();
4070 // 400:41: -> declarator
4072 adaptor
.addChild(root_0
, stream_declarator
.nextTree());
4076 retval
.tree
= root_0
;
4081 retval
.stop
= input
.LT(-1);
4083 if ( state
.backtracking
==0 ) {
4084 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4085 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4089 catch (RecognitionException e
) {
4094 // do for sure before leaving
4098 // $ANTLR end "structOrVariantDeclarator"
4101 public static class variantSpecifier_return
extends ParserRuleReturnScope
{
4104 public CommonTree
getTree() { return tree
; }
4108 // $ANTLR start "variantSpecifier"
4109 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
4110 public final CTFParser
.variantSpecifier_return
variantSpecifier() throws RecognitionException
{
4111 CTFParser
.variantSpecifier_return retval
= new CTFParser
.variantSpecifier_return();
4112 retval
.start
= input
.LT(1);
4114 CommonTree root_0
= null;
4116 Token VARIANTTOK89
=null;
4117 ParserRuleReturnScope variantName90
=null;
4118 ParserRuleReturnScope variantTag91
=null;
4119 ParserRuleReturnScope variantBody92
=null;
4120 ParserRuleReturnScope variantBody93
=null;
4121 ParserRuleReturnScope variantTag94
=null;
4122 ParserRuleReturnScope variantBody95
=null;
4123 ParserRuleReturnScope variantBody96
=null;
4125 CommonTree VARIANTTOK89_tree
=null;
4126 RewriteRuleTokenStream stream_VARIANTTOK
=new RewriteRuleTokenStream(adaptor
,"token VARIANTTOK");
4127 RewriteRuleSubtreeStream stream_variantName
=new RewriteRuleSubtreeStream(adaptor
,"rule variantName");
4128 RewriteRuleSubtreeStream stream_variantTag
=new RewriteRuleSubtreeStream(adaptor
,"rule variantTag");
4129 RewriteRuleSubtreeStream stream_variantBody
=new RewriteRuleSubtreeStream(adaptor
,"rule variantBody");
4132 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:3: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
4133 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:5: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4135 VARIANTTOK89
=(Token
)match(input
,VARIANTTOK
,FOLLOW_VARIANTTOK_in_variantSpecifier1953
); if (state
.failed
) return retval
;
4136 if ( state
.backtracking
==0 ) stream_VARIANTTOK
.add(VARIANTTOK89
);
4138 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:3: ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
4140 switch ( input
.LA(1) ) {
4157 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4158 NoViableAltException nvae
=
4159 new NoViableAltException("", 31, 0, input
);
4164 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
4166 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
4167 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:408:7: variantName ( ( variantTag ( variantBody |) ) | variantBody )
4169 pushFollow(FOLLOW_variantName_in_variantSpecifier1971
);
4170 variantName90
=variantName();
4172 if (state
.failed
) return retval
;
4173 if ( state
.backtracking
==0 ) stream_variantName
.add(variantName90
.getTree());
4174 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:7: ( ( variantTag ( variantBody |) ) | variantBody )
4176 int LA30_0
= input
.LA(1);
4177 if ( (LA30_0
==LT
) ) {
4180 else if ( (LA30_0
==LCURL
) ) {
4185 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4186 NoViableAltException nvae
=
4187 new NoViableAltException("", 30, 0, input
);
4193 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:9: ( variantTag ( variantBody |) )
4195 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:9: ( variantTag ( variantBody |) )
4196 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:411:11: variantTag ( variantBody |)
4198 pushFollow(FOLLOW_variantTag_in_variantSpecifier2001
);
4199 variantTag91
=variantTag();
4201 if (state
.failed
) return retval
;
4202 if ( state
.backtracking
==0 ) stream_variantTag
.add(variantTag91
.getTree());
4203 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:412:11: ( variantBody |)
4205 int LA29_0
= input
.LA(1);
4206 if ( (LA29_0
==LCURL
) ) {
4207 switch ( input
.LA(2) ) {
4214 case FLOATINGPOINTTOK
:
4233 int LA29_4
= input
.LA(3);
4234 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
)) ) {
4237 else if ( (LA29_4
==ASSIGNMENT
||LA29_4
==RCURL
||LA29_4
==SEPARATOR
) ) {
4242 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4243 int nvaeMark
= input
.mark();
4245 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4248 NoViableAltException nvae
=
4249 new NoViableAltException("", 29, 4, input
);
4252 input
.rewind(nvaeMark
);
4260 int LA29_5
= input
.LA(3);
4261 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
)) ) {
4264 else if ( (LA29_5
==ASSIGNMENT
||LA29_5
==RCURL
||LA29_5
==SEPARATOR
) ) {
4269 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4270 int nvaeMark
= input
.mark();
4272 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4275 NoViableAltException nvae
=
4276 new NoViableAltException("", 29, 5, input
);
4279 input
.rewind(nvaeMark
);
4287 int LA29_6
= input
.LA(3);
4288 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
)) ) {
4291 else if ( (LA29_6
==ASSIGNMENT
||LA29_6
==RCURL
||LA29_6
==SEPARATOR
) ) {
4296 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4297 int nvaeMark
= input
.mark();
4299 for (int nvaeConsume
= 0; nvaeConsume
< 3 - 1; nvaeConsume
++) {
4302 NoViableAltException nvae
=
4303 new NoViableAltException("", 29, 6, input
);
4306 input
.rewind(nvaeMark
);
4314 case STRING_LITERAL
:
4320 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4321 int nvaeMark
= input
.mark();
4324 NoViableAltException nvae
=
4325 new NoViableAltException("", 29, 1, input
);
4328 input
.rewind(nvaeMark
);
4332 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
)) ) {
4337 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4338 NoViableAltException nvae
=
4339 new NoViableAltException("", 29, 0, input
);
4345 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:413:13: variantBody
4347 pushFollow(FOLLOW_variantBody_in_variantSpecifier2027
);
4348 variantBody92
=variantBody();
4350 if (state
.failed
) return retval
;
4351 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody92
.getTree());
4355 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:416:11:
4367 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:419:9: variantBody
4369 pushFollow(FOLLOW_variantBody_in_variantSpecifier2095
);
4370 variantBody93
=variantBody();
4372 if (state
.failed
) return retval
;
4373 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody93
.getTree());
4384 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: ( variantTag variantBody )
4386 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: ( variantTag variantBody )
4387 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:6: variantTag variantBody
4389 pushFollow(FOLLOW_variantTag_in_variantSpecifier2116
);
4390 variantTag94
=variantTag();
4392 if (state
.failed
) return retval
;
4393 if ( state
.backtracking
==0 ) stream_variantTag
.add(variantTag94
.getTree());
4394 pushFollow(FOLLOW_variantBody_in_variantSpecifier2118
);
4395 variantBody95
=variantBody();
4397 if (state
.failed
) return retval
;
4398 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody95
.getTree());
4404 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:5: variantBody
4406 pushFollow(FOLLOW_variantBody_in_variantSpecifier2125
);
4407 variantBody96
=variantBody();
4409 if (state
.failed
) return retval
;
4410 if ( state
.backtracking
==0 ) stream_variantBody
.add(variantBody96
.getTree());
4417 // elements: variantName, variantTag, variantBody
4419 // rule labels: retval
4420 // token list labels:
4421 // rule list labels:
4423 if ( state
.backtracking
==0 ) {
4424 retval
.tree
= root_0
;
4425 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4427 root_0
= (CommonTree
)adaptor
.nil();
4428 // 424:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
4430 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
4432 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4433 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT
, "VARIANT"), root_1
);
4434 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:18: ( variantName )?
4435 if ( stream_variantName
.hasNext() ) {
4436 adaptor
.addChild(root_1
, stream_variantName
.nextTree());
4438 stream_variantName
.reset();
4440 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:31: ( variantTag )?
4441 if ( stream_variantTag
.hasNext() ) {
4442 adaptor
.addChild(root_1
, stream_variantTag
.nextTree());
4444 stream_variantTag
.reset();
4446 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:43: ( variantBody )?
4447 if ( stream_variantBody
.hasNext() ) {
4448 adaptor
.addChild(root_1
, stream_variantBody
.nextTree());
4450 stream_variantBody
.reset();
4452 adaptor
.addChild(root_0
, root_1
);
4458 retval
.tree
= root_0
;
4463 retval
.stop
= input
.LT(-1);
4465 if ( state
.backtracking
==0 ) {
4466 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4467 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4471 catch (RecognitionException e
) {
4476 // do for sure before leaving
4480 // $ANTLR end "variantSpecifier"
4483 public static class variantName_return
extends ParserRuleReturnScope
{
4486 public CommonTree
getTree() { return tree
; }
4490 // $ANTLR start "variantName"
4491 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
4492 public final CTFParser
.variantName_return
variantName() throws RecognitionException
{
4493 CTFParser
.variantName_return retval
= new CTFParser
.variantName_return();
4494 retval
.start
= input
.LT(1);
4496 CommonTree root_0
= null;
4498 Token IDENTIFIER97
=null;
4500 CommonTree IDENTIFIER97_tree
=null;
4501 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
4504 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:3: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
4505 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:5: IDENTIFIER
4507 IDENTIFIER97
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantName2157
); if (state
.failed
) return retval
;
4508 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER97
);
4511 // elements: IDENTIFIER
4513 // rule labels: retval
4514 // token list labels:
4515 // rule list labels:
4517 if ( state
.backtracking
==0 ) {
4518 retval
.tree
= root_0
;
4519 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4521 root_0
= (CommonTree
)adaptor
.nil();
4522 // 428:16: -> ^( VARIANT_NAME IDENTIFIER )
4524 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:19: ^( VARIANT_NAME IDENTIFIER )
4526 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4527 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_NAME
, "VARIANT_NAME"), root_1
);
4528 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
4529 adaptor
.addChild(root_0
, root_1
);
4535 retval
.tree
= root_0
;
4540 retval
.stop
= input
.LT(-1);
4542 if ( state
.backtracking
==0 ) {
4543 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4544 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4548 catch (RecognitionException e
) {
4553 // do for sure before leaving
4557 // $ANTLR end "variantName"
4560 public static class variantBody_return
extends ParserRuleReturnScope
{
4563 public CommonTree
getTree() { return tree
; }
4567 // $ANTLR start "variantBody"
4568 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:431:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
4569 public final CTFParser
.variantBody_return
variantBody() throws RecognitionException
{
4570 Symbols_stack
.push(new Symbols_scope());
4572 CTFParser
.variantBody_return retval
= new CTFParser
.variantBody_return();
4573 retval
.start
= input
.LT(1);
4575 CommonTree root_0
= null;
4578 Token RCURL100
=null;
4579 ParserRuleReturnScope structOrVariantDeclarationList99
=null;
4581 CommonTree LCURL98_tree
=null;
4582 CommonTree RCURL100_tree
=null;
4583 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
4584 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
4585 RewriteRuleSubtreeStream stream_structOrVariantDeclarationList
=new RewriteRuleSubtreeStream(adaptor
,"rule structOrVariantDeclarationList");
4588 Symbols_stack
.peek().types
= new HashSet
<String
>();
4591 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:3: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
4592 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:5: LCURL structOrVariantDeclarationList RCURL
4594 LCURL98
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_variantBody2188
); if (state
.failed
) return retval
;
4595 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL98
);
4597 pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2190
);
4598 structOrVariantDeclarationList99
=structOrVariantDeclarationList();
4600 if (state
.failed
) return retval
;
4601 if ( state
.backtracking
==0 ) stream_structOrVariantDeclarationList
.add(structOrVariantDeclarationList99
.getTree());
4602 RCURL100
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_variantBody2192
); if (state
.failed
) return retval
;
4603 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL100
);
4606 // elements: structOrVariantDeclarationList
4608 // rule labels: retval
4609 // token list labels:
4610 // rule list labels:
4612 if ( state
.backtracking
==0 ) {
4613 retval
.tree
= root_0
;
4614 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4616 root_0
= (CommonTree
)adaptor
.nil();
4617 // 437:7: -> ^( VARIANT_BODY structOrVariantDeclarationList )
4619 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:437:10: ^( VARIANT_BODY structOrVariantDeclarationList )
4621 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4622 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_BODY
, "VARIANT_BODY"), root_1
);
4623 adaptor
.addChild(root_1
, stream_structOrVariantDeclarationList
.nextTree());
4624 adaptor
.addChild(root_0
, root_1
);
4630 retval
.tree
= root_0
;
4635 retval
.stop
= input
.LT(-1);
4637 if ( state
.backtracking
==0 ) {
4638 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4639 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4643 catch (RecognitionException e
) {
4648 // do for sure before leaving
4649 Symbols_stack
.pop();
4654 // $ANTLR end "variantBody"
4657 public static class variantTag_return
extends ParserRuleReturnScope
{
4660 public CommonTree
getTree() { return tree
; }
4664 // $ANTLR start "variantTag"
4665 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
4666 public final CTFParser
.variantTag_return
variantTag() throws RecognitionException
{
4667 CTFParser
.variantTag_return retval
= new CTFParser
.variantTag_return();
4668 retval
.start
= input
.LT(1);
4670 CommonTree root_0
= null;
4673 Token IDENTIFIER102
=null;
4676 CommonTree LT101_tree
=null;
4677 CommonTree IDENTIFIER102_tree
=null;
4678 CommonTree GT103_tree
=null;
4679 RewriteRuleTokenStream stream_GT
=new RewriteRuleTokenStream(adaptor
,"token GT");
4680 RewriteRuleTokenStream stream_LT
=new RewriteRuleTokenStream(adaptor
,"token LT");
4681 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
4684 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:3: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
4685 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:5: LT IDENTIFIER GT
4687 LT101
=(Token
)match(input
,LT
,FOLLOW_LT_in_variantTag2219
); if (state
.failed
) return retval
;
4688 if ( state
.backtracking
==0 ) stream_LT
.add(LT101
);
4690 IDENTIFIER102
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_variantTag2221
); if (state
.failed
) return retval
;
4691 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER102
);
4693 GT103
=(Token
)match(input
,GT
,FOLLOW_GT_in_variantTag2223
); if (state
.failed
) return retval
;
4694 if ( state
.backtracking
==0 ) stream_GT
.add(GT103
);
4697 // elements: IDENTIFIER
4699 // rule labels: retval
4700 // token list labels:
4701 // rule list labels:
4703 if ( state
.backtracking
==0 ) {
4704 retval
.tree
= root_0
;
4705 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4707 root_0
= (CommonTree
)adaptor
.nil();
4708 // 441:22: -> ^( VARIANT_TAG IDENTIFIER )
4710 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:25: ^( VARIANT_TAG IDENTIFIER )
4712 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4713 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(VARIANT_TAG
, "VARIANT_TAG"), root_1
);
4714 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
4715 adaptor
.addChild(root_0
, root_1
);
4721 retval
.tree
= root_0
;
4726 retval
.stop
= input
.LT(-1);
4728 if ( state
.backtracking
==0 ) {
4729 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
4730 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
4734 catch (RecognitionException e
) {
4739 // do for sure before leaving
4743 // $ANTLR end "variantTag"
4746 public static class enumSpecifier_return
extends ParserRuleReturnScope
{
4749 public CommonTree
getTree() { return tree
; }
4753 // $ANTLR start "enumSpecifier"
4754 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
4755 public final CTFParser
.enumSpecifier_return
enumSpecifier() throws RecognitionException
{
4756 CTFParser
.enumSpecifier_return retval
= new CTFParser
.enumSpecifier_return();
4757 retval
.start
= input
.LT(1);
4759 CommonTree root_0
= null;
4761 Token ENUMTOK104
=null;
4762 ParserRuleReturnScope enumName105
=null;
4763 ParserRuleReturnScope enumContainerType106
=null;
4764 ParserRuleReturnScope enumBody107
=null;
4765 ParserRuleReturnScope enumBody108
=null;
4766 ParserRuleReturnScope enumContainerType109
=null;
4767 ParserRuleReturnScope enumBody110
=null;
4768 ParserRuleReturnScope enumBody111
=null;
4770 CommonTree ENUMTOK104_tree
=null;
4771 RewriteRuleTokenStream stream_ENUMTOK
=new RewriteRuleTokenStream(adaptor
,"token ENUMTOK");
4772 RewriteRuleSubtreeStream stream_enumName
=new RewriteRuleSubtreeStream(adaptor
,"rule enumName");
4773 RewriteRuleSubtreeStream stream_enumContainerType
=new RewriteRuleSubtreeStream(adaptor
,"rule enumContainerType");
4774 RewriteRuleSubtreeStream stream_enumBody
=new RewriteRuleSubtreeStream(adaptor
,"rule enumBody");
4777 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:3: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
4778 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:5: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
4780 ENUMTOK104
=(Token
)match(input
,ENUMTOK
,FOLLOW_ENUMTOK_in_enumSpecifier2244
); if (state
.failed
) return retval
;
4781 if ( state
.backtracking
==0 ) stream_ENUMTOK
.add(ENUMTOK104
);
4783 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:446:5: ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
4785 int LA34_0
= input
.LA(1);
4786 if ( (LA34_0
==IDENTIFIER
) ) {
4789 else if ( (LA34_0
==COLON
||LA34_0
==LCURL
) ) {
4794 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4795 NoViableAltException nvae
=
4796 new NoViableAltException("", 34, 0, input
);
4802 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:9: ( enumName ( enumContainerType enumBody | enumBody |) )
4804 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:9: ( enumName ( enumContainerType enumBody | enumBody |) )
4805 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:449:13: enumName ( enumContainerType enumBody | enumBody |)
4807 pushFollow(FOLLOW_enumName_in_enumSpecifier2283
);
4808 enumName105
=enumName();
4810 if (state
.failed
) return retval
;
4811 if ( state
.backtracking
==0 ) stream_enumName
.add(enumName105
.getTree());
4812 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:450:13: ( enumContainerType enumBody | enumBody |)
4814 switch ( input
.LA(1) ) {
4832 case FLOATINGPOINTTOK
:
4847 case TYPE_ASSIGNMENT
:
4856 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4857 NoViableAltException nvae
=
4858 new NoViableAltException("", 32, 0, input
);
4863 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:451:17: enumContainerType enumBody
4865 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2315
);
4866 enumContainerType106
=enumContainerType();
4868 if (state
.failed
) return retval
;
4869 if ( state
.backtracking
==0 ) stream_enumContainerType
.add(enumContainerType106
.getTree());
4870 pushFollow(FOLLOW_enumBody_in_enumSpecifier2317
);
4871 enumBody107
=enumBody();
4873 if (state
.failed
) return retval
;
4874 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody107
.getTree());
4878 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:453:17: enumBody
4880 pushFollow(FOLLOW_enumBody_in_enumSpecifier2347
);
4881 enumBody108
=enumBody();
4883 if (state
.failed
) return retval
;
4884 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody108
.getTree());
4888 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:456:13:
4900 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:9: ( enumContainerType enumBody | enumBody )
4902 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:9: ( enumContainerType enumBody | enumBody )
4904 int LA33_0
= input
.LA(1);
4905 if ( (LA33_0
==COLON
) ) {
4908 else if ( (LA33_0
==LCURL
) ) {
4913 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
4914 NoViableAltException nvae
=
4915 new NoViableAltException("", 33, 0, input
);
4921 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:461:13: enumContainerType enumBody
4923 pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2439
);
4924 enumContainerType109
=enumContainerType();
4926 if (state
.failed
) return retval
;
4927 if ( state
.backtracking
==0 ) stream_enumContainerType
.add(enumContainerType109
.getTree());
4928 pushFollow(FOLLOW_enumBody_in_enumSpecifier2441
);
4929 enumBody110
=enumBody();
4931 if (state
.failed
) return retval
;
4932 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody110
.getTree());
4936 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:463:13: enumBody
4938 pushFollow(FOLLOW_enumBody_in_enumSpecifier2465
);
4939 enumBody111
=enumBody();
4941 if (state
.failed
) return retval
;
4942 if ( state
.backtracking
==0 ) stream_enumBody
.add(enumBody111
.getTree());
4954 // elements: enumName, enumContainerType, enumBody
4956 // rule labels: retval
4957 // token list labels:
4958 // rule list labels:
4960 if ( state
.backtracking
==0 ) {
4961 retval
.tree
= root_0
;
4962 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
4964 root_0
= (CommonTree
)adaptor
.nil();
4965 // 465:7: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
4967 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:10: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
4969 CommonTree root_1
= (CommonTree
)adaptor
.nil();
4970 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM
, "ENUM"), root_1
);
4971 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:17: ( enumName )?
4972 if ( stream_enumName
.hasNext() ) {
4973 adaptor
.addChild(root_1
, stream_enumName
.nextTree());
4975 stream_enumName
.reset();
4977 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:27: ( enumContainerType )?
4978 if ( stream_enumContainerType
.hasNext() ) {
4979 adaptor
.addChild(root_1
, stream_enumContainerType
.nextTree());
4981 stream_enumContainerType
.reset();
4983 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:46: ( enumBody )?
4984 if ( stream_enumBody
.hasNext() ) {
4985 adaptor
.addChild(root_1
, stream_enumBody
.nextTree());
4987 stream_enumBody
.reset();
4989 adaptor
.addChild(root_0
, root_1
);
4995 retval
.tree
= root_0
;
5000 retval
.stop
= input
.LT(-1);
5002 if ( state
.backtracking
==0 ) {
5003 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5004 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5008 catch (RecognitionException e
) {
5013 // do for sure before leaving
5017 // $ANTLR end "enumSpecifier"
5020 public static class enumName_return
extends ParserRuleReturnScope
{
5023 public CommonTree
getTree() { return tree
; }
5027 // $ANTLR start "enumName"
5028 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
5029 public final CTFParser
.enumName_return
enumName() throws RecognitionException
{
5030 CTFParser
.enumName_return retval
= new CTFParser
.enumName_return();
5031 retval
.start
= input
.LT(1);
5033 CommonTree root_0
= null;
5035 Token IDENTIFIER112
=null;
5037 CommonTree IDENTIFIER112_tree
=null;
5038 RewriteRuleTokenStream stream_IDENTIFIER
=new RewriteRuleTokenStream(adaptor
,"token IDENTIFIER");
5041 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:3: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
5042 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:5: IDENTIFIER
5044 IDENTIFIER112
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_enumName2509
); if (state
.failed
) return retval
;
5045 if ( state
.backtracking
==0 ) stream_IDENTIFIER
.add(IDENTIFIER112
);
5048 // elements: IDENTIFIER
5050 // rule labels: retval
5051 // token list labels:
5052 // rule list labels:
5054 if ( state
.backtracking
==0 ) {
5055 retval
.tree
= root_0
;
5056 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5058 root_0
= (CommonTree
)adaptor
.nil();
5059 // 469:16: -> ^( ENUM_NAME IDENTIFIER )
5061 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:19: ^( ENUM_NAME IDENTIFIER )
5063 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5064 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_NAME
, "ENUM_NAME"), root_1
);
5065 adaptor
.addChild(root_1
, stream_IDENTIFIER
.nextNode());
5066 adaptor
.addChild(root_0
, root_1
);
5072 retval
.tree
= root_0
;
5077 retval
.stop
= input
.LT(-1);
5079 if ( state
.backtracking
==0 ) {
5080 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5081 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5085 catch (RecognitionException e
) {
5090 // do for sure before leaving
5094 // $ANTLR end "enumName"
5097 public static class enumBody_return
extends ParserRuleReturnScope
{
5100 public CommonTree
getTree() { return tree
; }
5104 // $ANTLR start "enumBody"
5105 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:1: enumBody : LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) ;
5106 public final CTFParser
.enumBody_return
enumBody() throws RecognitionException
{
5107 CTFParser
.enumBody_return retval
= new CTFParser
.enumBody_return();
5108 retval
.start
= input
.LT(1);
5110 CommonTree root_0
= null;
5112 Token LCURL113
=null;
5113 Token SEPARATOR115
=null;
5114 Token RCURL116
=null;
5115 ParserRuleReturnScope enumeratorList114
=null;
5117 CommonTree LCURL113_tree
=null;
5118 CommonTree SEPARATOR115_tree
=null;
5119 CommonTree RCURL116_tree
=null;
5120 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
5121 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
5122 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
5123 RewriteRuleSubtreeStream stream_enumeratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule enumeratorList");
5126 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:3: ( LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) )
5127 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:5: LCURL enumeratorList ( SEPARATOR )? RCURL
5129 LCURL113
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_enumBody2530
); if (state
.failed
) return retval
;
5130 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL113
);
5132 pushFollow(FOLLOW_enumeratorList_in_enumBody2532
);
5133 enumeratorList114
=enumeratorList();
5135 if (state
.failed
) return retval
;
5136 if ( state
.backtracking
==0 ) stream_enumeratorList
.add(enumeratorList114
.getTree());
5137 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:26: ( SEPARATOR )?
5139 int LA35_0
= input
.LA(1);
5140 if ( (LA35_0
==SEPARATOR
) ) {
5145 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:26: SEPARATOR
5147 SEPARATOR115
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumBody2534
); if (state
.failed
) return retval
;
5148 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR115
);
5155 RCURL116
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_enumBody2537
); if (state
.failed
) return retval
;
5156 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL116
);
5159 // elements: enumeratorList
5161 // rule labels: retval
5162 // token list labels:
5163 // rule list labels:
5165 if ( state
.backtracking
==0 ) {
5166 retval
.tree
= root_0
;
5167 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5169 root_0
= (CommonTree
)adaptor
.nil();
5170 // 473:43: -> ^( ENUM_BODY enumeratorList )
5172 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:46: ^( ENUM_BODY enumeratorList )
5174 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5175 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_BODY
, "ENUM_BODY"), root_1
);
5176 adaptor
.addChild(root_1
, stream_enumeratorList
.nextTree());
5177 adaptor
.addChild(root_0
, root_1
);
5183 retval
.tree
= root_0
;
5188 retval
.stop
= input
.LT(-1);
5190 if ( state
.backtracking
==0 ) {
5191 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5192 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5196 catch (RecognitionException e
) {
5201 // do for sure before leaving
5205 // $ANTLR end "enumBody"
5208 public static class enumContainerType_return
extends ParserRuleReturnScope
{
5211 public CommonTree
getTree() { return tree
; }
5215 // $ANTLR start "enumContainerType"
5216 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
5217 public final CTFParser
.enumContainerType_return
enumContainerType() throws RecognitionException
{
5218 CTFParser
.enumContainerType_return retval
= new CTFParser
.enumContainerType_return();
5219 retval
.start
= input
.LT(1);
5221 CommonTree root_0
= null;
5223 Token COLON117
=null;
5224 ParserRuleReturnScope declarationSpecifiers118
=null;
5226 CommonTree COLON117_tree
=null;
5227 RewriteRuleTokenStream stream_COLON
=new RewriteRuleTokenStream(adaptor
,"token COLON");
5228 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
5231 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:3: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
5232 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:5: COLON declarationSpecifiers
5234 COLON117
=(Token
)match(input
,COLON
,FOLLOW_COLON_in_enumContainerType2558
); if (state
.failed
) return retval
;
5235 if ( state
.backtracking
==0 ) stream_COLON
.add(COLON117
);
5237 pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2560
);
5238 declarationSpecifiers118
=declarationSpecifiers();
5240 if (state
.failed
) return retval
;
5241 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers118
.getTree());
5243 // elements: declarationSpecifiers
5245 // rule labels: retval
5246 // token list labels:
5247 // rule list labels:
5249 if ( state
.backtracking
==0 ) {
5250 retval
.tree
= root_0
;
5251 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5253 root_0
= (CommonTree
)adaptor
.nil();
5254 // 477:33: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5256 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:36: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
5258 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5259 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_CONTAINER_TYPE
, "ENUM_CONTAINER_TYPE"), root_1
);
5260 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
5261 adaptor
.addChild(root_0
, root_1
);
5267 retval
.tree
= root_0
;
5272 retval
.stop
= input
.LT(-1);
5274 if ( state
.backtracking
==0 ) {
5275 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5276 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5280 catch (RecognitionException e
) {
5285 // do for sure before leaving
5289 // $ANTLR end "enumContainerType"
5292 public static class enumeratorList_return
extends ParserRuleReturnScope
{
5295 public CommonTree
getTree() { return tree
; }
5299 // $ANTLR start "enumeratorList"
5300 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
5301 public final CTFParser
.enumeratorList_return
enumeratorList() throws RecognitionException
{
5302 CTFParser
.enumeratorList_return retval
= new CTFParser
.enumeratorList_return();
5303 retval
.start
= input
.LT(1);
5305 CommonTree root_0
= null;
5307 Token SEPARATOR120
=null;
5308 ParserRuleReturnScope enumerator119
=null;
5309 ParserRuleReturnScope enumerator121
=null;
5311 CommonTree SEPARATOR120_tree
=null;
5312 RewriteRuleTokenStream stream_SEPARATOR
=new RewriteRuleTokenStream(adaptor
,"token SEPARATOR");
5313 RewriteRuleSubtreeStream stream_enumerator
=new RewriteRuleSubtreeStream(adaptor
,"rule enumerator");
5316 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:3: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
5317 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:5: enumerator ( SEPARATOR enumerator )*
5319 pushFollow(FOLLOW_enumerator_in_enumeratorList2581
);
5320 enumerator119
=enumerator();
5322 if (state
.failed
) return retval
;
5323 if ( state
.backtracking
==0 ) stream_enumerator
.add(enumerator119
.getTree());
5324 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:16: ( SEPARATOR enumerator )*
5328 int LA36_0
= input
.LA(1);
5329 if ( (LA36_0
==SEPARATOR
) ) {
5330 int LA36_1
= input
.LA(2);
5331 if ( (LA36_1
==ALIGNTOK
||LA36_1
==EVENTTOK
||LA36_1
==IDENTIFIER
||LA36_1
==SIGNEDTOK
||LA36_1
==STRINGTOK
||LA36_1
==STRING_LITERAL
) ) {
5339 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:17: SEPARATOR enumerator
5341 SEPARATOR120
=(Token
)match(input
,SEPARATOR
,FOLLOW_SEPARATOR_in_enumeratorList2584
); if (state
.failed
) return retval
;
5342 if ( state
.backtracking
==0 ) stream_SEPARATOR
.add(SEPARATOR120
);
5344 pushFollow(FOLLOW_enumerator_in_enumeratorList2586
);
5345 enumerator121
=enumerator();
5347 if (state
.failed
) return retval
;
5348 if ( state
.backtracking
==0 ) stream_enumerator
.add(enumerator121
.getTree());
5358 // elements: enumerator
5360 // rule labels: retval
5361 // token list labels:
5362 // rule list labels:
5364 if ( state
.backtracking
==0 ) {
5365 retval
.tree
= root_0
;
5366 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5368 root_0
= (CommonTree
)adaptor
.nil();
5369 // 481:40: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
5371 if ( !(stream_enumerator
.hasNext()) ) {
5372 throw new RewriteEarlyExitException();
5374 while ( stream_enumerator
.hasNext() ) {
5375 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:44: ^( ENUM_ENUMERATOR enumerator )
5377 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5378 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_ENUMERATOR
, "ENUM_ENUMERATOR"), root_1
);
5379 adaptor
.addChild(root_1
, stream_enumerator
.nextTree());
5380 adaptor
.addChild(root_0
, root_1
);
5384 stream_enumerator
.reset();
5389 retval
.tree
= root_0
;
5394 retval
.stop
= input
.LT(-1);
5396 if ( state
.backtracking
==0 ) {
5397 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5398 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5402 catch (RecognitionException e
) {
5407 // do for sure before leaving
5411 // $ANTLR end "enumeratorList"
5414 public static class enumerator_return
extends ParserRuleReturnScope
{
5417 public CommonTree
getTree() { return tree
; }
5421 // $ANTLR start "enumerator"
5422 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:1: enumerator : enumConstant ( enumeratorValue )? ;
5423 public final CTFParser
.enumerator_return
enumerator() throws RecognitionException
{
5424 CTFParser
.enumerator_return retval
= new CTFParser
.enumerator_return();
5425 retval
.start
= input
.LT(1);
5427 CommonTree root_0
= null;
5429 ParserRuleReturnScope enumConstant122
=null;
5430 ParserRuleReturnScope enumeratorValue123
=null;
5434 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:3: ( enumConstant ( enumeratorValue )? )
5435 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:5: enumConstant ( enumeratorValue )?
5437 root_0
= (CommonTree
)adaptor
.nil();
5440 pushFollow(FOLLOW_enumConstant_in_enumerator2612
);
5441 enumConstant122
=enumConstant();
5443 if (state
.failed
) return retval
;
5444 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumConstant122
.getTree());
5446 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:18: ( enumeratorValue )?
5448 int LA37_0
= input
.LA(1);
5449 if ( (LA37_0
==ASSIGNMENT
) ) {
5454 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:18: enumeratorValue
5456 pushFollow(FOLLOW_enumeratorValue_in_enumerator2614
);
5457 enumeratorValue123
=enumeratorValue();
5459 if (state
.failed
) return retval
;
5460 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, enumeratorValue123
.getTree());
5469 retval
.stop
= input
.LT(-1);
5471 if ( state
.backtracking
==0 ) {
5472 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5473 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5477 catch (RecognitionException e
) {
5482 // do for sure before leaving
5486 // $ANTLR end "enumerator"
5489 public static class enumeratorValue_return
extends ParserRuleReturnScope
{
5492 public CommonTree
getTree() { return tree
; }
5496 // $ANTLR start "enumeratorValue"
5497 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
5498 public final CTFParser
.enumeratorValue_return
enumeratorValue() throws RecognitionException
{
5499 CTFParser
.enumeratorValue_return retval
= new CTFParser
.enumeratorValue_return();
5500 retval
.start
= input
.LT(1);
5502 CommonTree root_0
= null;
5504 Token ASSIGNMENT124
=null;
5505 Token ELIPSES125
=null;
5506 ParserRuleReturnScope e1
=null;
5507 ParserRuleReturnScope e2
=null;
5509 CommonTree ASSIGNMENT124_tree
=null;
5510 CommonTree ELIPSES125_tree
=null;
5511 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
5512 RewriteRuleTokenStream stream_ELIPSES
=new RewriteRuleTokenStream(adaptor
,"token ELIPSES");
5513 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
5516 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:3: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
5517 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:5: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
5519 ASSIGNMENT124
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_enumeratorValue2628
); if (state
.failed
) return retval
;
5520 if ( state
.backtracking
==0 ) stream_ASSIGNMENT
.add(ASSIGNMENT124
);
5522 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2632
);
5523 e1
=unaryExpression();
5525 if (state
.failed
) return retval
;
5526 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(e1
.getTree());
5527 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:7: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
5529 int LA38_0
= input
.LA(1);
5530 if ( (LA38_0
==RCURL
||LA38_0
==SEPARATOR
) ) {
5533 else if ( (LA38_0
==ELIPSES
) ) {
5538 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
5539 NoViableAltException nvae
=
5540 new NoViableAltException("", 38, 0, input
);
5546 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:11:
5551 // rule labels: retval, e1
5552 // token list labels:
5553 // rule list labels:
5555 if ( state
.backtracking
==0 ) {
5556 retval
.tree
= root_0
;
5557 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5558 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.getTree():null);
5560 root_0
= (CommonTree
)adaptor
.nil();
5561 // 491:11: -> ^( ENUM_VALUE $e1)
5563 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:14: ^( ENUM_VALUE $e1)
5565 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5566 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE
, "ENUM_VALUE"), root_1
);
5567 adaptor
.addChild(root_1
, stream_e1
.nextTree());
5568 adaptor
.addChild(root_0
, root_1
);
5574 retval
.tree
= root_0
;
5580 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:492:9: ELIPSES e2= unaryExpression
5582 ELIPSES125
=(Token
)match(input
,ELIPSES
,FOLLOW_ELIPSES_in_enumeratorValue2671
); if (state
.failed
) return retval
;
5583 if ( state
.backtracking
==0 ) stream_ELIPSES
.add(ELIPSES125
);
5585 pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2675
);
5586 e2
=unaryExpression();
5588 if (state
.failed
) return retval
;
5589 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(e2
.getTree());
5593 // rule labels: retval, e1, e2
5594 // token list labels:
5595 // rule list labels:
5597 if ( state
.backtracking
==0 ) {
5598 retval
.tree
= root_0
;
5599 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5600 RewriteRuleSubtreeStream stream_e1
=new RewriteRuleSubtreeStream(adaptor
,"rule e1",e1
!=null?e1
.getTree():null);
5601 RewriteRuleSubtreeStream stream_e2
=new RewriteRuleSubtreeStream(adaptor
,"rule e2",e2
!=null?e2
.getTree():null);
5603 root_0
= (CommonTree
)adaptor
.nil();
5604 // 493:11: -> ^( ENUM_VALUE_RANGE $e1 $e2)
5606 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:493:14: ^( ENUM_VALUE_RANGE $e1 $e2)
5608 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5609 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(ENUM_VALUE_RANGE
, "ENUM_VALUE_RANGE"), root_1
);
5610 adaptor
.addChild(root_1
, stream_e1
.nextTree());
5611 adaptor
.addChild(root_1
, stream_e2
.nextTree());
5612 adaptor
.addChild(root_0
, root_1
);
5618 retval
.tree
= root_0
;
5628 retval
.stop
= input
.LT(-1);
5630 if ( state
.backtracking
==0 ) {
5631 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5632 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5636 catch (RecognitionException e
) {
5641 // do for sure before leaving
5645 // $ANTLR end "enumeratorValue"
5648 public static class declarator_return
extends ParserRuleReturnScope
{
5651 public CommonTree
getTree() { return tree
; }
5655 // $ANTLR start "declarator"
5656 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
5657 public final CTFParser
.declarator_return
declarator() throws RecognitionException
{
5658 CTFParser
.declarator_return retval
= new CTFParser
.declarator_return();
5659 retval
.start
= input
.LT(1);
5661 CommonTree root_0
= null;
5663 ParserRuleReturnScope pointer126
=null;
5664 ParserRuleReturnScope directDeclarator127
=null;
5666 RewriteRuleSubtreeStream stream_directDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclarator");
5667 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
5670 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:3: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
5671 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: ( pointer )* directDeclarator
5673 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: ( pointer )*
5677 int LA39_0
= input
.LA(1);
5678 if ( (LA39_0
==POINTER
) ) {
5684 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: pointer
5686 pushFollow(FOLLOW_pointer_in_declarator2718
);
5687 pointer126
=pointer();
5689 if (state
.failed
) return retval
;
5690 if ( state
.backtracking
==0 ) stream_pointer
.add(pointer126
.getTree());
5699 pushFollow(FOLLOW_directDeclarator_in_declarator2721
);
5700 directDeclarator127
=directDeclarator();
5702 if (state
.failed
) return retval
;
5703 if ( state
.backtracking
==0 ) stream_directDeclarator
.add(directDeclarator127
.getTree());
5705 // elements: directDeclarator, pointer
5707 // rule labels: retval
5708 // token list labels:
5709 // rule list labels:
5711 if ( state
.backtracking
==0 ) {
5712 retval
.tree
= root_0
;
5713 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5715 root_0
= (CommonTree
)adaptor
.nil();
5716 // 499:7: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
5718 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:499:10: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
5720 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5721 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
5722 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:499:28: ( pointer )*
5723 while ( stream_pointer
.hasNext() ) {
5724 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
5726 stream_pointer
.reset();
5728 adaptor
.addChild(root_1
, stream_directDeclarator
.nextTree());
5729 adaptor
.addChild(root_0
, root_1
);
5735 retval
.tree
= root_0
;
5740 retval
.stop
= input
.LT(-1);
5742 if ( state
.backtracking
==0 ) {
5743 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5744 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5748 catch (RecognitionException e
) {
5753 // do for sure before leaving
5757 // $ANTLR end "declarator"
5760 public static class directDeclarator_return
extends ParserRuleReturnScope
{
5763 public CommonTree
getTree() { return tree
; }
5767 // $ANTLR start "directDeclarator"
5768 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
5769 public final CTFParser
.directDeclarator_return
directDeclarator() throws RecognitionException
{
5770 CTFParser
.directDeclarator_return retval
= new CTFParser
.directDeclarator_return();
5771 retval
.start
= input
.LT(1);
5773 CommonTree root_0
= null;
5775 Token IDENTIFIER128
=null;
5776 ParserRuleReturnScope directDeclaratorSuffix129
=null;
5778 CommonTree IDENTIFIER128_tree
=null;
5781 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:3: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
5782 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:5: ( IDENTIFIER ) ( directDeclaratorSuffix )*
5784 root_0
= (CommonTree
)adaptor
.nil();
5787 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:5: ( IDENTIFIER )
5788 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:504:7: IDENTIFIER
5790 IDENTIFIER128
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directDeclarator2759
); if (state
.failed
) return retval
;
5791 if ( state
.backtracking
==0 ) {
5792 IDENTIFIER128_tree
= (CommonTree
)adaptor
.create(IDENTIFIER128
);
5793 adaptor
.addChild(root_0
, IDENTIFIER128_tree
);
5796 if ( state
.backtracking
==0 ) { if (inTypedef()) addTypeName((IDENTIFIER128
!=null?IDENTIFIER128
.getText():null)); }
5797 if ( state
.backtracking
==0 ) { debug_print((IDENTIFIER128
!=null?IDENTIFIER128
.getText():null)); }
5800 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:509:5: ( directDeclaratorSuffix )*
5804 int LA40_0
= input
.LA(1);
5805 if ( (LA40_0
==OPENBRAC
) ) {
5811 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:509:5: directDeclaratorSuffix
5813 pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2799
);
5814 directDeclaratorSuffix129
=directDeclaratorSuffix();
5816 if (state
.failed
) return retval
;
5817 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, directDeclaratorSuffix129
.getTree());
5829 retval
.stop
= input
.LT(-1);
5831 if ( state
.backtracking
==0 ) {
5832 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5833 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5837 catch (RecognitionException e
) {
5842 // do for sure before leaving
5846 // $ANTLR end "directDeclarator"
5849 public static class directDeclaratorSuffix_return
extends ParserRuleReturnScope
{
5852 public CommonTree
getTree() { return tree
; }
5856 // $ANTLR start "directDeclaratorSuffix"
5857 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
5858 public final CTFParser
.directDeclaratorSuffix_return
directDeclaratorSuffix() throws RecognitionException
{
5859 CTFParser
.directDeclaratorSuffix_return retval
= new CTFParser
.directDeclaratorSuffix_return();
5860 retval
.start
= input
.LT(1);
5862 CommonTree root_0
= null;
5864 Token OPENBRAC130
=null;
5865 Token CLOSEBRAC132
=null;
5866 ParserRuleReturnScope directDeclaratorLength131
=null;
5868 CommonTree OPENBRAC130_tree
=null;
5869 CommonTree CLOSEBRAC132_tree
=null;
5870 RewriteRuleTokenStream stream_OPENBRAC
=new RewriteRuleTokenStream(adaptor
,"token OPENBRAC");
5871 RewriteRuleTokenStream stream_CLOSEBRAC
=new RewriteRuleTokenStream(adaptor
,"token CLOSEBRAC");
5872 RewriteRuleSubtreeStream stream_directDeclaratorLength
=new RewriteRuleSubtreeStream(adaptor
,"rule directDeclaratorLength");
5875 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:3: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
5876 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:5: OPENBRAC directDeclaratorLength CLOSEBRAC
5878 OPENBRAC130
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2813
); if (state
.failed
) return retval
;
5879 if ( state
.backtracking
==0 ) stream_OPENBRAC
.add(OPENBRAC130
);
5881 pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2815
);
5882 directDeclaratorLength131
=directDeclaratorLength();
5884 if (state
.failed
) return retval
;
5885 if ( state
.backtracking
==0 ) stream_directDeclaratorLength
.add(directDeclaratorLength131
.getTree());
5886 CLOSEBRAC132
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2817
); if (state
.failed
) return retval
;
5887 if ( state
.backtracking
==0 ) stream_CLOSEBRAC
.add(CLOSEBRAC132
);
5890 // elements: directDeclaratorLength
5892 // rule labels: retval
5893 // token list labels:
5894 // rule list labels:
5896 if ( state
.backtracking
==0 ) {
5897 retval
.tree
= root_0
;
5898 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
5900 root_0
= (CommonTree
)adaptor
.nil();
5901 // 514:7: -> ^( LENGTH directDeclaratorLength )
5903 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:514:10: ^( LENGTH directDeclaratorLength )
5905 CommonTree root_1
= (CommonTree
)adaptor
.nil();
5906 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(LENGTH
, "LENGTH"), root_1
);
5907 adaptor
.addChild(root_1
, stream_directDeclaratorLength
.nextTree());
5908 adaptor
.addChild(root_0
, root_1
);
5914 retval
.tree
= root_0
;
5919 retval
.stop
= input
.LT(-1);
5921 if ( state
.backtracking
==0 ) {
5922 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5923 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5927 catch (RecognitionException e
) {
5932 // do for sure before leaving
5936 // $ANTLR end "directDeclaratorSuffix"
5939 public static class directDeclaratorLength_return
extends ParserRuleReturnScope
{
5942 public CommonTree
getTree() { return tree
; }
5946 // $ANTLR start "directDeclaratorLength"
5947 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:1: directDeclaratorLength : unaryExpression ;
5948 public final CTFParser
.directDeclaratorLength_return
directDeclaratorLength() throws RecognitionException
{
5949 CTFParser
.directDeclaratorLength_return retval
= new CTFParser
.directDeclaratorLength_return();
5950 retval
.start
= input
.LT(1);
5952 CommonTree root_0
= null;
5954 ParserRuleReturnScope unaryExpression133
=null;
5958 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:518:3: ( unaryExpression )
5959 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:518:5: unaryExpression
5961 root_0
= (CommonTree
)adaptor
.nil();
5964 pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2845
);
5965 unaryExpression133
=unaryExpression();
5967 if (state
.failed
) return retval
;
5968 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression133
.getTree());
5972 retval
.stop
= input
.LT(-1);
5974 if ( state
.backtracking
==0 ) {
5975 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
5976 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
5980 catch (RecognitionException e
) {
5985 // do for sure before leaving
5989 // $ANTLR end "directDeclaratorLength"
5992 public static class abstractDeclarator_return
extends ParserRuleReturnScope
{
5995 public CommonTree
getTree() { return tree
; }
5999 // $ANTLR start "abstractDeclarator"
6000 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:1: abstractDeclarator : ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
6001 public final CTFParser
.abstractDeclarator_return
abstractDeclarator() throws RecognitionException
{
6002 CTFParser
.abstractDeclarator_return retval
= new CTFParser
.abstractDeclarator_return();
6003 retval
.start
= input
.LT(1);
6005 CommonTree root_0
= null;
6007 ParserRuleReturnScope pointer134
=null;
6008 ParserRuleReturnScope directAbstractDeclarator135
=null;
6009 ParserRuleReturnScope directAbstractDeclarator136
=null;
6011 RewriteRuleSubtreeStream stream_pointer
=new RewriteRuleSubtreeStream(adaptor
,"rule pointer");
6012 RewriteRuleSubtreeStream stream_directAbstractDeclarator
=new RewriteRuleSubtreeStream(adaptor
,"rule directAbstractDeclarator");
6015 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:3: ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
6017 int LA43_0
= input
.LA(1);
6018 if ( (LA43_0
==POINTER
) ) {
6021 else if ( (LA43_0
==IDENTIFIER
||LA43_0
==LPAREN
) ) {
6026 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6027 NoViableAltException nvae
=
6028 new NoViableAltException("", 43, 0, input
);
6034 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: ( pointer )+ ( directAbstractDeclarator )?
6036 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: ( pointer )+
6041 int LA41_0
= input
.LA(1);
6042 if ( (LA41_0
==POINTER
) ) {
6048 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: pointer
6050 pushFollow(FOLLOW_pointer_in_abstractDeclarator2858
);
6051 pointer134
=pointer();
6053 if (state
.failed
) return retval
;
6054 if ( state
.backtracking
==0 ) stream_pointer
.add(pointer134
.getTree());
6059 if ( cnt41
>= 1 ) break loop41
;
6060 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6061 EarlyExitException eee
= new EarlyExitException(41, input
);
6067 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:14: ( directAbstractDeclarator )?
6069 int LA42_0
= input
.LA(1);
6070 if ( (LA42_0
==IDENTIFIER
||LA42_0
==LPAREN
) ) {
6075 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:14: directAbstractDeclarator
6077 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2861
);
6078 directAbstractDeclarator135
=directAbstractDeclarator();
6080 if (state
.failed
) return retval
;
6081 if ( state
.backtracking
==0 ) stream_directAbstractDeclarator
.add(directAbstractDeclarator135
.getTree());
6088 // elements: directAbstractDeclarator, pointer
6090 // rule labels: retval
6091 // token list labels:
6092 // rule list labels:
6094 if ( state
.backtracking
==0 ) {
6095 retval
.tree
= root_0
;
6096 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6098 root_0
= (CommonTree
)adaptor
.nil();
6099 // 523:7: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6101 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:10: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
6103 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6104 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6105 if ( !(stream_pointer
.hasNext()) ) {
6106 throw new RewriteEarlyExitException();
6108 while ( stream_pointer
.hasNext() ) {
6109 adaptor
.addChild(root_1
, stream_pointer
.nextTree());
6111 stream_pointer
.reset();
6113 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:37: ( directAbstractDeclarator )?
6114 if ( stream_directAbstractDeclarator
.hasNext() ) {
6115 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
6117 stream_directAbstractDeclarator
.reset();
6119 adaptor
.addChild(root_0
, root_1
);
6125 retval
.tree
= root_0
;
6131 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:524:5: directAbstractDeclarator
6133 pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2886
);
6134 directAbstractDeclarator136
=directAbstractDeclarator();
6136 if (state
.failed
) return retval
;
6137 if ( state
.backtracking
==0 ) stream_directAbstractDeclarator
.add(directAbstractDeclarator136
.getTree());
6139 // elements: directAbstractDeclarator
6141 // rule labels: retval
6142 // token list labels:
6143 // rule list labels:
6145 if ( state
.backtracking
==0 ) {
6146 retval
.tree
= root_0
;
6147 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6149 root_0
= (CommonTree
)adaptor
.nil();
6150 // 525:7: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
6152 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:525:10: ^( TYPE_DECLARATOR directAbstractDeclarator )
6154 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6155 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_DECLARATOR
, "TYPE_DECLARATOR"), root_1
);
6156 adaptor
.addChild(root_1
, stream_directAbstractDeclarator
.nextTree());
6157 adaptor
.addChild(root_0
, root_1
);
6163 retval
.tree
= root_0
;
6170 retval
.stop
= input
.LT(-1);
6172 if ( state
.backtracking
==0 ) {
6173 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6174 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6178 catch (RecognitionException e
) {
6183 // do for sure before leaving
6187 // $ANTLR end "abstractDeclarator"
6190 public static class directAbstractDeclarator_return
extends ParserRuleReturnScope
{
6193 public CommonTree
getTree() { return tree
; }
6197 // $ANTLR start "directAbstractDeclarator"
6198 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
6199 public final CTFParser
.directAbstractDeclarator_return
directAbstractDeclarator() throws RecognitionException
{
6200 CTFParser
.directAbstractDeclarator_return retval
= new CTFParser
.directAbstractDeclarator_return();
6201 retval
.start
= input
.LT(1);
6203 CommonTree root_0
= null;
6205 Token IDENTIFIER137
=null;
6206 Token LPAREN138
=null;
6207 Token RPAREN140
=null;
6208 Token OPENBRAC141
=null;
6209 Token CLOSEBRAC143
=null;
6210 ParserRuleReturnScope abstractDeclarator139
=null;
6211 ParserRuleReturnScope unaryExpression142
=null;
6213 CommonTree IDENTIFIER137_tree
=null;
6214 CommonTree LPAREN138_tree
=null;
6215 CommonTree RPAREN140_tree
=null;
6216 CommonTree OPENBRAC141_tree
=null;
6217 CommonTree CLOSEBRAC143_tree
=null;
6220 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:3: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
6221 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
6223 root_0
= (CommonTree
)adaptor
.nil();
6226 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
6228 int LA44_0
= input
.LA(1);
6229 if ( (LA44_0
==IDENTIFIER
) ) {
6232 else if ( (LA44_0
==LPAREN
) ) {
6237 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6238 NoViableAltException nvae
=
6239 new NoViableAltException("", 44, 0, input
);
6245 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:7: IDENTIFIER
6247 IDENTIFIER137
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2923
); if (state
.failed
) return retval
;
6248 if ( state
.backtracking
==0 ) {
6249 IDENTIFIER137_tree
= (CommonTree
)adaptor
.create(IDENTIFIER137
);
6250 adaptor
.addChild(root_0
, IDENTIFIER137_tree
);
6256 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:9: ( LPAREN abstractDeclarator RPAREN )
6258 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:9: ( LPAREN abstractDeclarator RPAREN )
6259 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:10: LPAREN abstractDeclarator RPAREN
6261 LPAREN138
=(Token
)match(input
,LPAREN
,FOLLOW_LPAREN_in_directAbstractDeclarator2934
); if (state
.failed
) return retval
;
6262 if ( state
.backtracking
==0 ) {
6263 LPAREN138_tree
= (CommonTree
)adaptor
.create(LPAREN138
);
6264 adaptor
.addChild(root_0
, LPAREN138_tree
);
6267 pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2936
);
6268 abstractDeclarator139
=abstractDeclarator();
6270 if (state
.failed
) return retval
;
6271 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclarator139
.getTree());
6273 RPAREN140
=(Token
)match(input
,RPAREN
,FOLLOW_RPAREN_in_directAbstractDeclarator2938
); if (state
.failed
) return retval
;
6274 if ( state
.backtracking
==0 ) {
6275 RPAREN140_tree
= (CommonTree
)adaptor
.create(RPAREN140
);
6276 adaptor
.addChild(root_0
, RPAREN140_tree
);
6286 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:5: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
6288 int LA46_0
= input
.LA(1);
6289 if ( (LA46_0
==OPENBRAC
) ) {
6294 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:7: OPENBRAC ( unaryExpression )? CLOSEBRAC
6296 OPENBRAC141
=(Token
)match(input
,OPENBRAC
,FOLLOW_OPENBRAC_in_directAbstractDeclarator2953
); if (state
.failed
) return retval
;
6297 if ( state
.backtracking
==0 ) {
6298 OPENBRAC141_tree
= (CommonTree
)adaptor
.create(OPENBRAC141
);
6299 adaptor
.addChild(root_0
, OPENBRAC141_tree
);
6302 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:16: ( unaryExpression )?
6304 int LA45_0
= input
.LA(1);
6305 if ( (LA45_0
==ALIGNTOK
||(LA45_0
>= CALLSITETOK
&& 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
) ) {
6310 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:16: unaryExpression
6312 pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2955
);
6313 unaryExpression142
=unaryExpression();
6315 if (state
.failed
) return retval
;
6316 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, unaryExpression142
.getTree());
6323 CLOSEBRAC143
=(Token
)match(input
,CLOSEBRAC
,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2958
); if (state
.failed
) return retval
;
6324 if ( state
.backtracking
==0 ) {
6325 CLOSEBRAC143_tree
= (CommonTree
)adaptor
.create(CLOSEBRAC143
);
6326 adaptor
.addChild(root_0
, CLOSEBRAC143_tree
);
6336 retval
.stop
= input
.LT(-1);
6338 if ( state
.backtracking
==0 ) {
6339 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6340 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6344 catch (RecognitionException e
) {
6349 // do for sure before leaving
6353 // $ANTLR end "directAbstractDeclarator"
6356 public static class pointer_return
extends ParserRuleReturnScope
{
6359 public CommonTree
getTree() { return tree
; }
6363 // $ANTLR start "pointer"
6364 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
6365 public final CTFParser
.pointer_return
pointer() throws RecognitionException
{
6366 CTFParser
.pointer_return retval
= new CTFParser
.pointer_return();
6367 retval
.start
= input
.LT(1);
6369 CommonTree root_0
= null;
6371 Token POINTER144
=null;
6372 ParserRuleReturnScope typeQualifierList145
=null;
6374 CommonTree POINTER144_tree
=null;
6375 RewriteRuleTokenStream stream_POINTER
=new RewriteRuleTokenStream(adaptor
,"token POINTER");
6376 RewriteRuleSubtreeStream stream_typeQualifierList
=new RewriteRuleSubtreeStream(adaptor
,"rule typeQualifierList");
6379 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:3: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
6380 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:5: POINTER ( typeQualifierList )?
6382 POINTER144
=(Token
)match(input
,POINTER
,FOLLOW_POINTER_in_pointer2976
); if (state
.failed
) return retval
;
6383 if ( state
.backtracking
==0 ) stream_POINTER
.add(POINTER144
);
6385 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:13: ( typeQualifierList )?
6387 int LA47_0
= input
.LA(1);
6388 if ( (LA47_0
==CONSTTOK
) ) {
6393 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:13: typeQualifierList
6395 pushFollow(FOLLOW_typeQualifierList_in_pointer2978
);
6396 typeQualifierList145
=typeQualifierList();
6398 if (state
.failed
) return retval
;
6399 if ( state
.backtracking
==0 ) stream_typeQualifierList
.add(typeQualifierList145
.getTree());
6406 // elements: POINTER, typeQualifierList
6408 // rule labels: retval
6409 // token list labels:
6410 // rule list labels:
6412 if ( state
.backtracking
==0 ) {
6413 retval
.tree
= root_0
;
6414 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6416 root_0
= (CommonTree
)adaptor
.nil();
6417 // 543:32: -> ^( POINTER ( typeQualifierList )? )
6419 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:35: ^( POINTER ( typeQualifierList )? )
6421 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6422 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_POINTER
.nextNode(), root_1
);
6423 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:45: ( typeQualifierList )?
6424 if ( stream_typeQualifierList
.hasNext() ) {
6425 adaptor
.addChild(root_1
, stream_typeQualifierList
.nextTree());
6427 stream_typeQualifierList
.reset();
6429 adaptor
.addChild(root_0
, root_1
);
6435 retval
.tree
= root_0
;
6440 retval
.stop
= input
.LT(-1);
6442 if ( state
.backtracking
==0 ) {
6443 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6444 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6448 catch (RecognitionException e
) {
6453 // do for sure before leaving
6457 // $ANTLR end "pointer"
6460 public static class typeQualifierList_return
extends ParserRuleReturnScope
{
6463 public CommonTree
getTree() { return tree
; }
6467 // $ANTLR start "typeQualifierList"
6468 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:1: typeQualifierList : ( typeQualifier )+ ;
6469 public final CTFParser
.typeQualifierList_return
typeQualifierList() throws RecognitionException
{
6470 CTFParser
.typeQualifierList_return retval
= new CTFParser
.typeQualifierList_return();
6471 retval
.start
= input
.LT(1);
6473 CommonTree root_0
= null;
6475 ParserRuleReturnScope typeQualifier146
=null;
6479 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:3: ( ( typeQualifier )+ )
6480 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: ( typeQualifier )+
6482 root_0
= (CommonTree
)adaptor
.nil();
6485 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: ( typeQualifier )+
6490 int LA48_0
= input
.LA(1);
6491 if ( (LA48_0
==CONSTTOK
) ) {
6497 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: typeQualifier
6499 pushFollow(FOLLOW_typeQualifier_in_typeQualifierList3001
);
6500 typeQualifier146
=typeQualifier();
6502 if (state
.failed
) return retval
;
6503 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typeQualifier146
.getTree());
6509 if ( cnt48
>= 1 ) break loop48
;
6510 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6511 EarlyExitException eee
= new EarlyExitException(48, input
);
6519 retval
.stop
= input
.LT(-1);
6521 if ( state
.backtracking
==0 ) {
6522 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6523 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6527 catch (RecognitionException e
) {
6532 // do for sure before leaving
6536 // $ANTLR end "typeQualifierList"
6539 public static class typedefName_return
extends ParserRuleReturnScope
{
6542 public CommonTree
getTree() { return tree
; }
6546 // $ANTLR start "typedefName"
6547 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:1: typedefName :{...}? IDENTIFIER ;
6548 public final CTFParser
.typedefName_return
typedefName() throws RecognitionException
{
6549 CTFParser
.typedefName_return retval
= new CTFParser
.typedefName_return();
6550 retval
.start
= input
.LT(1);
6552 CommonTree root_0
= null;
6554 Token IDENTIFIER147
=null;
6556 CommonTree IDENTIFIER147_tree
=null;
6559 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:551:3: ({...}? IDENTIFIER )
6560 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:551:5: {...}? IDENTIFIER
6562 root_0
= (CommonTree
)adaptor
.nil();
6565 if ( !((inTypealiasAlias() || isTypeName(input
.LT(1).getText()))) ) {
6566 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6567 throw new FailedPredicateException(input
, "typedefName", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
6569 IDENTIFIER147
=(Token
)match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_typedefName3017
); if (state
.failed
) return retval
;
6570 if ( state
.backtracking
==0 ) {
6571 IDENTIFIER147_tree
= (CommonTree
)adaptor
.create(IDENTIFIER147
);
6572 adaptor
.addChild(root_0
, IDENTIFIER147_tree
);
6575 if ( state
.backtracking
==0 ) { if ((inTypedef() || inTypealiasAlias()) && !isTypeName((IDENTIFIER147
!=null?IDENTIFIER147
.getText():null))) { addTypeName((IDENTIFIER147
!=null?IDENTIFIER147
.getText():null)); } }
6578 retval
.stop
= input
.LT(-1);
6580 if ( state
.backtracking
==0 ) {
6581 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6582 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6586 catch (RecognitionException e
) {
6591 // do for sure before leaving
6595 // $ANTLR end "typedefName"
6598 public static class typealiasTarget_return
extends ParserRuleReturnScope
{
6601 public CommonTree
getTree() { return tree
; }
6605 // $ANTLR start "typealiasTarget"
6606 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
6607 public final CTFParser
.typealiasTarget_return
typealiasTarget() throws RecognitionException
{
6608 CTFParser
.typealiasTarget_return retval
= new CTFParser
.typealiasTarget_return();
6609 retval
.start
= input
.LT(1);
6611 CommonTree root_0
= null;
6613 ParserRuleReturnScope declarationSpecifiers148
=null;
6614 ParserRuleReturnScope abstractDeclaratorList149
=null;
6618 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
6619 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:5: declarationSpecifiers ( abstractDeclaratorList )?
6621 root_0
= (CommonTree
)adaptor
.nil();
6624 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget3034
);
6625 declarationSpecifiers148
=declarationSpecifiers();
6627 if (state
.failed
) return retval
;
6628 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, declarationSpecifiers148
.getTree());
6630 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:27: ( abstractDeclaratorList )?
6632 int LA49_0
= input
.LA(1);
6633 if ( (LA49_0
==IDENTIFIER
||LA49_0
==LPAREN
||LA49_0
==POINTER
) ) {
6638 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:27: abstractDeclaratorList
6640 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget3036
);
6641 abstractDeclaratorList149
=abstractDeclaratorList();
6643 if (state
.failed
) return retval
;
6644 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList149
.getTree());
6653 retval
.stop
= input
.LT(-1);
6655 if ( state
.backtracking
==0 ) {
6656 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6657 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6661 catch (RecognitionException e
) {
6666 // do for sure before leaving
6670 // $ANTLR end "typealiasTarget"
6673 public static class typealiasAlias_return
extends ParserRuleReturnScope
{
6676 public CommonTree
getTree() { return tree
; }
6680 // $ANTLR start "typealiasAlias"
6681 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:570:1: typealiasAlias : ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? );
6682 public final CTFParser
.typealiasAlias_return
typealiasAlias() throws RecognitionException
{
6683 CTFParser
.typealiasAlias_return retval
= new CTFParser
.typealiasAlias_return();
6684 retval
.start
= input
.LT(1);
6686 CommonTree root_0
= null;
6688 ParserRuleReturnScope abstractDeclaratorList150
=null;
6689 ParserRuleReturnScope declarationSpecifiers151
=null;
6690 ParserRuleReturnScope abstractDeclaratorList152
=null;
6697 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:3: ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? )
6699 switch ( input
.LA(1) ) {
6708 int LA51_2
= input
.LA(2);
6709 if ( (!(((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))))) ) {
6712 else if ( ((( inTypealiasAlias() || isTypeName(input
.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input
.LT(1).getText())))) ) {
6717 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6718 int nvaeMark
= input
.mark();
6721 NoViableAltException nvae
=
6722 new NoViableAltException("", 51, 2, input
);
6725 input
.rewind(nvaeMark
);
6737 case FLOATINGPOINTTOK
:
6756 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6757 NoViableAltException nvae
=
6758 new NoViableAltException("", 51, 0, input
);
6763 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:5: abstractDeclaratorList
6765 root_0
= (CommonTree
)adaptor
.nil();
6768 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3062
);
6769 abstractDeclaratorList150
=abstractDeclaratorList();
6771 if (state
.failed
) return retval
;
6772 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList150
.getTree());
6777 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:5: declarationSpecifiers ( abstractDeclaratorList )?
6779 root_0
= (CommonTree
)adaptor
.nil();
6782 pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias3068
);
6783 declarationSpecifiers151
=declarationSpecifiers();
6785 if (state
.failed
) return retval
;
6786 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, declarationSpecifiers151
.getTree());
6788 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:27: ( abstractDeclaratorList )?
6790 int LA50_0
= input
.LA(1);
6791 if ( (LA50_0
==IDENTIFIER
||LA50_0
==LPAREN
||LA50_0
==POINTER
) ) {
6796 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:27: abstractDeclaratorList
6798 pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3070
);
6799 abstractDeclaratorList152
=abstractDeclaratorList();
6801 if (state
.failed
) return retval
;
6802 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, abstractDeclaratorList152
.getTree());
6813 retval
.stop
= input
.LT(-1);
6815 if ( state
.backtracking
==0 ) {
6816 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6817 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6819 if ( state
.backtracking
==0 ) {
6820 typealiasAliasOff();
6824 catch (RecognitionException e
) {
6829 // do for sure before leaving
6833 // $ANTLR end "typealiasAlias"
6836 public static class typealiasDecl_return
extends ParserRuleReturnScope
{
6839 public CommonTree
getTree() { return tree
; }
6843 // $ANTLR start "typealiasDecl"
6844 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
6845 public final CTFParser
.typealiasDecl_return
typealiasDecl() throws RecognitionException
{
6846 CTFParser
.typealiasDecl_return retval
= new CTFParser
.typealiasDecl_return();
6847 retval
.start
= input
.LT(1);
6849 CommonTree root_0
= null;
6851 Token TYPEALIASTOK153
=null;
6852 Token TYPE_ASSIGNMENT155
=null;
6853 ParserRuleReturnScope typealiasTarget154
=null;
6854 ParserRuleReturnScope typealiasAlias156
=null;
6856 CommonTree TYPEALIASTOK153_tree
=null;
6857 CommonTree TYPE_ASSIGNMENT155_tree
=null;
6858 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
6859 RewriteRuleTokenStream stream_TYPEALIASTOK
=new RewriteRuleTokenStream(adaptor
,"token TYPEALIASTOK");
6860 RewriteRuleSubtreeStream stream_typealiasAlias
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasAlias");
6861 RewriteRuleSubtreeStream stream_typealiasTarget
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasTarget");
6864 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:3: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
6865 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:5: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
6867 TYPEALIASTOK153
=(Token
)match(input
,TYPEALIASTOK
,FOLLOW_TYPEALIASTOK_in_typealiasDecl3084
); if (state
.failed
) return retval
;
6868 if ( state
.backtracking
==0 ) stream_TYPEALIASTOK
.add(TYPEALIASTOK153
);
6870 pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3086
);
6871 typealiasTarget154
=typealiasTarget();
6873 if (state
.failed
) return retval
;
6874 if ( state
.backtracking
==0 ) stream_typealiasTarget
.add(typealiasTarget154
.getTree());
6875 TYPE_ASSIGNMENT155
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3088
); if (state
.failed
) return retval
;
6876 if ( state
.backtracking
==0 ) stream_TYPE_ASSIGNMENT
.add(TYPE_ASSIGNMENT155
);
6878 pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3090
);
6879 typealiasAlias156
=typealiasAlias();
6881 if (state
.failed
) return retval
;
6882 if ( state
.backtracking
==0 ) stream_typealiasAlias
.add(typealiasAlias156
.getTree());
6884 // elements: typealiasTarget, typealiasAlias
6886 // rule labels: retval
6887 // token list labels:
6888 // rule list labels:
6890 if ( state
.backtracking
==0 ) {
6891 retval
.tree
= root_0
;
6892 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
6894 root_0
= (CommonTree
)adaptor
.nil();
6895 // 583:7: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
6897 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:583:10: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
6899 CommonTree root_1
= (CommonTree
)adaptor
.nil();
6900 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS
, "TYPEALIAS"), root_1
);
6901 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:584:14: ^( TYPEALIAS_TARGET typealiasTarget )
6903 CommonTree root_2
= (CommonTree
)adaptor
.nil();
6904 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_TARGET
, "TYPEALIAS_TARGET"), root_2
);
6905 adaptor
.addChild(root_2
, stream_typealiasTarget
.nextTree());
6906 adaptor
.addChild(root_1
, root_2
);
6909 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:585:14: ^( TYPEALIAS_ALIAS typealiasAlias )
6911 CommonTree root_2
= (CommonTree
)adaptor
.nil();
6912 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEALIAS_ALIAS
, "TYPEALIAS_ALIAS"), root_2
);
6913 adaptor
.addChild(root_2
, stream_typealiasAlias
.nextTree());
6914 adaptor
.addChild(root_1
, root_2
);
6917 adaptor
.addChild(root_0
, root_1
);
6923 retval
.tree
= root_0
;
6928 retval
.stop
= input
.LT(-1);
6930 if ( state
.backtracking
==0 ) {
6931 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6932 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6936 catch (RecognitionException e
) {
6941 // do for sure before leaving
6945 // $ANTLR end "typealiasDecl"
6948 public static class ctfKeyword_return
extends ParserRuleReturnScope
{
6951 public CommonTree
getTree() { return tree
; }
6955 // $ANTLR start "ctfKeyword"
6956 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:591:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
6957 public final CTFParser
.ctfKeyword_return
ctfKeyword() throws RecognitionException
{
6958 CTFParser
.ctfKeyword_return retval
= new CTFParser
.ctfKeyword_return();
6959 retval
.start
= input
.LT(1);
6961 CommonTree root_0
= null;
6965 CommonTree set157_tree
=null;
6968 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:592:3: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
6969 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:
6971 root_0
= (CommonTree
)adaptor
.nil();
6975 if ( input
.LA(1)==ALIGNTOK
||input
.LA(1)==EVENTTOK
||input
.LA(1)==SIGNEDTOK
||input
.LA(1)==STRINGTOK
) {
6977 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(set157
));
6978 state
.errorRecovery
=false;
6982 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
6983 MismatchedSetException mse
= new MismatchedSetException(null,input
);
6988 retval
.stop
= input
.LT(-1);
6990 if ( state
.backtracking
==0 ) {
6991 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
6992 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
6996 catch (RecognitionException e
) {
7001 // do for sure before leaving
7005 // $ANTLR end "ctfKeyword"
7008 public static class ctfSpecifier_return
extends ParserRuleReturnScope
{
7011 public CommonTree
getTree() { return tree
; }
7015 // $ANTLR start "ctfSpecifier"
7016 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:598:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
7017 public final CTFParser
.ctfSpecifier_return
ctfSpecifier() throws RecognitionException
{
7018 CTFParser
.ctfSpecifier_return retval
= new CTFParser
.ctfSpecifier_return();
7019 retval
.start
= input
.LT(1);
7021 CommonTree root_0
= null;
7023 ParserRuleReturnScope ctfSpecifierHead158
=null;
7024 ParserRuleReturnScope ctfBody159
=null;
7025 ParserRuleReturnScope typealiasDecl160
=null;
7027 RewriteRuleSubtreeStream stream_ctfSpecifierHead
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfSpecifierHead");
7028 RewriteRuleSubtreeStream stream_typealiasDecl
=new RewriteRuleSubtreeStream(adaptor
,"rule typealiasDecl");
7029 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
7032 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
7034 int LA52_0
= input
.LA(1);
7035 if ( (LA52_0
==CALLSITETOK
||LA52_0
==CLOCKTOK
||LA52_0
==ENVTOK
||LA52_0
==EVENTTOK
||LA52_0
==STREAMTOK
||LA52_0
==TRACETOK
) ) {
7038 else if ( (LA52_0
==TYPEALIASTOK
) ) {
7043 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7044 NoViableAltException nvae
=
7045 new NoViableAltException("", 52, 0, input
);
7051 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:5: ctfSpecifierHead ctfBody
7053 pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3190
);
7054 ctfSpecifierHead158
=ctfSpecifierHead();
7056 if (state
.failed
) return retval
;
7057 if ( state
.backtracking
==0 ) stream_ctfSpecifierHead
.add(ctfSpecifierHead158
.getTree());
7058 pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3192
);
7059 ctfBody159
=ctfBody();
7061 if (state
.failed
) return retval
;
7062 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody159
.getTree());
7064 // elements: ctfBody, ctfSpecifierHead
7066 // rule labels: retval
7067 // token list labels:
7068 // rule list labels:
7070 if ( state
.backtracking
==0 ) {
7071 retval
.tree
= root_0
;
7072 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7074 root_0
= (CommonTree
)adaptor
.nil();
7075 // 600:30: -> ^( ctfSpecifierHead ctfBody )
7077 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:33: ^( ctfSpecifierHead ctfBody )
7079 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7080 root_1
= (CommonTree
)adaptor
.becomeRoot(stream_ctfSpecifierHead
.nextNode(), root_1
);
7081 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7082 adaptor
.addChild(root_0
, root_1
);
7088 retval
.tree
= root_0
;
7094 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:602:5: typealiasDecl
7096 pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3209
);
7097 typealiasDecl160
=typealiasDecl();
7099 if (state
.failed
) return retval
;
7100 if ( state
.backtracking
==0 ) stream_typealiasDecl
.add(typealiasDecl160
.getTree());
7102 // elements: typealiasDecl
7104 // rule labels: retval
7105 // token list labels:
7106 // rule list labels:
7108 if ( state
.backtracking
==0 ) {
7109 retval
.tree
= root_0
;
7110 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7112 root_0
= (CommonTree
)adaptor
.nil();
7113 // 602:19: -> ^( DECLARATION typealiasDecl )
7115 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:602:22: ^( DECLARATION typealiasDecl )
7117 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7118 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(DECLARATION
, "DECLARATION"), root_1
);
7119 adaptor
.addChild(root_1
, stream_typealiasDecl
.nextTree());
7120 adaptor
.addChild(root_0
, root_1
);
7126 retval
.tree
= root_0
;
7133 retval
.stop
= input
.LT(-1);
7135 if ( state
.backtracking
==0 ) {
7136 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7137 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7141 catch (RecognitionException e
) {
7146 // do for sure before leaving
7150 // $ANTLR end "ctfSpecifier"
7153 public static class ctfSpecifierHead_return
extends ParserRuleReturnScope
{
7156 public CommonTree
getTree() { return tree
; }
7160 // $ANTLR start "ctfSpecifierHead"
7161 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE );
7162 public final CTFParser
.ctfSpecifierHead_return
ctfSpecifierHead() throws RecognitionException
{
7163 CTFParser
.ctfSpecifierHead_return retval
= new CTFParser
.ctfSpecifierHead_return();
7164 retval
.start
= input
.LT(1);
7166 CommonTree root_0
= null;
7168 Token EVENTTOK161
=null;
7169 Token STREAMTOK162
=null;
7170 Token TRACETOK163
=null;
7171 Token ENVTOK164
=null;
7172 Token CLOCKTOK165
=null;
7173 Token CALLSITETOK166
=null;
7175 CommonTree EVENTTOK161_tree
=null;
7176 CommonTree STREAMTOK162_tree
=null;
7177 CommonTree TRACETOK163_tree
=null;
7178 CommonTree ENVTOK164_tree
=null;
7179 CommonTree CLOCKTOK165_tree
=null;
7180 CommonTree CALLSITETOK166_tree
=null;
7181 RewriteRuleTokenStream stream_EVENTTOK
=new RewriteRuleTokenStream(adaptor
,"token EVENTTOK");
7182 RewriteRuleTokenStream stream_CALLSITETOK
=new RewriteRuleTokenStream(adaptor
,"token CALLSITETOK");
7183 RewriteRuleTokenStream stream_STREAMTOK
=new RewriteRuleTokenStream(adaptor
,"token STREAMTOK");
7184 RewriteRuleTokenStream stream_ENVTOK
=new RewriteRuleTokenStream(adaptor
,"token ENVTOK");
7185 RewriteRuleTokenStream stream_CLOCKTOK
=new RewriteRuleTokenStream(adaptor
,"token CLOCKTOK");
7186 RewriteRuleTokenStream stream_TRACETOK
=new RewriteRuleTokenStream(adaptor
,"token TRACETOK");
7189 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:3: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE )
7191 switch ( input
.LA(1) ) {
7223 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7224 NoViableAltException nvae
=
7225 new NoViableAltException("", 53, 0, input
);
7230 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:5: EVENTTOK
7232 EVENTTOK161
=(Token
)match(input
,EVENTTOK
,FOLLOW_EVENTTOK_in_ctfSpecifierHead3230
); if (state
.failed
) return retval
;
7233 if ( state
.backtracking
==0 ) stream_EVENTTOK
.add(EVENTTOK161
);
7238 // rule labels: retval
7239 // token list labels:
7240 // rule list labels:
7242 if ( state
.backtracking
==0 ) {
7243 retval
.tree
= root_0
;
7244 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7246 root_0
= (CommonTree
)adaptor
.nil();
7249 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(EVENT
, "EVENT"));
7253 retval
.tree
= root_0
;
7259 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:607:5: STREAMTOK
7261 STREAMTOK162
=(Token
)match(input
,STREAMTOK
,FOLLOW_STREAMTOK_in_ctfSpecifierHead3240
); if (state
.failed
) return retval
;
7262 if ( state
.backtracking
==0 ) stream_STREAMTOK
.add(STREAMTOK162
);
7267 // rule labels: retval
7268 // token list labels:
7269 // rule list labels:
7271 if ( state
.backtracking
==0 ) {
7272 retval
.tree
= root_0
;
7273 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7275 root_0
= (CommonTree
)adaptor
.nil();
7276 // 607:15: -> STREAM
7278 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(STREAM
, "STREAM"));
7282 retval
.tree
= root_0
;
7288 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:608:5: TRACETOK
7290 TRACETOK163
=(Token
)match(input
,TRACETOK
,FOLLOW_TRACETOK_in_ctfSpecifierHead3250
); if (state
.failed
) return retval
;
7291 if ( state
.backtracking
==0 ) stream_TRACETOK
.add(TRACETOK163
);
7296 // rule labels: retval
7297 // token list labels:
7298 // rule list labels:
7300 if ( state
.backtracking
==0 ) {
7301 retval
.tree
= root_0
;
7302 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7304 root_0
= (CommonTree
)adaptor
.nil();
7307 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(TRACE
, "TRACE"));
7311 retval
.tree
= root_0
;
7317 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:609:5: ENVTOK
7319 ENVTOK164
=(Token
)match(input
,ENVTOK
,FOLLOW_ENVTOK_in_ctfSpecifierHead3260
); if (state
.failed
) return retval
;
7320 if ( state
.backtracking
==0 ) stream_ENVTOK
.add(ENVTOK164
);
7325 // rule labels: retval
7326 // token list labels:
7327 // rule list labels:
7329 if ( state
.backtracking
==0 ) {
7330 retval
.tree
= root_0
;
7331 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7333 root_0
= (CommonTree
)adaptor
.nil();
7336 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(ENV
, "ENV"));
7340 retval
.tree
= root_0
;
7346 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:610:5: CLOCKTOK
7348 CLOCKTOK165
=(Token
)match(input
,CLOCKTOK
,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3270
); if (state
.failed
) return retval
;
7349 if ( state
.backtracking
==0 ) stream_CLOCKTOK
.add(CLOCKTOK165
);
7354 // rule labels: retval
7355 // token list labels:
7356 // rule list labels:
7358 if ( state
.backtracking
==0 ) {
7359 retval
.tree
= root_0
;
7360 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7362 root_0
= (CommonTree
)adaptor
.nil();
7365 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(CLOCK
, "CLOCK"));
7369 retval
.tree
= root_0
;
7375 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:611:5: CALLSITETOK
7377 CALLSITETOK166
=(Token
)match(input
,CALLSITETOK
,FOLLOW_CALLSITETOK_in_ctfSpecifierHead3280
); if (state
.failed
) return retval
;
7378 if ( state
.backtracking
==0 ) stream_CALLSITETOK
.add(CALLSITETOK166
);
7383 // rule labels: retval
7384 // token list labels:
7385 // rule list labels:
7387 if ( state
.backtracking
==0 ) {
7388 retval
.tree
= root_0
;
7389 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7391 root_0
= (CommonTree
)adaptor
.nil();
7392 // 611:17: -> CALLSITE
7394 adaptor
.addChild(root_0
, (CommonTree
)adaptor
.create(CALLSITE
, "CALLSITE"));
7398 retval
.tree
= root_0
;
7405 retval
.stop
= input
.LT(-1);
7407 if ( state
.backtracking
==0 ) {
7408 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7409 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7413 catch (RecognitionException e
) {
7418 // do for sure before leaving
7422 // $ANTLR end "ctfSpecifierHead"
7425 public static class ctfTypeSpecifier_return
extends ParserRuleReturnScope
{
7428 public CommonTree
getTree() { return tree
; }
7432 // $ANTLR start "ctfTypeSpecifier"
7433 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
7434 public final CTFParser
.ctfTypeSpecifier_return
ctfTypeSpecifier() throws RecognitionException
{
7435 CTFParser
.ctfTypeSpecifier_return retval
= new CTFParser
.ctfTypeSpecifier_return();
7436 retval
.start
= input
.LT(1);
7438 CommonTree root_0
= null;
7440 Token FLOATINGPOINTTOK167
=null;
7441 Token INTEGERTOK169
=null;
7442 Token STRINGTOK171
=null;
7443 ParserRuleReturnScope ctfBody168
=null;
7444 ParserRuleReturnScope ctfBody170
=null;
7445 ParserRuleReturnScope ctfBody172
=null;
7447 CommonTree FLOATINGPOINTTOK167_tree
=null;
7448 CommonTree INTEGERTOK169_tree
=null;
7449 CommonTree STRINGTOK171_tree
=null;
7450 RewriteRuleTokenStream stream_FLOATINGPOINTTOK
=new RewriteRuleTokenStream(adaptor
,"token FLOATINGPOINTTOK");
7451 RewriteRuleTokenStream stream_STRINGTOK
=new RewriteRuleTokenStream(adaptor
,"token STRINGTOK");
7452 RewriteRuleTokenStream stream_INTEGERTOK
=new RewriteRuleTokenStream(adaptor
,"token INTEGERTOK");
7453 RewriteRuleSubtreeStream stream_ctfBody
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfBody");
7456 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:3: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
7458 switch ( input
.LA(1) ) {
7459 case FLOATINGPOINTTOK
:
7475 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7476 NoViableAltException nvae
=
7477 new NoViableAltException("", 55, 0, input
);
7482 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:5: FLOATINGPOINTTOK ctfBody
7484 FLOATINGPOINTTOK167
=(Token
)match(input
,FLOATINGPOINTTOK
,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3303
); if (state
.failed
) return retval
;
7485 if ( state
.backtracking
==0 ) stream_FLOATINGPOINTTOK
.add(FLOATINGPOINTTOK167
);
7487 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3305
);
7488 ctfBody168
=ctfBody();
7490 if (state
.failed
) return retval
;
7491 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody168
.getTree());
7493 // elements: ctfBody
7495 // rule labels: retval
7496 // token list labels:
7497 // rule list labels:
7499 if ( state
.backtracking
==0 ) {
7500 retval
.tree
= root_0
;
7501 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7503 root_0
= (CommonTree
)adaptor
.nil();
7504 // 616:30: -> ^( FLOATING_POINT ( ctfBody )? )
7506 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:33: ^( FLOATING_POINT ( ctfBody )? )
7508 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7509 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(FLOATING_POINT
, "FLOATING_POINT"), root_1
);
7510 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:50: ( ctfBody )?
7511 if ( stream_ctfBody
.hasNext() ) {
7512 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7514 stream_ctfBody
.reset();
7516 adaptor
.addChild(root_0
, root_1
);
7522 retval
.tree
= root_0
;
7528 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:5: INTEGERTOK ctfBody
7530 INTEGERTOK169
=(Token
)match(input
,INTEGERTOK
,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3320
); if (state
.failed
) return retval
;
7531 if ( state
.backtracking
==0 ) stream_INTEGERTOK
.add(INTEGERTOK169
);
7533 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3322
);
7534 ctfBody170
=ctfBody();
7536 if (state
.failed
) return retval
;
7537 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody170
.getTree());
7539 // elements: ctfBody
7541 // rule labels: retval
7542 // token list labels:
7543 // rule list labels:
7545 if ( state
.backtracking
==0 ) {
7546 retval
.tree
= root_0
;
7547 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7549 root_0
= (CommonTree
)adaptor
.nil();
7550 // 617:24: -> ^( INTEGER ( ctfBody )? )
7552 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:27: ^( INTEGER ( ctfBody )? )
7554 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7555 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(INTEGER
, "INTEGER"), root_1
);
7556 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:37: ( ctfBody )?
7557 if ( stream_ctfBody
.hasNext() ) {
7558 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7560 stream_ctfBody
.reset();
7562 adaptor
.addChild(root_0
, root_1
);
7568 retval
.tree
= root_0
;
7574 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:5: STRINGTOK ( ctfBody )?
7576 STRINGTOK171
=(Token
)match(input
,STRINGTOK
,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3337
); if (state
.failed
) return retval
;
7577 if ( state
.backtracking
==0 ) stream_STRINGTOK
.add(STRINGTOK171
);
7579 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:15: ( ctfBody )?
7581 int LA54_0
= input
.LA(1);
7582 if ( (LA54_0
==LCURL
) ) {
7587 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:15: ctfBody
7589 pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3339
);
7590 ctfBody172
=ctfBody();
7592 if (state
.failed
) return retval
;
7593 if ( state
.backtracking
==0 ) stream_ctfBody
.add(ctfBody172
.getTree());
7600 // elements: ctfBody
7602 // rule labels: retval
7603 // token list labels:
7604 // rule list labels:
7606 if ( state
.backtracking
==0 ) {
7607 retval
.tree
= root_0
;
7608 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7610 root_0
= (CommonTree
)adaptor
.nil();
7611 // 618:24: -> ^( STRING ( ctfBody )? )
7613 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:27: ^( STRING ( ctfBody )? )
7615 CommonTree root_1
= (CommonTree
)adaptor
.nil();
7616 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(STRING
, "STRING"), root_1
);
7617 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:36: ( ctfBody )?
7618 if ( stream_ctfBody
.hasNext() ) {
7619 adaptor
.addChild(root_1
, stream_ctfBody
.nextTree());
7621 stream_ctfBody
.reset();
7623 adaptor
.addChild(root_0
, root_1
);
7629 retval
.tree
= root_0
;
7636 retval
.stop
= input
.LT(-1);
7638 if ( state
.backtracking
==0 ) {
7639 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7640 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7644 catch (RecognitionException e
) {
7649 // do for sure before leaving
7653 // $ANTLR end "ctfTypeSpecifier"
7656 public static class ctfBody_return
extends ParserRuleReturnScope
{
7659 public CommonTree
getTree() { return tree
; }
7663 // $ANTLR start "ctfBody"
7664 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:621:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
7665 public final CTFParser
.ctfBody_return
ctfBody() throws RecognitionException
{
7666 Symbols_stack
.push(new Symbols_scope());
7668 CTFParser
.ctfBody_return retval
= new CTFParser
.ctfBody_return();
7669 retval
.start
= input
.LT(1);
7671 CommonTree root_0
= null;
7673 Token LCURL173
=null;
7674 Token RCURL175
=null;
7675 ParserRuleReturnScope ctfAssignmentExpressionList174
=null;
7677 CommonTree LCURL173_tree
=null;
7678 CommonTree RCURL175_tree
=null;
7679 RewriteRuleTokenStream stream_LCURL
=new RewriteRuleTokenStream(adaptor
,"token LCURL");
7680 RewriteRuleTokenStream stream_RCURL
=new RewriteRuleTokenStream(adaptor
,"token RCURL");
7681 RewriteRuleSubtreeStream stream_ctfAssignmentExpressionList
=new RewriteRuleSubtreeStream(adaptor
,"rule ctfAssignmentExpressionList");
7684 Symbols_stack
.peek().types
= new HashSet
<String
>();
7687 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:3: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
7688 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:5: LCURL ( ctfAssignmentExpressionList )? RCURL
7690 LCURL173
=(Token
)match(input
,LCURL
,FOLLOW_LCURL_in_ctfBody3372
); if (state
.failed
) return retval
;
7691 if ( state
.backtracking
==0 ) stream_LCURL
.add(LCURL173
);
7693 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:11: ( ctfAssignmentExpressionList )?
7695 int LA56_0
= input
.LA(1);
7696 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
)) ) {
7701 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:11: ctfAssignmentExpressionList
7703 pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3374
);
7704 ctfAssignmentExpressionList174
=ctfAssignmentExpressionList();
7706 if (state
.failed
) return retval
;
7707 if ( state
.backtracking
==0 ) stream_ctfAssignmentExpressionList
.add(ctfAssignmentExpressionList174
.getTree());
7713 RCURL175
=(Token
)match(input
,RCURL
,FOLLOW_RCURL_in_ctfBody3377
); if (state
.failed
) return retval
;
7714 if ( state
.backtracking
==0 ) stream_RCURL
.add(RCURL175
);
7717 // elements: ctfAssignmentExpressionList
7719 // rule labels: retval
7720 // token list labels:
7721 // rule list labels:
7723 if ( state
.backtracking
==0 ) {
7724 retval
.tree
= root_0
;
7725 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
7727 root_0
= (CommonTree
)adaptor
.nil();
7728 // 626:46: -> ( ctfAssignmentExpressionList )?
7730 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:49: ( ctfAssignmentExpressionList )?
7731 if ( stream_ctfAssignmentExpressionList
.hasNext() ) {
7732 adaptor
.addChild(root_0
, stream_ctfAssignmentExpressionList
.nextTree());
7734 stream_ctfAssignmentExpressionList
.reset();
7739 retval
.tree
= root_0
;
7744 retval
.stop
= input
.LT(-1);
7746 if ( state
.backtracking
==0 ) {
7747 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7748 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7752 catch (RecognitionException e
) {
7757 // do for sure before leaving
7758 Symbols_stack
.pop();
7763 // $ANTLR end "ctfBody"
7766 public static class ctfAssignmentExpressionList_return
extends ParserRuleReturnScope
{
7769 public CommonTree
getTree() { return tree
; }
7773 // $ANTLR start "ctfAssignmentExpressionList"
7774 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:629:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM !)+ ;
7775 public final CTFParser
.ctfAssignmentExpressionList_return
ctfAssignmentExpressionList() throws RecognitionException
{
7776 CTFParser
.ctfAssignmentExpressionList_return retval
= new CTFParser
.ctfAssignmentExpressionList_return();
7777 retval
.start
= input
.LT(1);
7779 CommonTree root_0
= null;
7782 ParserRuleReturnScope ctfAssignmentExpression176
=null;
7784 CommonTree TERM177_tree
=null;
7787 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:3: ( ( ctfAssignmentExpression TERM !)+ )
7788 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:5: ( ctfAssignmentExpression TERM !)+
7790 root_0
= (CommonTree
)adaptor
.nil();
7793 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:5: ( ctfAssignmentExpression TERM !)+
7798 int LA57_0
= input
.LA(1);
7799 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
)) ) {
7805 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:6: ctfAssignmentExpression TERM !
7807 pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3396
);
7808 ctfAssignmentExpression176
=ctfAssignmentExpression();
7810 if (state
.failed
) return retval
;
7811 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, ctfAssignmentExpression176
.getTree());
7813 TERM177
=(Token
)match(input
,TERM
,FOLLOW_TERM_in_ctfAssignmentExpressionList3398
); if (state
.failed
) return retval
;
7818 if ( cnt57
>= 1 ) break loop57
;
7819 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7820 EarlyExitException eee
= new EarlyExitException(57, input
);
7828 retval
.stop
= input
.LT(-1);
7830 if ( state
.backtracking
==0 ) {
7831 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
7832 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
7836 catch (RecognitionException e
) {
7841 // do for sure before leaving
7845 // $ANTLR end "ctfAssignmentExpressionList"
7848 public static class ctfAssignmentExpression_return
extends ParserRuleReturnScope
{
7851 public CommonTree
getTree() { return tree
; }
7855 // $ANTLR start "ctfAssignmentExpression"
7856 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:633: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 );
7857 public final CTFParser
.ctfAssignmentExpression_return
ctfAssignmentExpression() throws RecognitionException
{
7858 CTFParser
.ctfAssignmentExpression_return retval
= new CTFParser
.ctfAssignmentExpression_return();
7859 retval
.start
= input
.LT(1);
7861 CommonTree root_0
= null;
7863 Token assignment
=null;
7864 Token type_assignment
=null;
7865 ParserRuleReturnScope left
=null;
7866 ParserRuleReturnScope right1
=null;
7867 ParserRuleReturnScope right2
=null;
7868 ParserRuleReturnScope declarationSpecifiers178
=null;
7869 ParserRuleReturnScope declaratorList179
=null;
7870 ParserRuleReturnScope typealiasDecl180
=null;
7872 CommonTree assignment_tree
=null;
7873 CommonTree type_assignment_tree
=null;
7874 RewriteRuleTokenStream stream_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token ASSIGNMENT");
7875 RewriteRuleTokenStream stream_TYPE_ASSIGNMENT
=new RewriteRuleTokenStream(adaptor
,"token TYPE_ASSIGNMENT");
7876 RewriteRuleSubtreeStream stream_declaratorList
=new RewriteRuleSubtreeStream(adaptor
,"rule declaratorList");
7877 RewriteRuleSubtreeStream stream_unaryExpression
=new RewriteRuleSubtreeStream(adaptor
,"rule unaryExpression");
7878 RewriteRuleSubtreeStream stream_declarationSpecifiers
=new RewriteRuleSubtreeStream(adaptor
,"rule declarationSpecifiers");
7879 RewriteRuleSubtreeStream stream_typeSpecifier
=new RewriteRuleSubtreeStream(adaptor
,"rule typeSpecifier");
7882 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639: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 )
7884 switch ( input
.LA(1) ) {
7887 int LA59_1
= input
.LA(2);
7888 if ( ((LA59_1
>= ARROW
&& LA59_1
<= ASSIGNMENT
)||LA59_1
==DOT
||LA59_1
==OPENBRAC
||LA59_1
==TYPE_ASSIGNMENT
) ) {
7891 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()) ))) {
7899 case CHARACTER_LITERAL
:
7901 case DECIMAL_LITERAL
:
7908 case STRING_LITERAL
:
7916 switch ( input
.LA(2) ) {
7921 case TYPE_ASSIGNMENT
:
7932 case FLOATINGPOINTTOK
:
7957 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
7958 int nvaeMark
= input
.mark();
7961 NoViableAltException nvae
=
7962 new NoViableAltException("", 59, 3, input
);
7965 input
.rewind(nvaeMark
);
7976 case FLOATINGPOINTTOK
:
7994 switch ( input
.LA(2) ) {
7999 case TYPE_ASSIGNMENT
:
8010 case FLOATINGPOINTTOK
:
8036 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8037 int nvaeMark
= input
.mark();
8040 NoViableAltException nvae
=
8041 new NoViableAltException("", 59, 5, input
);
8044 input
.rewind(nvaeMark
);
8055 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8056 NoViableAltException nvae
=
8057 new NoViableAltException("", 59, 0, input
);
8062 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639: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) ) ) )
8064 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3421
);
8065 left
=unaryExpression();
8067 if (state
.failed
) return retval
;
8068 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(left
.getTree());
8069 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640: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) ) ) )
8071 int LA58_0
= input
.LA(1);
8072 if ( (LA58_0
==ASSIGNMENT
) ) {
8075 else if ( (LA58_0
==TYPE_ASSIGNMENT
) ) {
8080 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8081 NoViableAltException nvae
=
8082 new NoViableAltException("", 58, 0, input
);
8088 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640:9: assignment= ASSIGNMENT right1= unaryExpression
8090 assignment
=(Token
)match(input
,ASSIGNMENT
,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3433
); if (state
.failed
) return retval
;
8091 if ( state
.backtracking
==0 ) stream_ASSIGNMENT
.add(assignment
);
8093 pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3437
);
8094 right1
=unaryExpression();
8096 if (state
.failed
) return retval
;
8097 if ( state
.backtracking
==0 ) stream_unaryExpression
.add(right1
.getTree());
8099 // elements: left, right1
8101 // rule labels: retval, left, right1
8102 // token list labels:
8103 // rule list labels:
8105 if ( state
.backtracking
==0 ) {
8106 retval
.tree
= root_0
;
8107 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8108 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.getTree():null);
8109 RewriteRuleSubtreeStream stream_right1
=new RewriteRuleSubtreeStream(adaptor
,"rule right1",right1
!=null?right1
.getTree():null);
8111 root_0
= (CommonTree
)adaptor
.nil();
8112 // 641:11: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
8114 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:641:14: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
8116 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8117 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_VAL
, "CTF_EXPRESSION_VAL"), root_1
);
8118 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:642:18: ^( CTF_LEFT $left)
8120 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8121 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
8122 adaptor
.addChild(root_2
, stream_left
.nextTree());
8123 adaptor
.addChild(root_1
, root_2
);
8126 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:643:18: ^( CTF_RIGHT $right1)
8128 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8129 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
8130 adaptor
.addChild(root_2
, stream_right1
.nextTree());
8131 adaptor
.addChild(root_1
, root_2
);
8134 adaptor
.addChild(root_0
, root_1
);
8140 retval
.tree
= root_0
;
8146 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:644:9: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
8148 type_assignment
=(Token
)match(input
,TYPE_ASSIGNMENT
,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3513
); if (state
.failed
) return retval
;
8149 if ( state
.backtracking
==0 ) stream_TYPE_ASSIGNMENT
.add(type_assignment
);
8151 pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3517
);
8152 right2
=typeSpecifier();
8154 if (state
.failed
) return retval
;
8155 if ( state
.backtracking
==0 ) stream_typeSpecifier
.add(right2
.getTree());
8157 // elements: right2, left
8159 // rule labels: retval, left, right2
8160 // token list labels:
8161 // rule list labels:
8163 if ( state
.backtracking
==0 ) {
8164 retval
.tree
= root_0
;
8165 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8166 RewriteRuleSubtreeStream stream_left
=new RewriteRuleSubtreeStream(adaptor
,"rule left",left
!=null?left
.getTree():null);
8167 RewriteRuleSubtreeStream stream_right2
=new RewriteRuleSubtreeStream(adaptor
,"rule right2",right2
!=null?right2
.getTree():null);
8169 root_0
= (CommonTree
)adaptor
.nil();
8170 // 645:11: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
8172 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:14: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
8174 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8175 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_EXPRESSION_TYPE
, "CTF_EXPRESSION_TYPE"), root_1
);
8176 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:646:18: ^( CTF_LEFT $left)
8178 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8179 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_LEFT
, "CTF_LEFT"), root_2
);
8180 adaptor
.addChild(root_2
, stream_left
.nextTree());
8181 adaptor
.addChild(root_1
, root_2
);
8184 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:18: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
8186 CommonTree root_2
= (CommonTree
)adaptor
.nil();
8187 root_2
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(CTF_RIGHT
, "CTF_RIGHT"), root_2
);
8188 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:30: ^( TYPE_SPECIFIER_LIST $right2)
8190 CommonTree root_3
= (CommonTree
)adaptor
.nil();
8191 root_3
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPE_SPECIFIER_LIST
, "TYPE_SPECIFIER_LIST"), root_3
);
8192 adaptor
.addChild(root_3
, stream_right2
.nextTree());
8193 adaptor
.addChild(root_2
, root_3
);
8196 adaptor
.addChild(root_1
, root_2
);
8199 adaptor
.addChild(root_0
, root_1
);
8205 retval
.tree
= root_0
;
8216 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: ( declarationSpecifiers {...}? declaratorList )
8218 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: ( declarationSpecifiers {...}? declaratorList )
8219 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:6: declarationSpecifiers {...}? declaratorList
8221 pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3600
);
8222 declarationSpecifiers178
=declarationSpecifiers();
8224 if (state
.failed
) return retval
;
8225 if ( state
.backtracking
==0 ) stream_declarationSpecifiers
.add(declarationSpecifiers178
.getTree());
8226 if ( !((inTypedef())) ) {
8227 if (state
.backtracking
>0) {state
.failed
=true; return retval
;}
8228 throw new FailedPredicateException(input
, "ctfAssignmentExpression", "inTypedef()");
8230 pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3604
);
8231 declaratorList179
=declaratorList();
8233 if (state
.failed
) return retval
;
8234 if ( state
.backtracking
==0 ) stream_declaratorList
.add(declaratorList179
.getTree());
8238 // elements: declarationSpecifiers, declaratorList
8240 // rule labels: retval
8241 // token list labels:
8242 // rule list labels:
8244 if ( state
.backtracking
==0 ) {
8245 retval
.tree
= root_0
;
8246 RewriteRuleSubtreeStream stream_retval
=new RewriteRuleSubtreeStream(adaptor
,"rule retval",retval
!=null?retval
.getTree():null);
8248 root_0
= (CommonTree
)adaptor
.nil();
8249 // 650:7: -> ^( TYPEDEF declaratorList declarationSpecifiers )
8251 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:650:10: ^( TYPEDEF declaratorList declarationSpecifiers )
8253 CommonTree root_1
= (CommonTree
)adaptor
.nil();
8254 root_1
= (CommonTree
)adaptor
.becomeRoot((CommonTree
)adaptor
.create(TYPEDEF
, "TYPEDEF"), root_1
);
8255 adaptor
.addChild(root_1
, stream_declaratorList
.nextTree());
8256 adaptor
.addChild(root_1
, stream_declarationSpecifiers
.nextTree());
8257 adaptor
.addChild(root_0
, root_1
);
8263 retval
.tree
= root_0
;
8269 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:651:5: typealiasDecl
8271 root_0
= (CommonTree
)adaptor
.nil();
8274 pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3627
);
8275 typealiasDecl180
=typealiasDecl();
8277 if (state
.failed
) return retval
;
8278 if ( state
.backtracking
==0 ) adaptor
.addChild(root_0
, typealiasDecl180
.getTree());
8284 retval
.stop
= input
.LT(-1);
8286 if ( state
.backtracking
==0 ) {
8287 retval
.tree
= (CommonTree
)adaptor
.rulePostProcessing(root_0
);
8288 adaptor
.setTokenBoundaries(retval
.tree
, retval
.start
, retval
.stop
);
8290 if ( state
.backtracking
==0 ) {
8297 catch (RecognitionException e
) {
8302 // do for sure before leaving
8306 // $ANTLR end "ctfAssignmentExpression"
8308 // $ANTLR start synpred1_CTFParser
8309 public final void synpred1_CTFParser_fragment() throws RecognitionException
{
8310 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:5: ( IDENTIFIER )
8311 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:6: IDENTIFIER
8313 match(input
,IDENTIFIER
,FOLLOW_IDENTIFIER_in_synpred1_CTFParser560
); if (state
.failed
) return;
8318 // $ANTLR end synpred1_CTFParser
8320 // $ANTLR start synpred2_CTFParser
8321 public final void synpred2_CTFParser_fragment() throws RecognitionException
{
8322 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( ctfKeyword )
8323 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:6: ctfKeyword
8325 pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser586
);
8328 if (state
.failed
) return;
8333 // $ANTLR end synpred2_CTFParser
8335 // $ANTLR start synpred3_CTFParser
8336 public final void synpred3_CTFParser_fragment() throws RecognitionException
{
8337 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:5: ( STRING_LITERAL )
8338 // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:6: STRING_LITERAL
8340 match(input
,STRING_LITERAL
,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606
); if (state
.failed
) return;
8345 // $ANTLR end synpred3_CTFParser
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
--;
8363 public final boolean synpred1_CTFParser() {
8364 state
.backtracking
++;
8365 int start
= input
.mark();
8367 synpred1_CTFParser_fragment(); // can never throw exception
8368 } catch (RecognitionException re
) {
8369 System
.err
.println("impossible: "+re
);
8371 boolean success
= !state
.failed
;
8372 input
.rewind(start
);
8373 state
.backtracking
--;
8377 public final boolean synpred3_CTFParser() {
8378 state
.backtracking
++;
8379 int start
= input
.mark();
8381 synpred3_CTFParser_fragment(); // can never throw exception
8382 } catch (RecognitionException re
) {
8383 System
.err
.println("impossible: "+re
);
8385 boolean success
= !state
.failed
;
8386 input
.rewind(start
);
8387 state
.backtracking
--;
8393 protected DFA24 dfa24
= new DFA24(this);
8394 static final String DFA24_eotS
=
8396 static final String DFA24_eofS
=
8398 static final String DFA24_minS
=
8399 "\1\46\1\24\1\0\1\24\1\0\2\uffff\1\0";
8400 static final String DFA24_maxS
=
8401 "\2\72\1\0\1\72\1\0\2\uffff\1\0";
8402 static final String DFA24_acceptS
=
8403 "\5\uffff\1\1\1\2\1\uffff";
8404 static final String DFA24_specialS
=
8405 "\2\uffff\1\2\1\uffff\1\1\2\uffff\1\0}>";
8406 static final String
[] DFA24_transitionS
= {
8407 "\1\2\23\uffff\1\1",
8408 "\1\3\21\uffff\1\4\23\uffff\1\1",
8410 "\1\3\21\uffff\1\7\23\uffff\1\1",
8417 static final short[] DFA24_eot
= DFA
.unpackEncodedString(DFA24_eotS
);
8418 static final short[] DFA24_eof
= DFA
.unpackEncodedString(DFA24_eofS
);
8419 static final char[] DFA24_min
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_minS
);
8420 static final char[] DFA24_max
= DFA
.unpackEncodedStringToUnsignedChars(DFA24_maxS
);
8421 static final short[] DFA24_accept
= DFA
.unpackEncodedString(DFA24_acceptS
);
8422 static final short[] DFA24_special
= DFA
.unpackEncodedString(DFA24_specialS
);
8423 static final short[][] DFA24_transition
;
8426 int numStates
= DFA24_transitionS
.length
;
8427 DFA24_transition
= new short[numStates
][];
8428 for (int i
=0; i
<numStates
; i
++) {
8429 DFA24_transition
[i
] = DFA
.unpackEncodedString(DFA24_transitionS
[i
]);
8433 protected class DFA24
extends DFA
{
8435 public DFA24(BaseRecognizer recognizer
) {
8436 this.recognizer
= recognizer
;
8437 this.decisionNumber
= 24;
8438 this.eot
= DFA24_eot
;
8439 this.eof
= DFA24_eof
;
8440 this.min
= DFA24_min
;
8441 this.max
= DFA24_max
;
8442 this.accept
= DFA24_accept
;
8443 this.special
= DFA24_special
;
8444 this.transition
= DFA24_transition
;
8447 public String
getDescription() {
8448 return "372:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
8451 public int specialStateTransition(int s
, IntStream _input
) throws NoViableAltException
{
8452 TokenStream input
= (TokenStream
)_input
;
8456 int LA24_7
= input
.LA(1);
8458 int index24_7
= input
.index();
8461 if ( ((inTypedef())) ) {s
= 5;}
8462 else if ( (true) ) {s
= 6;}
8464 input
.seek(index24_7
);
8465 if ( s
>=0 ) return s
;
8469 int LA24_4
= input
.LA(1);
8471 int index24_4
= input
.index();
8474 if ( ((inTypedef())) ) {s
= 5;}
8475 else if ( (true) ) {s
= 6;}
8477 input
.seek(index24_4
);
8478 if ( s
>=0 ) return s
;
8482 int LA24_2
= input
.LA(1);
8484 int index24_2
= input
.index();
8487 if ( ((inTypedef())) ) {s
= 5;}
8488 else if ( (true) ) {s
= 6;}
8490 input
.seek(index24_2
);
8491 if ( s
>=0 ) return s
;
8494 if (state
.backtracking
>0) {state
.failed
=true; return -1;}
8495 NoViableAltException nvae
=
8496 new NoViableAltException(getDescription(), 24, _s
, input
);
8502 public static final BitSet FOLLOW_declaration_in_parse449
= new BitSet(new long[]{0x40004AC1DA182B00L
,0x000000000001CE95L
});
8503 public static final BitSet FOLLOW_EOF_in_parse452
= new BitSet(new long[]{0x0000000000000002L
});
8504 public static final BitSet FOLLOW_SIGN_in_numberLiteral474
= new BitSet(new long[]{0x8040001000200000L
});
8505 public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral485
= new BitSet(new long[]{0x0000000000000002L
});
8506 public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral506
= new BitSet(new long[]{0x0000000000000002L
});
8507 public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral527
= new BitSet(new long[]{0x0000000000000002L
});
8508 public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression565
= new BitSet(new long[]{0x0000000000000002L
});
8509 public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression591
= new BitSet(new long[]{0x0000000000000002L
});
8510 public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression611
= new BitSet(new long[]{0x0000000000000002L
});
8511 public static final BitSet FOLLOW_numberLiteral_in_primaryExpression636
= new BitSet(new long[]{0x0000000000000002L
});
8512 public static final BitSet FOLLOW_enumConstant_in_primaryExpression642
= new BitSet(new long[]{0x0000000000000002L
});
8513 public static final BitSet FOLLOW_CHARACTER_LITERAL_in_primaryExpression648
= new BitSet(new long[]{0x0000000000000002L
});
8514 public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix661
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8515 public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix663
= new BitSet(new long[]{0x0000000000004000L
});
8516 public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665
= new BitSet(new long[]{0x0000000000000002L
});
8517 public static final BitSet FOLLOW_DOT_in_postfixExpressionSuffix675
= new BitSet(new long[]{0x0000004000000000L
});
8518 public static final BitSet FOLLOW_ARROW_in_postfixExpressionSuffix681
= new BitSet(new long[]{0x0000004000000000L
});
8519 public static final BitSet FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684
= new BitSet(new long[]{0x0000000000000002L
});
8520 public static final BitSet FOLLOW_DOT_in_postfixCtfExpression719
= new BitSet(new long[]{0x0000000050002200L
,0x0000000000000204L
});
8521 public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixCtfExpression722
= new BitSet(new long[]{0x0000000000000002L
});
8522 public static final BitSet FOLLOW_primaryExpression_in_postfixExpression755
= new BitSet(new long[]{0x0200000000800022L
});
8523 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression757
= new BitSet(new long[]{0x0200000000800022L
});
8524 public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression766
= new BitSet(new long[]{0x0200000000800020L
});
8525 public static final BitSet FOLLOW_postfixCtfExpression_in_postfixExpression768
= new BitSet(new long[]{0x0200000000800020L
});
8526 public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression771
= new BitSet(new long[]{0x0200000000800022L
});
8527 public static final BitSet FOLLOW_postfixExpression_in_unaryExpression787
= new BitSet(new long[]{0x0000000000000002L
});
8528 public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant804
= new BitSet(new long[]{0x0000000000000002L
});
8529 public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant818
= new BitSet(new long[]{0x0000000000000002L
});
8530 public static final BitSet FOLLOW_ctfKeyword_in_enumConstant832
= new BitSet(new long[]{0x0000000000000002L
});
8531 public static final BitSet FOLLOW_declarationSpecifiers_in_declaration863
= new BitSet(new long[]{0x0400004000000000L
,0x0000000000000100L
});
8532 public static final BitSet FOLLOW_declaratorList_in_declaration865
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8533 public static final BitSet FOLLOW_TERM_in_declaration868
= new BitSet(new long[]{0x0000000000000002L
});
8534 public static final BitSet FOLLOW_ctfSpecifier_in_declaration936
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8535 public static final BitSet FOLLOW_TERM_in_declaration938
= new BitSet(new long[]{0x0000000000000002L
});
8536 public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers976
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001C891L
});
8537 public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers986
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001C891L
});
8538 public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers996
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001C891L
});
8539 public static final BitSet FOLLOW_declarator_in_declaratorList1026
= new BitSet(new long[]{0x2000000000000002L
});
8540 public static final BitSet FOLLOW_SEPARATOR_in_declaratorList1029
= new BitSet(new long[]{0x0400004000000000L
});
8541 public static final BitSet FOLLOW_declarator_in_declaratorList1031
= new BitSet(new long[]{0x2000000000000002L
});
8542 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1061
= new BitSet(new long[]{0x2000000000000002L
});
8543 public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList1064
= new BitSet(new long[]{0x0400804000000000L
});
8544 public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1066
= new BitSet(new long[]{0x2000000000000002L
});
8545 public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1096
= new BitSet(new long[]{0x0000000000000002L
});
8546 public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1112
= new BitSet(new long[]{0x0000000000000002L
});
8547 public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1118
= new BitSet(new long[]{0x0000000000000002L
});
8548 public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1124
= new BitSet(new long[]{0x0000000000000002L
});
8549 public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1130
= new BitSet(new long[]{0x0000000000000002L
});
8550 public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1136
= new BitSet(new long[]{0x0000000000000002L
});
8551 public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1142
= new BitSet(new long[]{0x0000000000000002L
});
8552 public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1148
= new BitSet(new long[]{0x0000000000000002L
});
8553 public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1154
= new BitSet(new long[]{0x0000000000000002L
});
8554 public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1160
= new BitSet(new long[]{0x0000000000000002L
});
8555 public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1166
= new BitSet(new long[]{0x0000000000000002L
});
8556 public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1172
= new BitSet(new long[]{0x0000000000000002L
});
8557 public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1178
= new BitSet(new long[]{0x0000000000000002L
});
8558 public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1184
= new BitSet(new long[]{0x0000000000000002L
});
8559 public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1190
= new BitSet(new long[]{0x0000000000000002L
});
8560 public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1196
= new BitSet(new long[]{0x0000000000000002L
});
8561 public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1202
= new BitSet(new long[]{0x0000000000000002L
});
8562 public static final BitSet FOLLOW_typedefName_in_typeSpecifier1212
= new BitSet(new long[]{0x0000000000000002L
});
8563 public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1225
= new BitSet(new long[]{0x0000000000000002L
});
8564 public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1238
= new BitSet(new long[]{0x0000800000000000L
});
8565 public static final BitSet FOLLOW_LPAREN_in_alignAttribute1240
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8566 public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1242
= new BitSet(new long[]{0x1000000000000000L
});
8567 public static final BitSet FOLLOW_RPAREN_in_alignAttribute1244
= new BitSet(new long[]{0x0000000000000002L
});
8568 public static final BitSet FOLLOW_LCURL_in_structBody1278
= new BitSet(new long[]{0x48004AC18A180900L
,0x000000000001CC91L
});
8569 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1280
= new BitSet(new long[]{0x0800000000000000L
});
8570 public static final BitSet FOLLOW_RCURL_in_structBody1283
= new BitSet(new long[]{0x0000000000000002L
});
8571 public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1311
= new BitSet(new long[]{0x0000104000000000L
});
8572 public static final BitSet FOLLOW_structName_in_structSpecifier1336
= new BitSet(new long[]{0x0000100000000012L
});
8573 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1358
= new BitSet(new long[]{0x0000000000000002L
});
8574 public static final BitSet FOLLOW_structBody_in_structSpecifier1394
= new BitSet(new long[]{0x0000000000000012L
});
8575 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1425
= new BitSet(new long[]{0x0000000000000002L
});
8576 public static final BitSet FOLLOW_structBody_in_structSpecifier1541
= new BitSet(new long[]{0x0000000000000012L
});
8577 public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1559
= new BitSet(new long[]{0x0000000000000002L
});
8578 public static final BitSet FOLLOW_IDENTIFIER_in_structName1625
= new BitSet(new long[]{0x0000000000000002L
});
8579 public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1646
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001CC91L
});
8580 public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1679
= new BitSet(new long[]{0x0400004000000000L
});
8581 public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1720
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8582 public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1758
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8583 public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1817
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8584 public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1829
= new BitSet(new long[]{0x0000000000000002L
});
8585 public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1843
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001C091L
});
8586 public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1847
= new BitSet(new long[]{0x40004AC18A180902L
,0x000000000001C091L
});
8587 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1880
= new BitSet(new long[]{0x2000000000000002L
});
8588 public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1883
= new BitSet(new long[]{0x0400004000000000L
});
8589 public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1885
= new BitSet(new long[]{0x2000000000000002L
});
8590 public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1924
= new BitSet(new long[]{0x0000000000008002L
});
8591 public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1927
= new BitSet(new long[]{0x8040001000200000L
});
8592 public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1929
= new BitSet(new long[]{0x0000000000000002L
});
8593 public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1953
= new BitSet(new long[]{0x0001104000000000L
});
8594 public static final BitSet FOLLOW_variantName_in_variantSpecifier1971
= new BitSet(new long[]{0x0001100000000000L
});
8595 public static final BitSet FOLLOW_variantTag_in_variantSpecifier2001
= new BitSet(new long[]{0x0000100000000002L
});
8596 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2027
= new BitSet(new long[]{0x0000000000000002L
});
8597 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2095
= new BitSet(new long[]{0x0000000000000002L
});
8598 public static final BitSet FOLLOW_variantTag_in_variantSpecifier2116
= new BitSet(new long[]{0x0000100000000000L
});
8599 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2118
= new BitSet(new long[]{0x0000000000000002L
});
8600 public static final BitSet FOLLOW_variantBody_in_variantSpecifier2125
= new BitSet(new long[]{0x0000000000000002L
});
8601 public static final BitSet FOLLOW_IDENTIFIER_in_variantName2157
= new BitSet(new long[]{0x0000000000000002L
});
8602 public static final BitSet FOLLOW_LCURL_in_variantBody2188
= new BitSet(new long[]{0x40004AC18A180900L
,0x000000000001CC91L
});
8603 public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2190
= new BitSet(new long[]{0x0800000000000000L
});
8604 public static final BitSet FOLLOW_RCURL_in_variantBody2192
= new BitSet(new long[]{0x0000000000000002L
});
8605 public static final BitSet FOLLOW_LT_in_variantTag2219
= new BitSet(new long[]{0x0000004000000000L
});
8606 public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2221
= new BitSet(new long[]{0x0000000200000000L
});
8607 public static final BitSet FOLLOW_GT_in_variantTag2223
= new BitSet(new long[]{0x0000000000000002L
});
8608 public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2244
= new BitSet(new long[]{0x0000104000008000L
});
8609 public static final BitSet FOLLOW_enumName_in_enumSpecifier2283
= new BitSet(new long[]{0x0000100000008002L
});
8610 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2315
= new BitSet(new long[]{0x0000100000000000L
});
8611 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2317
= new BitSet(new long[]{0x0000000000000002L
});
8612 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2347
= new BitSet(new long[]{0x0000000000000002L
});
8613 public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2439
= new BitSet(new long[]{0x0000100000000000L
});
8614 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2441
= new BitSet(new long[]{0x0000000000000002L
});
8615 public static final BitSet FOLLOW_enumBody_in_enumSpecifier2465
= new BitSet(new long[]{0x0000000000000002L
});
8616 public static final BitSet FOLLOW_IDENTIFIER_in_enumName2509
= new BitSet(new long[]{0x0000000000000002L
});
8617 public static final BitSet FOLLOW_LCURL_in_enumBody2530
= new BitSet(new long[]{0x0000004040000010L
,0x0000000000000051L
});
8618 public static final BitSet FOLLOW_enumeratorList_in_enumBody2532
= new BitSet(new long[]{0x2800000000000000L
});
8619 public static final BitSet FOLLOW_SEPARATOR_in_enumBody2534
= new BitSet(new long[]{0x0800000000000000L
});
8620 public static final BitSet FOLLOW_RCURL_in_enumBody2537
= new BitSet(new long[]{0x0000000000000002L
});
8621 public static final BitSet FOLLOW_COLON_in_enumContainerType2558
= new BitSet(new long[]{0x40004AC18A180900L
,0x000000000001C891L
});
8622 public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2560
= new BitSet(new long[]{0x0000000000000002L
});
8623 public static final BitSet FOLLOW_enumerator_in_enumeratorList2581
= new BitSet(new long[]{0x2000000000000002L
});
8624 public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2584
= new BitSet(new long[]{0x0000004040000010L
,0x0000000000000051L
});
8625 public static final BitSet FOLLOW_enumerator_in_enumeratorList2586
= new BitSet(new long[]{0x2000000000000002L
});
8626 public static final BitSet FOLLOW_enumConstant_in_enumerator2612
= new BitSet(new long[]{0x0000000000000042L
});
8627 public static final BitSet FOLLOW_enumeratorValue_in_enumerator2614
= new BitSet(new long[]{0x0000000000000002L
});
8628 public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2628
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8629 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2632
= new BitSet(new long[]{0x0000000004000002L
});
8630 public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2671
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8631 public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2675
= new BitSet(new long[]{0x0000000000000002L
});
8632 public static final BitSet FOLLOW_pointer_in_declarator2718
= new BitSet(new long[]{0x0400004000000000L
});
8633 public static final BitSet FOLLOW_directDeclarator_in_declarator2721
= new BitSet(new long[]{0x0000000000000002L
});
8634 public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2759
= new BitSet(new long[]{0x0200000000000002L
});
8635 public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2799
= new BitSet(new long[]{0x0200000000000002L
});
8636 public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2813
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8637 public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2815
= new BitSet(new long[]{0x0000000000004000L
});
8638 public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2817
= new BitSet(new long[]{0x0000000000000002L
});
8639 public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2845
= new BitSet(new long[]{0x0000000000000002L
});
8640 public static final BitSet FOLLOW_pointer_in_abstractDeclarator2858
= new BitSet(new long[]{0x0400804000000002L
});
8641 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2861
= new BitSet(new long[]{0x0000000000000002L
});
8642 public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2886
= new BitSet(new long[]{0x0000000000000002L
});
8643 public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2923
= new BitSet(new long[]{0x0200000000000002L
});
8644 public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2934
= new BitSet(new long[]{0x0400804000000000L
});
8645 public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2936
= new BitSet(new long[]{0x1000000000000000L
});
8646 public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2938
= new BitSet(new long[]{0x0200000000000002L
});
8647 public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2953
= new BitSet(new long[]{0x8040005050206610L
,0x0000000000000255L
});
8648 public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2955
= new BitSet(new long[]{0x0000000000004000L
});
8649 public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2958
= new BitSet(new long[]{0x0000000000000002L
});
8650 public static final BitSet FOLLOW_POINTER_in_pointer2976
= new BitSet(new long[]{0x0000000000100002L
});
8651 public static final BitSet FOLLOW_typeQualifierList_in_pointer2978
= new BitSet(new long[]{0x0000000000000002L
});
8652 public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList3001
= new BitSet(new long[]{0x0000000000100002L
});
8653 public static final BitSet FOLLOW_IDENTIFIER_in_typedefName3017
= new BitSet(new long[]{0x0000000000000002L
});
8654 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget3034
= new BitSet(new long[]{0x0400804000000002L
});
8655 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget3036
= new BitSet(new long[]{0x0000000000000002L
});
8656 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3062
= new BitSet(new long[]{0x0000000000000002L
});
8657 public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias3068
= new BitSet(new long[]{0x0400804000000002L
});
8658 public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3070
= new BitSet(new long[]{0x0000000000000002L
});
8659 public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3084
= new BitSet(new long[]{0x40004AC18A180900L
,0x000000000001C891L
});
8660 public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3086
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000001000L
});
8661 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3088
= new BitSet(new long[]{0x4400CAC18A180900L
,0x000000000001C891L
});
8662 public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3090
= new BitSet(new long[]{0x0000000000000002L
});
8663 public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3190
= new BitSet(new long[]{0x0000100000000000L
});
8664 public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3192
= new BitSet(new long[]{0x0000000000000002L
});
8665 public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3209
= new BitSet(new long[]{0x0000000000000002L
});
8666 public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3230
= new BitSet(new long[]{0x0000000000000002L
});
8667 public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3240
= new BitSet(new long[]{0x0000000000000002L
});
8668 public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3250
= new BitSet(new long[]{0x0000000000000002L
});
8669 public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3260
= new BitSet(new long[]{0x0000000000000002L
});
8670 public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3270
= new BitSet(new long[]{0x0000000000000002L
});
8671 public static final BitSet FOLLOW_CALLSITETOK_in_ctfSpecifierHead3280
= new BitSet(new long[]{0x0000000000000002L
});
8672 public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3303
= new BitSet(new long[]{0x0000100000000000L
});
8673 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3305
= new BitSet(new long[]{0x0000000000000002L
});
8674 public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3320
= new BitSet(new long[]{0x0000100000000000L
});
8675 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3322
= new BitSet(new long[]{0x0000000000000002L
});
8676 public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3337
= new BitSet(new long[]{0x0000100000000002L
});
8677 public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3339
= new BitSet(new long[]{0x0000000000000002L
});
8678 public static final BitSet FOLLOW_LCURL_in_ctfBody3372
= new BitSet(new long[]{0xC8404AD1DA382F10L
,0x000000000001CED5L
});
8679 public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3374
= new BitSet(new long[]{0x0800000000000000L
});
8680 public static final BitSet FOLLOW_RCURL_in_ctfBody3377
= new BitSet(new long[]{0x0000000000000002L
});
8681 public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3396
= new BitSet(new long[]{0x0000000000000000L
,0x0000000000000100L
});
8682 public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3398
= new BitSet(new long[]{0xC0404AD1DA382F12L
,0x000000000001CED5L
});
8683 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3421
= new BitSet(new long[]{0x0000000000000040L
,0x0000000000001000L
});
8684 public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3433
= new BitSet(new long[]{0x8040005050202610L
,0x0000000000000255L
});
8685 public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3437
= new BitSet(new long[]{0x0000000000000002L
});
8686 public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3513
= new BitSet(new long[]{0x40004AC18A080900L
,0x000000000001C091L
});
8687 public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3517
= new BitSet(new long[]{0x0000000000000002L
});
8688 public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3600
= new BitSet(new long[]{0x0400004000000000L
});
8689 public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3604
= new BitSet(new long[]{0x0000000000000002L
});
8690 public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3627
= new BitSet(new long[]{0x0000000000000002L
});
8691 public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser560
= new BitSet(new long[]{0x0000000000000002L
});
8692 public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser586
= new BitSet(new long[]{0x0000000000000002L
});
8693 public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606
= new BitSet(new long[]{0x0000000000000002L
});