org.antlr.grammar.v3.ANTLRTreePrinter Maven / Gradle / Ivy
// $ANTLR 3.3 Nov 30, 2010 12:46:29 org/antlr/grammar/v3/ANTLRTreePrinter.g 2011-06-22 15:30:06
package org.antlr.grammar.v3;
import org.antlr.tool.*;
import java.util.StringTokenizer;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
/** Print out a grammar (no pretty printing).
*
* Terence Parr
* University of San Francisco
* August 19, 2003
*/
public class ANTLRTreePrinter extends TreeParser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "LEXER", "PARSER", "CATCH", "FINALLY", "GRAMMAR", "PRIVATE", "PROTECTED", "PUBLIC", "RETURNS", "THROWS", "TREE", "RULE", "PREC_RULE", "RECURSIVE_RULE_REF", "BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "RANGE", "CHAR_RANGE", "EPSILON", "ALT", "EOR", "EOB", "EOA", "ID", "ARG", "ARGLIST", "RET", "LEXER_GRAMMAR", "PARSER_GRAMMAR", "TREE_GRAMMAR", "COMBINED_GRAMMAR", "INITACTION", "FORCED_ACTION", "LABEL", "TEMPLATE", "SCOPE", "IMPORT", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "FRAGMENT", "DOT", "REWRITES", "ACTION", "DOC_COMMENT", "SEMI", "AMPERSAND", "COLON", "OPTIONS", "RCURLY", "ASSIGN", "STRING_LITERAL", "CHAR_LITERAL", "INT", "STAR", "COMMA", "TOKENS", "TOKEN_REF", "BANG", "ARG_ACTION", "OR", "LPAREN", "RPAREN", "PLUS_ASSIGN", "SEMPRED", "IMPLIES", "ROOT", "WILDCARD", "RULE_REF", "NOT", "TREE_BEGIN", "QUESTION", "PLUS", "OPEN_ELEMENT_OPTION", "CLOSE_ELEMENT_OPTION", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "REWRITE", "ETC", "DOLLAR", "WS", "SL_COMMENT", "ML_COMMENT", "COMMENT", "SRC", "STRAY_BRACKET", "ESC", "DIGIT", "XDIGIT", "NESTED_ARG_ACTION", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "NESTED_ACTION", "ACTION_ESC", "WS_LOOP", "WS_OPT"
};
public static final int EOF=-1;
public static final int LEXER=4;
public static final int PARSER=5;
public static final int CATCH=6;
public static final int FINALLY=7;
public static final int GRAMMAR=8;
public static final int PRIVATE=9;
public static final int PROTECTED=10;
public static final int PUBLIC=11;
public static final int RETURNS=12;
public static final int THROWS=13;
public static final int TREE=14;
public static final int RULE=15;
public static final int PREC_RULE=16;
public static final int RECURSIVE_RULE_REF=17;
public static final int BLOCK=18;
public static final int OPTIONAL=19;
public static final int CLOSURE=20;
public static final int POSITIVE_CLOSURE=21;
public static final int SYNPRED=22;
public static final int RANGE=23;
public static final int CHAR_RANGE=24;
public static final int EPSILON=25;
public static final int ALT=26;
public static final int EOR=27;
public static final int EOB=28;
public static final int EOA=29;
public static final int ID=30;
public static final int ARG=31;
public static final int ARGLIST=32;
public static final int RET=33;
public static final int LEXER_GRAMMAR=34;
public static final int PARSER_GRAMMAR=35;
public static final int TREE_GRAMMAR=36;
public static final int COMBINED_GRAMMAR=37;
public static final int INITACTION=38;
public static final int FORCED_ACTION=39;
public static final int LABEL=40;
public static final int TEMPLATE=41;
public static final int SCOPE=42;
public static final int IMPORT=43;
public static final int GATED_SEMPRED=44;
public static final int SYN_SEMPRED=45;
public static final int BACKTRACK_SEMPRED=46;
public static final int FRAGMENT=47;
public static final int DOT=48;
public static final int REWRITES=49;
public static final int ACTION=50;
public static final int DOC_COMMENT=51;
public static final int SEMI=52;
public static final int AMPERSAND=53;
public static final int COLON=54;
public static final int OPTIONS=55;
public static final int RCURLY=56;
public static final int ASSIGN=57;
public static final int STRING_LITERAL=58;
public static final int CHAR_LITERAL=59;
public static final int INT=60;
public static final int STAR=61;
public static final int COMMA=62;
public static final int TOKENS=63;
public static final int TOKEN_REF=64;
public static final int BANG=65;
public static final int ARG_ACTION=66;
public static final int OR=67;
public static final int LPAREN=68;
public static final int RPAREN=69;
public static final int PLUS_ASSIGN=70;
public static final int SEMPRED=71;
public static final int IMPLIES=72;
public static final int ROOT=73;
public static final int WILDCARD=74;
public static final int RULE_REF=75;
public static final int NOT=76;
public static final int TREE_BEGIN=77;
public static final int QUESTION=78;
public static final int PLUS=79;
public static final int OPEN_ELEMENT_OPTION=80;
public static final int CLOSE_ELEMENT_OPTION=81;
public static final int DOUBLE_QUOTE_STRING_LITERAL=82;
public static final int DOUBLE_ANGLE_STRING_LITERAL=83;
public static final int REWRITE=84;
public static final int ETC=85;
public static final int DOLLAR=86;
public static final int WS=87;
public static final int SL_COMMENT=88;
public static final int ML_COMMENT=89;
public static final int COMMENT=90;
public static final int SRC=91;
public static final int STRAY_BRACKET=92;
public static final int ESC=93;
public static final int DIGIT=94;
public static final int XDIGIT=95;
public static final int NESTED_ARG_ACTION=96;
public static final int ACTION_STRING_LITERAL=97;
public static final int ACTION_CHAR_LITERAL=98;
public static final int NESTED_ACTION=99;
public static final int ACTION_ESC=100;
public static final int WS_LOOP=101;
public static final int WS_OPT=102;
// delegates
// delegators
public ANTLRTreePrinter(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public ANTLRTreePrinter(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return ANTLRTreePrinter.tokenNames; }
public String getGrammarFileName() { return "org/antlr/grammar/v3/ANTLRTreePrinter.g"; }
protected Grammar grammar;
protected boolean showActions;
protected StringBuilder buf = new StringBuilder(300);
private ANTLRTreePrinter.block_return block(GrammarAST t, boolean forceParens) throws RecognitionException {
ANTLRTreePrinter other = new ANTLRTreePrinter(new CommonTreeNodeStream(t));
other.buf = buf;
return other.block(forceParens);
}
public final int countAltsForBlock(GrammarAST t) {
int n = 0;
for ( int i = 0; i < t.getChildCount(); i++ )
{
if ( t.getChild(i).getType() == ALT )
n++;
}
return n;
}
public void out(String s) {
buf.append(s);
}
@Override
public void reportError(RecognitionException ex) {
Token token = null;
if (ex instanceof MismatchedTokenException) {
token = ((MismatchedTokenException)ex).token;
} else if (ex instanceof NoViableAltException) {
token = ((NoViableAltException)ex).token;
}
ErrorManager.syntaxError(
ErrorManager.MSG_SYNTAX_ERROR,
grammar,
token,
"antlr.print: " + ex.toString(),
ex );
}
/** Normalize a grammar print out by removing all double spaces
* and trailing/beginning stuff. FOr example, convert
*
* ( A | B | C )*
*
* to
*
* ( A | B | C )*
*/
public static String normalize(String g) {
StringTokenizer st = new StringTokenizer(g, " ", false);
StringBuffer buf = new StringBuffer();
while ( st.hasMoreTokens() ) {
String w = st.nextToken();
buf.append(w);
buf.append(" ");
}
return buf.toString().trim();
}
// $ANTLR start "toString"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:117:1: public toString[Grammar g, boolean showActions] returns [String s=null] : ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR ) ;
public final String toString(Grammar g, boolean showActions) throws RecognitionException {
String s = null;
grammar = g;
this.showActions = showActions;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:124:2: ( ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:124:4: ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR )
{
// org/antlr/grammar/v3/ANTLRTreePrinter.g:124:4: ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR )
int alt1=7;
switch ( input.LA(1) ) {
case LEXER_GRAMMAR:
case PARSER_GRAMMAR:
case TREE_GRAMMAR:
case COMBINED_GRAMMAR:
{
alt1=1;
}
break;
case RULE:
{
alt1=2;
}
break;
case ALT:
{
alt1=3;
}
break;
case BLOCK:
case OPTIONAL:
case CLOSURE:
case POSITIVE_CLOSURE:
case SYNPRED:
case RANGE:
case CHAR_RANGE:
case EPSILON:
case FORCED_ACTION:
case LABEL:
case GATED_SEMPRED:
case SYN_SEMPRED:
case BACKTRACK_SEMPRED:
case DOT:
case ACTION:
case ASSIGN:
case STRING_LITERAL:
case CHAR_LITERAL:
case TOKEN_REF:
case BANG:
case PLUS_ASSIGN:
case SEMPRED:
case ROOT:
case WILDCARD:
case RULE_REF:
case NOT:
case TREE_BEGIN:
{
alt1=4;
}
break;
case REWRITE:
{
alt1=5;
}
break;
case EOF:
case REWRITES:
{
alt1=6;
}
break;
case EOR:
{
alt1=7;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:124:6: grammar_
{
pushFollow(FOLLOW_grammar__in_toString67);
grammar_();
state._fsp--;
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:125:5: rule
{
pushFollow(FOLLOW_rule_in_toString73);
rule();
state._fsp--;
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:126:5: alternative
{
pushFollow(FOLLOW_alternative_in_toString79);
alternative();
state._fsp--;
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:127:5: element
{
pushFollow(FOLLOW_element_in_toString85);
element();
state._fsp--;
}
break;
case 5 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:128:5: single_rewrite
{
pushFollow(FOLLOW_single_rewrite_in_toString91);
single_rewrite();
state._fsp--;
}
break;
case 6 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:129:5: rewrite
{
pushFollow(FOLLOW_rewrite_in_toString97);
rewrite();
state._fsp--;
}
break;
case 7 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:130:5: EOR
{
match(input,EOR,FOLLOW_EOR_in_toString103);
}
break;
}
return normalize(buf.toString());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return s;
}
// $ANTLR end "toString"
// $ANTLR start "grammar_"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:137:1: grammar_ : ( ^( LEXER_GRAMMAR grammarSpec[\"lexer \" ] ) | ^( PARSER_GRAMMAR grammarSpec[\"parser \"] ) | ^( TREE_GRAMMAR grammarSpec[\"tree \"] ) | ^( COMBINED_GRAMMAR grammarSpec[\"\"] ) );
public final void grammar_() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:138:2: ( ^( LEXER_GRAMMAR grammarSpec[\"lexer \" ] ) | ^( PARSER_GRAMMAR grammarSpec[\"parser \"] ) | ^( TREE_GRAMMAR grammarSpec[\"tree \"] ) | ^( COMBINED_GRAMMAR grammarSpec[\"\"] ) )
int alt2=4;
switch ( input.LA(1) ) {
case LEXER_GRAMMAR:
{
alt2=1;
}
break;
case PARSER_GRAMMAR:
{
alt2=2;
}
break;
case TREE_GRAMMAR:
{
alt2=3;
}
break;
case COMBINED_GRAMMAR:
{
alt2=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:138:4: ^( LEXER_GRAMMAR grammarSpec[\"lexer \" ] )
{
match(input,LEXER_GRAMMAR,FOLLOW_LEXER_GRAMMAR_in_grammar_127);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_129);
grammarSpec("lexer ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:139:4: ^( PARSER_GRAMMAR grammarSpec[\"parser \"] )
{
match(input,PARSER_GRAMMAR,FOLLOW_PARSER_GRAMMAR_in_grammar_139);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_141);
grammarSpec("parser ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:140:4: ^( TREE_GRAMMAR grammarSpec[\"tree \"] )
{
match(input,TREE_GRAMMAR,FOLLOW_TREE_GRAMMAR_in_grammar_151);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_153);
grammarSpec("tree ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:141:4: ^( COMBINED_GRAMMAR grammarSpec[\"\"] )
{
match(input,COMBINED_GRAMMAR,FOLLOW_COMBINED_GRAMMAR_in_grammar_163);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_165);
grammarSpec("");
state._fsp--;
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "grammar_"
// $ANTLR start "attrScope"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:144:1: attrScope : ^( 'scope' ID ( ruleAction )* ACTION ) ;
public final void attrScope() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:145:2: ( ^( 'scope' ID ( ruleAction )* ACTION ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:145:4: ^( 'scope' ID ( ruleAction )* ACTION )
{
match(input,SCOPE,FOLLOW_SCOPE_in_attrScope181);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_attrScope183);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:145:18: ( ruleAction )*
loop3:
do {
int alt3=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt3=1;
}
break;
}
switch (alt3) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:145:18: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_attrScope185);
ruleAction();
state._fsp--;
}
break;
default :
break loop3;
}
} while (true);
match(input,ACTION,FOLLOW_ACTION_in_attrScope188);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "attrScope"
// $ANTLR start "grammarSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:148:1: grammarSpec[String gtype] : id= ID (cmt= DOC_COMMENT )? ( optionsSpec )? ( delegateGrammars )? ( tokensSpec )? ( attrScope )* ( actions )? rules ;
public final void grammarSpec(String gtype) throws RecognitionException {
GrammarAST id=null;
GrammarAST cmt=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:149:2: (id= ID (cmt= DOC_COMMENT )? ( optionsSpec )? ( delegateGrammars )? ( tokensSpec )? ( attrScope )* ( actions )? rules )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:149:4: id= ID (cmt= DOC_COMMENT )? ( optionsSpec )? ( delegateGrammars )? ( tokensSpec )? ( attrScope )* ( actions )? rules
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_grammarSpec204);
out(gtype+"grammar "+(id!=null?id.getText():null));
// org/antlr/grammar/v3/ANTLRTreePrinter.g:150:3: (cmt= DOC_COMMENT )?
int alt4=2;
switch ( input.LA(1) ) {
case DOC_COMMENT:
{
alt4=1;
}
break;
}
switch (alt4) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:150:4: cmt= DOC_COMMENT
{
cmt=(GrammarAST)match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_grammarSpec213);
out((cmt!=null?cmt.getText():null)+"\n");
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:151:3: ( optionsSpec )?
int alt5=2;
switch ( input.LA(1) ) {
case OPTIONS:
{
alt5=1;
}
break;
}
switch (alt5) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:151:4: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_grammarSpec223);
optionsSpec();
state._fsp--;
}
break;
}
out(";\n");
// org/antlr/grammar/v3/ANTLRTreePrinter.g:152:3: ( delegateGrammars )?
int alt6=2;
switch ( input.LA(1) ) {
case IMPORT:
{
alt6=1;
}
break;
}
switch (alt6) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:152:4: delegateGrammars
{
pushFollow(FOLLOW_delegateGrammars_in_grammarSpec232);
delegateGrammars();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:153:3: ( tokensSpec )?
int alt7=2;
switch ( input.LA(1) ) {
case TOKENS:
{
alt7=1;
}
break;
}
switch (alt7) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:153:4: tokensSpec
{
pushFollow(FOLLOW_tokensSpec_in_grammarSpec239);
tokensSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:154:3: ( attrScope )*
loop8:
do {
int alt8=2;
switch ( input.LA(1) ) {
case SCOPE:
{
alt8=1;
}
break;
}
switch (alt8) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:154:4: attrScope
{
pushFollow(FOLLOW_attrScope_in_grammarSpec246);
attrScope();
state._fsp--;
}
break;
default :
break loop8;
}
} while (true);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:155:3: ( actions )?
int alt9=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt9=1;
}
break;
}
switch (alt9) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:155:4: actions
{
pushFollow(FOLLOW_actions_in_grammarSpec253);
actions();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_rules_in_grammarSpec259);
rules();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "grammarSpec"
// $ANTLR start "actions"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:159:1: actions : ( action )+ ;
public final void actions() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:160:2: ( ( action )+ )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:160:4: ( action )+
{
// org/antlr/grammar/v3/ANTLRTreePrinter.g:160:4: ( action )+
int cnt10=0;
loop10:
do {
int alt10=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt10=1;
}
break;
}
switch (alt10) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:160:6: action
{
pushFollow(FOLLOW_action_in_actions272);
action();
state._fsp--;
}
break;
default :
if ( cnt10 >= 1 ) break loop10;
EarlyExitException eee =
new EarlyExitException(10, input);
throw eee;
}
cnt10++;
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "actions"
// $ANTLR start "action"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:163:1: action : ^( AMPERSAND id1= ID (id2= ID a1= ACTION | a2= ACTION ) ) ;
public final void action() throws RecognitionException {
GrammarAST id1=null;
GrammarAST id2=null;
GrammarAST a1=null;
GrammarAST a2=null;
String scope=null, name=null;
String action=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:168:2: ( ^( AMPERSAND id1= ID (id2= ID a1= ACTION | a2= ACTION ) ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:168:4: ^( AMPERSAND id1= ID (id2= ID a1= ACTION | a2= ACTION ) )
{
match(input,AMPERSAND,FOLLOW_AMPERSAND_in_action293);
match(input, Token.DOWN, null);
id1=(GrammarAST)match(input,ID,FOLLOW_ID_in_action297);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:169:4: (id2= ID a1= ACTION | a2= ACTION )
int alt11=2;
switch ( input.LA(1) ) {
case ID:
{
alt11=1;
}
break;
case ACTION:
{
alt11=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:169:6: id2= ID a1= ACTION
{
id2=(GrammarAST)match(input,ID,FOLLOW_ID_in_action306);
a1=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_action310);
scope=(id1!=null?id1.getText():null); name=(a1!=null?a1.getText():null); action=(a1!=null?a1.getText():null);
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:171:6: a2= ACTION
{
a2=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_action325);
scope=null; name=(id1!=null?id1.getText():null); action=(a2!=null?a2.getText():null);
}
break;
}
match(input, Token.UP, null);
if ( showActions )
{
out("@"+(scope!=null?scope+"::":"")+name+action);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "action"
// $ANTLR start "optionsSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:183:1: optionsSpec : ^( OPTIONS ( option )+ ) ;
public final void optionsSpec() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:184:2: ( ^( OPTIONS ( option )+ ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:184:4: ^( OPTIONS ( option )+ )
{
match(input,OPTIONS,FOLLOW_OPTIONS_in_optionsSpec357);
out(" options {");
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:185:4: ( option )+
int cnt12=0;
loop12:
do {
int alt12=2;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt12=1;
}
break;
}
switch (alt12) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:185:5: option
{
pushFollow(FOLLOW_option_in_optionsSpec365);
option();
state._fsp--;
out("; ");
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
EarlyExitException eee =
new EarlyExitException(12, input);
throw eee;
}
cnt12++;
} while (true);
out("} ");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "optionsSpec"
// $ANTLR start "option"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:190:1: option : ^( ASSIGN id= ID optionValue ) ;
public final void option() throws RecognitionException {
GrammarAST id=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:191:2: ( ^( ASSIGN id= ID optionValue ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:191:4: ^( ASSIGN id= ID optionValue )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_option391);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_option395);
out((id!=null?id.getText():null)+"=");
pushFollow(FOLLOW_optionValue_in_option399);
optionValue();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "option"
// $ANTLR start "optionValue"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:194:1: optionValue : (id= ID | s= STRING_LITERAL | c= CHAR_LITERAL | i= INT );
public final void optionValue() throws RecognitionException {
GrammarAST id=null;
GrammarAST s=null;
GrammarAST c=null;
GrammarAST i=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:195:2: (id= ID | s= STRING_LITERAL | c= CHAR_LITERAL | i= INT )
int alt13=4;
switch ( input.LA(1) ) {
case ID:
{
alt13=1;
}
break;
case STRING_LITERAL:
{
alt13=2;
}
break;
case CHAR_LITERAL:
{
alt13=3;
}
break;
case INT:
{
alt13=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:195:4: id= ID
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_optionValue414);
out((id!=null?id.getText():null));
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:196:4: s= STRING_LITERAL
{
s=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_optionValue434);
out((s!=null?s.getText():null));
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:197:4: c= CHAR_LITERAL
{
c=(GrammarAST)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_optionValue443);
out((c!=null?c.getText():null));
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:198:4: i= INT
{
i=(GrammarAST)match(input,INT,FOLLOW_INT_in_optionValue454);
out((i!=null?i.getText():null));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "optionValue"
// $ANTLR start "delegateGrammars"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:214:1: delegateGrammars : ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ ) ;
public final void delegateGrammars() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:215:2: ( ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:215:4: ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ )
{
match(input,IMPORT,FOLLOW_IMPORT_in_delegateGrammars484);
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:215:16: ( ^( ASSIGN ID ID ) | ID )+
int cnt14=0;
loop14:
do {
int alt14=3;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt14=1;
}
break;
case ID:
{
alt14=2;
}
break;
}
switch (alt14) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:215:18: ^( ASSIGN ID ID )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_delegateGrammars489);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_delegateGrammars491);
match(input,ID,FOLLOW_ID_in_delegateGrammars493);
match(input, Token.UP, null);
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:215:36: ID
{
match(input,ID,FOLLOW_ID_in_delegateGrammars498);
}
break;
default :
if ( cnt14 >= 1 ) break loop14;
EarlyExitException eee =
new EarlyExitException(14, input);
throw eee;
}
cnt14++;
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "delegateGrammars"
// $ANTLR start "tokensSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:218:1: tokensSpec : ^( TOKENS ( tokenSpec )* ) ;
public final void tokensSpec() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:219:2: ( ^( TOKENS ( tokenSpec )* ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:219:4: ^( TOKENS ( tokenSpec )* )
{
match(input,TOKENS,FOLLOW_TOKENS_in_tokensSpec515);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:219:13: ( tokenSpec )*
loop15:
do {
int alt15=2;
switch ( input.LA(1) ) {
case ASSIGN:
case TOKEN_REF:
{
alt15=1;
}
break;
}
switch (alt15) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:219:13: tokenSpec
{
pushFollow(FOLLOW_tokenSpec_in_tokensSpec517);
tokenSpec();
state._fsp--;
}
break;
default :
break loop15;
}
} while (true);
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "tokensSpec"
// $ANTLR start "tokenSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:222:1: tokenSpec : ( TOKEN_REF | ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) ) );
public final void tokenSpec() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:223:2: ( TOKEN_REF | ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) ) )
int alt16=2;
switch ( input.LA(1) ) {
case TOKEN_REF:
{
alt16=1;
}
break;
case ASSIGN:
{
alt16=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 16, 0, input);
throw nvae;
}
switch (alt16) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:223:4: TOKEN_REF
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenSpec530);
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:224:4: ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_tokenSpec537);
match(input, Token.DOWN, null);
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenSpec539);
if ( (input.LA(1)>=STRING_LITERAL && input.LA(1)<=CHAR_LITERAL) ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "tokenSpec"
// $ANTLR start "rules"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:227:1: rules : ( rule | precRule )+ ;
public final void rules() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:228:2: ( ( rule | precRule )+ )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:228:4: ( rule | precRule )+
{
// org/antlr/grammar/v3/ANTLRTreePrinter.g:228:4: ( rule | precRule )+
int cnt17=0;
loop17:
do {
int alt17=3;
switch ( input.LA(1) ) {
case RULE:
{
alt17=1;
}
break;
case PREC_RULE:
{
alt17=2;
}
break;
}
switch (alt17) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:228:6: rule
{
pushFollow(FOLLOW_rule_in_rules560);
rule();
state._fsp--;
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:228:13: precRule
{
pushFollow(FOLLOW_precRule_in_rules564);
precRule();
state._fsp--;
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
EarlyExitException eee =
new EarlyExitException(17, input);
throw eee;
}
cnt17++;
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rules"
// $ANTLR start "rule"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:231:1: rule : ^( RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR ) ;
public final void rule() throws RecognitionException {
GrammarAST id=null;
GrammarAST arg=null;
GrammarAST ret=null;
ANTLRTreePrinter.block_return b = null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:232:2: ( ^( RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:232:4: ^( RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR )
{
match(input,RULE,FOLLOW_RULE_in_rule580);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_rule584);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:233:4: ( modifier )?
int alt18=2;
switch ( input.LA(1) ) {
case PRIVATE:
case PROTECTED:
case PUBLIC:
case FRAGMENT:
{
alt18=1;
}
break;
}
switch (alt18) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:233:5: modifier
{
pushFollow(FOLLOW_modifier_in_rule590);
modifier();
state._fsp--;
}
break;
}
out((id!=null?id.getText():null));
match(input,ARG,FOLLOW_ARG_in_rule603);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:235:10: (arg= ARG_ACTION )?
int alt19=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt19=1;
}
break;
}
switch (alt19) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:235:11: arg= ARG_ACTION
{
arg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule608);
out("["+(arg!=null?arg.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
match(input,RET,FOLLOW_RET_in_rule621);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:236:10: (ret= ARG_ACTION )?
int alt20=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt20=1;
}
break;
}
switch (alt20) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:236:11: ret= ARG_ACTION
{
ret=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule626);
out(" returns ["+(ret!=null?ret.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:237:4: ( throwsSpec )?
int alt21=2;
switch ( input.LA(1) ) {
case THROWS:
{
alt21=1;
}
break;
}
switch (alt21) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:237:5: throwsSpec
{
pushFollow(FOLLOW_throwsSpec_in_rule639);
throwsSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:238:4: ( optionsSpec )?
int alt22=2;
switch ( input.LA(1) ) {
case OPTIONS:
{
alt22=1;
}
break;
}
switch (alt22) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:238:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_rule647);
optionsSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:239:4: ( ruleScopeSpec )?
int alt23=2;
switch ( input.LA(1) ) {
case SCOPE:
{
alt23=1;
}
break;
}
switch (alt23) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:239:5: ruleScopeSpec
{
pushFollow(FOLLOW_ruleScopeSpec_in_rule655);
ruleScopeSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:240:4: ( ruleAction )*
loop24:
do {
int alt24=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt24=1;
}
break;
}
switch (alt24) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:240:5: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_rule663);
ruleAction();
state._fsp--;
}
break;
default :
break loop24;
}
} while (true);
out(" :");
if ( input.LA(5) == NOT || input.LA(5) == ASSIGN )
out(" ");
pushFollow(FOLLOW_block_in_rule682);
b=block(false);
state._fsp--;
// org/antlr/grammar/v3/ANTLRTreePrinter.g:247:4: ( exceptionGroup )?
int alt25=2;
switch ( input.LA(1) ) {
case CATCH:
case FINALLY:
{
alt25=1;
}
break;
}
switch (alt25) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:247:5: exceptionGroup
{
pushFollow(FOLLOW_exceptionGroup_in_rule689);
exceptionGroup();
state._fsp--;
}
break;
}
match(input,EOR,FOLLOW_EOR_in_rule696);
out(";\n");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rule"
// $ANTLR start "precRule"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:252:1: precRule : ^( PREC_RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR ) ;
public final void precRule() throws RecognitionException {
GrammarAST id=null;
GrammarAST arg=null;
GrammarAST ret=null;
ANTLRTreePrinter.block_return b = null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:253:2: ( ^( PREC_RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:253:4: ^( PREC_RULE id= ID ( modifier )? ^( ARG (arg= ARG_ACTION )? ) ^( RET (ret= ARG_ACTION )? ) ( throwsSpec )? ( optionsSpec )? ( ruleScopeSpec )? ( ruleAction )* b= block[false] ( exceptionGroup )? EOR )
{
match(input,PREC_RULE,FOLLOW_PREC_RULE_in_precRule715);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_precRule719);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:254:4: ( modifier )?
int alt26=2;
switch ( input.LA(1) ) {
case PRIVATE:
case PROTECTED:
case PUBLIC:
case FRAGMENT:
{
alt26=1;
}
break;
}
switch (alt26) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:254:5: modifier
{
pushFollow(FOLLOW_modifier_in_precRule725);
modifier();
state._fsp--;
}
break;
}
out((id!=null?id.getText():null));
match(input,ARG,FOLLOW_ARG_in_precRule738);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:256:10: (arg= ARG_ACTION )?
int alt27=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt27=1;
}
break;
}
switch (alt27) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:256:11: arg= ARG_ACTION
{
arg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_precRule743);
out("["+(arg!=null?arg.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
match(input,RET,FOLLOW_RET_in_precRule756);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:257:10: (ret= ARG_ACTION )?
int alt28=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt28=1;
}
break;
}
switch (alt28) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:257:11: ret= ARG_ACTION
{
ret=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_precRule761);
out(" returns ["+(ret!=null?ret.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:258:4: ( throwsSpec )?
int alt29=2;
switch ( input.LA(1) ) {
case THROWS:
{
alt29=1;
}
break;
}
switch (alt29) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:258:5: throwsSpec
{
pushFollow(FOLLOW_throwsSpec_in_precRule774);
throwsSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:259:4: ( optionsSpec )?
int alt30=2;
switch ( input.LA(1) ) {
case OPTIONS:
{
alt30=1;
}
break;
}
switch (alt30) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:259:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_precRule782);
optionsSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:260:4: ( ruleScopeSpec )?
int alt31=2;
switch ( input.LA(1) ) {
case SCOPE:
{
alt31=1;
}
break;
}
switch (alt31) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:260:5: ruleScopeSpec
{
pushFollow(FOLLOW_ruleScopeSpec_in_precRule790);
ruleScopeSpec();
state._fsp--;
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:261:4: ( ruleAction )*
loop32:
do {
int alt32=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt32=1;
}
break;
}
switch (alt32) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:261:5: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_precRule798);
ruleAction();
state._fsp--;
}
break;
default :
break loop32;
}
} while (true);
out(" :");
if ( input.LA(5) == NOT || input.LA(5) == ASSIGN )
out(" ");
pushFollow(FOLLOW_block_in_precRule817);
b=block(false);
state._fsp--;
// org/antlr/grammar/v3/ANTLRTreePrinter.g:268:4: ( exceptionGroup )?
int alt33=2;
switch ( input.LA(1) ) {
case CATCH:
case FINALLY:
{
alt33=1;
}
break;
}
switch (alt33) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:268:5: exceptionGroup
{
pushFollow(FOLLOW_exceptionGroup_in_precRule824);
exceptionGroup();
state._fsp--;
}
break;
}
match(input,EOR,FOLLOW_EOR_in_precRule831);
out(";\n");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "precRule"
// $ANTLR start "ruleAction"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:273:1: ruleAction : ^( AMPERSAND id= ID a= ACTION ) ;
public final void ruleAction() throws RecognitionException {
GrammarAST id=null;
GrammarAST a=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:274:2: ( ^( AMPERSAND id= ID a= ACTION ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:274:4: ^( AMPERSAND id= ID a= ACTION )
{
match(input,AMPERSAND,FOLLOW_AMPERSAND_in_ruleAction849);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_ruleAction853);
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_ruleAction857);
match(input, Token.UP, null);
if ( showActions ) out("@"+(id!=null?id.getText():null)+"{"+(a!=null?a.getText():null)+"}");
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "ruleAction"
public static class modifier_return extends TreeRuleReturnScope {
};
// $ANTLR start "modifier"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:278:1: modifier : ( 'protected' | 'public' | 'private' | 'fragment' );
public final ANTLRTreePrinter.modifier_return modifier() throws RecognitionException {
ANTLRTreePrinter.modifier_return retval = new ANTLRTreePrinter.modifier_return();
retval.start = input.LT(1);
out(((GrammarAST)retval.start).getText()); out(" ");
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:281:2: ( 'protected' | 'public' | 'private' | 'fragment' )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:
{
if ( (input.LA(1)>=PRIVATE && input.LA(1)<=PUBLIC)||input.LA(1)==FRAGMENT ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "modifier"
// $ANTLR start "throwsSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:287:1: throwsSpec : ^( 'throws' ( ID )+ ) ;
public final void throwsSpec() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:288:2: ( ^( 'throws' ( ID )+ ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:288:4: ^( 'throws' ( ID )+ )
{
match(input,THROWS,FOLLOW_THROWS_in_throwsSpec906);
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:288:15: ( ID )+
int cnt34=0;
loop34:
do {
int alt34=2;
switch ( input.LA(1) ) {
case ID:
{
alt34=1;
}
break;
}
switch (alt34) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:288:15: ID
{
match(input,ID,FOLLOW_ID_in_throwsSpec908);
}
break;
default :
if ( cnt34 >= 1 ) break loop34;
EarlyExitException eee =
new EarlyExitException(34, input);
throw eee;
}
cnt34++;
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "throwsSpec"
// $ANTLR start "ruleScopeSpec"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:291:1: ruleScopeSpec : ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* ) ;
public final void ruleScopeSpec() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:2: ( ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:4: ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* )
{
match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec923);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:15: ( ruleAction )*
loop35:
do {
int alt35=2;
switch ( input.LA(1) ) {
case AMPERSAND:
{
alt35=1;
}
break;
}
switch (alt35) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:15: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_ruleScopeSpec925);
ruleAction();
state._fsp--;
}
break;
default :
break loop35;
}
} while (true);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:27: ( ACTION )?
int alt36=2;
switch ( input.LA(1) ) {
case ACTION:
{
alt36=1;
}
break;
}
switch (alt36) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:28: ACTION
{
match(input,ACTION,FOLLOW_ACTION_in_ruleScopeSpec929);
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:37: ( ID )*
loop37:
do {
int alt37=2;
switch ( input.LA(1) ) {
case ID:
{
alt37=1;
}
break;
}
switch (alt37) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:292:39: ID
{
match(input,ID,FOLLOW_ID_in_ruleScopeSpec935);
}
break;
default :
break loop37;
}
} while (true);
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "ruleScopeSpec"
public static class block_return extends TreeRuleReturnScope {
};
// $ANTLR start "block"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:295:1: block[boolean forceParens] : ^( BLOCK ( optionsSpec )? alternative rewrite ( alternative rewrite )* EOB ) ;
public final ANTLRTreePrinter.block_return block(boolean forceParens) throws RecognitionException {
ANTLRTreePrinter.block_return retval = new ANTLRTreePrinter.block_return();
retval.start = input.LT(1);
int numAlts = countAltsForBlock(((GrammarAST)retval.start));
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:300:2: ( ^( BLOCK ( optionsSpec )? alternative rewrite ( alternative rewrite )* EOB ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:300:4: ^( BLOCK ( optionsSpec )? alternative rewrite ( alternative rewrite )* EOB )
{
match(input,BLOCK,FOLLOW_BLOCK_in_block959);
if ( forceParens||numAlts>1 )
{
//for ( Antlr.Runtime.Tree.Tree parent = ((GrammarAST)retval.start).getParent(); parent != null && parent.getType() != RULE; parent = parent.getParent() )
//{
// if ( parent.getType() == BLOCK && countAltsForBlock((GrammarAST)parent) > 1 )
// {
// out(" ");
// break;
// }
//}
out(" (");
}
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:315:4: ( optionsSpec )?
int alt38=2;
switch ( input.LA(1) ) {
case OPTIONS:
{
alt38=1;
}
break;
}
switch (alt38) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:315:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_block970);
optionsSpec();
state._fsp--;
out(" :");
}
break;
}
pushFollow(FOLLOW_alternative_in_block980);
alternative();
state._fsp--;
pushFollow(FOLLOW_rewrite_in_block982);
rewrite();
state._fsp--;
// org/antlr/grammar/v3/ANTLRTreePrinter.g:316:24: ( alternative rewrite )*
loop39:
do {
int alt39=2;
switch ( input.LA(1) ) {
case ALT:
{
alt39=1;
}
break;
}
switch (alt39) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:316:26: alternative rewrite
{
out("|");
pushFollow(FOLLOW_alternative_in_block988);
alternative();
state._fsp--;
pushFollow(FOLLOW_rewrite_in_block990);
rewrite();
state._fsp--;
}
break;
default :
break loop39;
}
} while (true);
match(input,EOB,FOLLOW_EOB_in_block998);
if ( forceParens||numAlts>1 ) out(")");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "block"
// $ANTLR start "alternative"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:321:1: alternative : ^( ALT ( element )* EOA ) ;
public final void alternative() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:322:2: ( ^( ALT ( element )* EOA ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:322:4: ^( ALT ( element )* EOA )
{
match(input,ALT,FOLLOW_ALT_in_alternative1020);
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:322:11: ( element )*
loop40:
do {
int alt40=2;
switch ( input.LA(1) ) {
case BLOCK:
case OPTIONAL:
case CLOSURE:
case POSITIVE_CLOSURE:
case SYNPRED:
case RANGE:
case CHAR_RANGE:
case EPSILON:
case FORCED_ACTION:
case LABEL:
case GATED_SEMPRED:
case SYN_SEMPRED:
case BACKTRACK_SEMPRED:
case DOT:
case ACTION:
case ASSIGN:
case STRING_LITERAL:
case CHAR_LITERAL:
case TOKEN_REF:
case BANG:
case PLUS_ASSIGN:
case SEMPRED:
case ROOT:
case WILDCARD:
case RULE_REF:
case NOT:
case TREE_BEGIN:
{
alt40=1;
}
break;
}
switch (alt40) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:322:11: element
{
pushFollow(FOLLOW_element_in_alternative1022);
element();
state._fsp--;
}
break;
default :
break loop40;
}
} while (true);
match(input,EOA,FOLLOW_EOA_in_alternative1025);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "alternative"
// $ANTLR start "exceptionGroup"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:325:1: exceptionGroup : ( ( exceptionHandler )+ ( finallyClause )? | finallyClause );
public final void exceptionGroup() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:2: ( ( exceptionHandler )+ ( finallyClause )? | finallyClause )
int alt43=2;
switch ( input.LA(1) ) {
case CATCH:
{
alt43=1;
}
break;
case FINALLY:
{
alt43=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:4: ( exceptionHandler )+ ( finallyClause )?
{
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:4: ( exceptionHandler )+
int cnt41=0;
loop41:
do {
int alt41=2;
switch ( input.LA(1) ) {
case CATCH:
{
alt41=1;
}
break;
}
switch (alt41) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:6: exceptionHandler
{
pushFollow(FOLLOW_exceptionHandler_in_exceptionGroup1040);
exceptionHandler();
state._fsp--;
}
break;
default :
if ( cnt41 >= 1 ) break loop41;
EarlyExitException eee =
new EarlyExitException(41, input);
throw eee;
}
cnt41++;
} while (true);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:26: ( finallyClause )?
int alt42=2;
switch ( input.LA(1) ) {
case FINALLY:
{
alt42=1;
}
break;
}
switch (alt42) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:326:27: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1046);
finallyClause();
state._fsp--;
}
break;
}
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:327:4: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1053);
finallyClause();
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "exceptionGroup"
// $ANTLR start "exceptionHandler"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:330:1: exceptionHandler : ^( 'catch' ARG_ACTION ACTION ) ;
public final void exceptionHandler() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:331:2: ( ^( 'catch' ARG_ACTION ACTION ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:331:4: ^( 'catch' ARG_ACTION ACTION )
{
match(input,CATCH,FOLLOW_CATCH_in_exceptionHandler1065);
match(input, Token.DOWN, null);
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_exceptionHandler1067);
match(input,ACTION,FOLLOW_ACTION_in_exceptionHandler1069);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "exceptionHandler"
// $ANTLR start "finallyClause"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:334:1: finallyClause : ^( 'finally' ACTION ) ;
public final void finallyClause() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:335:2: ( ^( 'finally' ACTION ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:335:4: ^( 'finally' ACTION )
{
match(input,FINALLY,FOLLOW_FINALLY_in_finallyClause1082);
match(input, Token.DOWN, null);
match(input,ACTION,FOLLOW_ACTION_in_finallyClause1084);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "finallyClause"
// $ANTLR start "rewrite"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:338:1: rewrite : ( ^( REWRITES ( single_rewrite )+ ) | );
public final void rewrite() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:339:2: ( ^( REWRITES ( single_rewrite )+ ) | )
int alt45=2;
switch ( input.LA(1) ) {
case REWRITES:
{
alt45=1;
}
break;
case EOF:
case ALT:
case EOB:
{
alt45=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 45, 0, input);
throw nvae;
}
switch (alt45) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:339:4: ^( REWRITES ( single_rewrite )+ )
{
match(input,REWRITES,FOLLOW_REWRITES_in_rewrite1097);
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:339:15: ( single_rewrite )+
int cnt44=0;
loop44:
do {
int alt44=2;
switch ( input.LA(1) ) {
case REWRITE:
{
alt44=1;
}
break;
}
switch (alt44) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:339:15: single_rewrite
{
pushFollow(FOLLOW_single_rewrite_in_rewrite1099);
single_rewrite();
state._fsp--;
}
break;
default :
if ( cnt44 >= 1 ) break loop44;
EarlyExitException eee =
new EarlyExitException(44, input);
throw eee;
}
cnt44++;
} while (true);
match(input, Token.UP, null);
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:341:2:
{
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rewrite"
// $ANTLR start "single_rewrite"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:343:1: single_rewrite : ^( REWRITE ( SEMPRED )? ( alternative | rewrite_template | ETC | ACTION ) ) ;
public final void single_rewrite() throws RecognitionException {
GrammarAST SEMPRED1=null;
GrammarAST ACTION2=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:344:2: ( ^( REWRITE ( SEMPRED )? ( alternative | rewrite_template | ETC | ACTION ) ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:344:4: ^( REWRITE ( SEMPRED )? ( alternative | rewrite_template | ETC | ACTION ) )
{
match(input,REWRITE,FOLLOW_REWRITE_in_single_rewrite1117);
out(" ->");
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:345:4: ( SEMPRED )?
int alt46=2;
switch ( input.LA(1) ) {
case SEMPRED:
{
alt46=1;
}
break;
}
switch (alt46) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:345:6: SEMPRED
{
SEMPRED1=(GrammarAST)match(input,SEMPRED,FOLLOW_SEMPRED_in_single_rewrite1126);
out(" {"+(SEMPRED1!=null?SEMPRED1.getText():null)+"}?");
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:347:4: ( alternative | rewrite_template | ETC | ACTION )
int alt47=4;
switch ( input.LA(1) ) {
case ALT:
{
alt47=1;
}
break;
case TEMPLATE:
{
alt47=2;
}
break;
case ETC:
{
alt47=3;
}
break;
case ACTION:
{
alt47=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 47, 0, input);
throw nvae;
}
switch (alt47) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:347:6: alternative
{
pushFollow(FOLLOW_alternative_in_single_rewrite1141);
alternative();
state._fsp--;
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:348:6: rewrite_template
{
pushFollow(FOLLOW_rewrite_template_in_single_rewrite1148);
rewrite_template();
state._fsp--;
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:349:6: ETC
{
match(input,ETC,FOLLOW_ETC_in_single_rewrite1155);
out("...");
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:350:6: ACTION
{
ACTION2=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_single_rewrite1164);
out(" {"+(ACTION2!=null?ACTION2.getText():null)+"}");
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "single_rewrite"
// $ANTLR start "rewrite_template"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:355:1: rewrite_template : ^( TEMPLATE (id= ID | ind= ACTION ) ^( ARGLIST ( ^( ARG arg= ID a= ACTION ) )* ) ( DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL )? ) ;
public final void rewrite_template() throws RecognitionException {
GrammarAST id=null;
GrammarAST ind=null;
GrammarAST arg=null;
GrammarAST a=null;
GrammarAST DOUBLE_QUOTE_STRING_LITERAL3=null;
GrammarAST DOUBLE_ANGLE_STRING_LITERAL4=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:356:2: ( ^( TEMPLATE (id= ID | ind= ACTION ) ^( ARGLIST ( ^( ARG arg= ID a= ACTION ) )* ) ( DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL )? ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:356:4: ^( TEMPLATE (id= ID | ind= ACTION ) ^( ARGLIST ( ^( ARG arg= ID a= ACTION ) )* ) ( DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL )? )
{
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewrite_template1188);
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:357:4: (id= ID | ind= ACTION )
int alt48=2;
switch ( input.LA(1) ) {
case ID:
{
alt48=1;
}
break;
case ACTION:
{
alt48=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 48, 0, input);
throw nvae;
}
switch (alt48) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:357:6: id= ID
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_rewrite_template1197);
out(" "+(id!=null?id.getText():null));
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:358:6: ind= ACTION
{
ind=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template1208);
out(" ({"+(ind!=null?ind.getText():null)+"})");
}
break;
}
match(input,ARGLIST,FOLLOW_ARGLIST_in_rewrite_template1222);
out("(");
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:362:5: ( ^( ARG arg= ID a= ACTION ) )*
loop49:
do {
int alt49=2;
switch ( input.LA(1) ) {
case ARG:
{
alt49=1;
}
break;
}
switch (alt49) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:362:7: ^( ARG arg= ID a= ACTION )
{
match(input,ARG,FOLLOW_ARG_in_rewrite_template1238);
match(input, Token.DOWN, null);
arg=(GrammarAST)match(input,ID,FOLLOW_ID_in_rewrite_template1242);
out((arg!=null?arg.getText():null)+"=");
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template1254);
out((a!=null?a.getText():null));
match(input, Token.UP, null);
}
break;
default :
break loop49;
}
} while (true);
out(")");
match(input, Token.UP, null);
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:368:4: ( DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL )?
int alt50=3;
switch ( input.LA(1) ) {
case DOUBLE_QUOTE_STRING_LITERAL:
{
alt50=1;
}
break;
case DOUBLE_ANGLE_STRING_LITERAL:
{
alt50=2;
}
break;
}
switch (alt50) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:368:6: DOUBLE_QUOTE_STRING_LITERAL
{
DOUBLE_QUOTE_STRING_LITERAL3=(GrammarAST)match(input,DOUBLE_QUOTE_STRING_LITERAL,FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template1290);
out(" "+(DOUBLE_QUOTE_STRING_LITERAL3!=null?DOUBLE_QUOTE_STRING_LITERAL3.getText():null));
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:369:6: DOUBLE_ANGLE_STRING_LITERAL
{
DOUBLE_ANGLE_STRING_LITERAL4=(GrammarAST)match(input,DOUBLE_ANGLE_STRING_LITERAL,FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template1299);
out(" "+(DOUBLE_ANGLE_STRING_LITERAL4!=null?DOUBLE_ANGLE_STRING_LITERAL4.getText():null));
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rewrite_template"
// $ANTLR start "element"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:374:1: element : ( ^( ROOT element ) | ^( BANG element ) | atom | ^( NOT element ) | ^( RANGE atom atom ) | ^( CHAR_RANGE atom atom ) | ^( ASSIGN id= ID element ) | ^( PLUS_ASSIGN id2= ID element ) | ebnf | tree_ | ^( SYNPRED block[true] ) | a= ACTION | a2= FORCED_ACTION | pred= SEMPRED | spred= SYN_SEMPRED | ^( BACKTRACK_SEMPRED ( . )* ) | gpred= GATED_SEMPRED | EPSILON );
public final void element() throws RecognitionException {
GrammarAST id=null;
GrammarAST id2=null;
GrammarAST a=null;
GrammarAST a2=null;
GrammarAST pred=null;
GrammarAST spred=null;
GrammarAST gpred=null;
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:375:2: ( ^( ROOT element ) | ^( BANG element ) | atom | ^( NOT element ) | ^( RANGE atom atom ) | ^( CHAR_RANGE atom atom ) | ^( ASSIGN id= ID element ) | ^( PLUS_ASSIGN id2= ID element ) | ebnf | tree_ | ^( SYNPRED block[true] ) | a= ACTION | a2= FORCED_ACTION | pred= SEMPRED | spred= SYN_SEMPRED | ^( BACKTRACK_SEMPRED ( . )* ) | gpred= GATED_SEMPRED | EPSILON )
int alt52=18;
switch ( input.LA(1) ) {
case ROOT:
{
alt52=1;
}
break;
case BANG:
{
alt52=2;
}
break;
case LABEL:
case DOT:
case STRING_LITERAL:
case CHAR_LITERAL:
case TOKEN_REF:
case WILDCARD:
case RULE_REF:
{
alt52=3;
}
break;
case NOT:
{
alt52=4;
}
break;
case RANGE:
{
alt52=5;
}
break;
case CHAR_RANGE:
{
alt52=6;
}
break;
case ASSIGN:
{
alt52=7;
}
break;
case PLUS_ASSIGN:
{
alt52=8;
}
break;
case BLOCK:
case OPTIONAL:
case CLOSURE:
case POSITIVE_CLOSURE:
{
alt52=9;
}
break;
case TREE_BEGIN:
{
alt52=10;
}
break;
case SYNPRED:
{
alt52=11;
}
break;
case ACTION:
{
alt52=12;
}
break;
case FORCED_ACTION:
{
alt52=13;
}
break;
case SEMPRED:
{
alt52=14;
}
break;
case SYN_SEMPRED:
{
alt52=15;
}
break;
case BACKTRACK_SEMPRED:
{
alt52=16;
}
break;
case GATED_SEMPRED:
{
alt52=17;
}
break;
case EPSILON:
{
alt52=18;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 52, 0, input);
throw nvae;
}
switch (alt52) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:375:4: ^( ROOT element )
{
match(input,ROOT,FOLLOW_ROOT_in_element1323);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1325);
element();
state._fsp--;
match(input, Token.UP, null);
out("^");
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:376:4: ^( BANG element )
{
match(input,BANG,FOLLOW_BANG_in_element1334);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1336);
element();
state._fsp--;
match(input, Token.UP, null);
out("!");
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:377:4: atom
{
pushFollow(FOLLOW_atom_in_element1344);
atom();
state._fsp--;
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:378:4: ^( NOT element )
{
match(input,NOT,FOLLOW_NOT_in_element1350);
out("~");
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1354);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 5 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:379:4: ^( RANGE atom atom )
{
match(input,RANGE,FOLLOW_RANGE_in_element1361);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_atom_in_element1363);
atom();
state._fsp--;
out("..");
pushFollow(FOLLOW_atom_in_element1367);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 6 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:380:4: ^( CHAR_RANGE atom atom )
{
match(input,CHAR_RANGE,FOLLOW_CHAR_RANGE_in_element1374);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_atom_in_element1376);
atom();
state._fsp--;
out("..");
pushFollow(FOLLOW_atom_in_element1380);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 7 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:381:4: ^( ASSIGN id= ID element )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_element1387);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_element1391);
out((id!=null?id.getText():null)+"=");
pushFollow(FOLLOW_element_in_element1395);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 8 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:382:4: ^( PLUS_ASSIGN id2= ID element )
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_element1402);
match(input, Token.DOWN, null);
id2=(GrammarAST)match(input,ID,FOLLOW_ID_in_element1406);
out((id2!=null?id2.getText():null)+"+=");
pushFollow(FOLLOW_element_in_element1410);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 9 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:383:4: ebnf
{
pushFollow(FOLLOW_ebnf_in_element1416);
ebnf();
state._fsp--;
}
break;
case 10 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:384:4: tree_
{
pushFollow(FOLLOW_tree__in_element1421);
tree_();
state._fsp--;
}
break;
case 11 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:385:4: ^( SYNPRED block[true] )
{
match(input,SYNPRED,FOLLOW_SYNPRED_in_element1428);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_element1430);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("=>");
}
break;
case 12 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:386:4: a= ACTION
{
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_element1442);
if ( showActions ) {out("{"); out((a!=null?a.getText():null)); out("}");}
}
break;
case 13 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:387:4: a2= FORCED_ACTION
{
a2=(GrammarAST)match(input,FORCED_ACTION,FOLLOW_FORCED_ACTION_in_element1452);
if ( showActions ) {out("{{"); out((a2!=null?a2.getText():null)); out("}}");}
}
break;
case 14 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:388:4: pred= SEMPRED
{
pred=(GrammarAST)match(input,SEMPRED,FOLLOW_SEMPRED_in_element1462);
if ( showActions )
{
out("{");
out((pred!=null?pred.getText():null));
out("}?");
}
else
{
out("{...}?");
}
}
break;
case 15 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:401:4: spred= SYN_SEMPRED
{
spred=(GrammarAST)match(input,SYN_SEMPRED,FOLLOW_SYN_SEMPRED_in_element1473);
String name = (spred!=null?spred.getText():null);
GrammarAST predAST=grammar.getSyntacticPredicate(name);
block(predAST, true);
out("=>");
}
break;
case 16 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:408:4: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_element1483);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:408:24: ( . )*
loop51:
do {
int alt51=2;
switch ( input.LA(1) ) {
case LEXER:
case PARSER:
case CATCH:
case FINALLY:
case GRAMMAR:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case RETURNS:
case THROWS:
case TREE:
case RULE:
case PREC_RULE:
case RECURSIVE_RULE_REF:
case BLOCK:
case OPTIONAL:
case CLOSURE:
case POSITIVE_CLOSURE:
case SYNPRED:
case RANGE:
case CHAR_RANGE:
case EPSILON:
case ALT:
case EOR:
case EOB:
case EOA:
case ID:
case ARG:
case ARGLIST:
case RET:
case LEXER_GRAMMAR:
case PARSER_GRAMMAR:
case TREE_GRAMMAR:
case COMBINED_GRAMMAR:
case INITACTION:
case FORCED_ACTION:
case LABEL:
case TEMPLATE:
case SCOPE:
case IMPORT:
case GATED_SEMPRED:
case SYN_SEMPRED:
case BACKTRACK_SEMPRED:
case FRAGMENT:
case DOT:
case REWRITES:
case ACTION:
case DOC_COMMENT:
case SEMI:
case AMPERSAND:
case COLON:
case OPTIONS:
case RCURLY:
case ASSIGN:
case STRING_LITERAL:
case CHAR_LITERAL:
case INT:
case STAR:
case COMMA:
case TOKENS:
case TOKEN_REF:
case BANG:
case ARG_ACTION:
case OR:
case LPAREN:
case RPAREN:
case PLUS_ASSIGN:
case SEMPRED:
case IMPLIES:
case ROOT:
case WILDCARD:
case RULE_REF:
case NOT:
case TREE_BEGIN:
case QUESTION:
case PLUS:
case OPEN_ELEMENT_OPTION:
case CLOSE_ELEMENT_OPTION:
case DOUBLE_QUOTE_STRING_LITERAL:
case DOUBLE_ANGLE_STRING_LITERAL:
case REWRITE:
case ETC:
case DOLLAR:
case WS:
case SL_COMMENT:
case ML_COMMENT:
case COMMENT:
case SRC:
case STRAY_BRACKET:
case ESC:
case DIGIT:
case XDIGIT:
case NESTED_ARG_ACTION:
case ACTION_STRING_LITERAL:
case ACTION_CHAR_LITERAL:
case NESTED_ACTION:
case ACTION_ESC:
case WS_LOOP:
case WS_OPT:
{
alt51=1;
}
break;
case UP:
{
alt51=2;
}
break;
}
switch (alt51) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:408:24: .
{
matchAny(input);
}
break;
default :
break loop51;
}
} while (true);
match(input, Token.UP, null);
}
}
break;
case 17 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:409:4: gpred= GATED_SEMPRED
{
gpred=(GrammarAST)match(input,GATED_SEMPRED,FOLLOW_GATED_SEMPRED_in_element1495);
if ( showActions ) {out("{"); out((gpred!=null?gpred.getText():null)); out("}? =>");}
else {out("{...}? =>");}
}
break;
case 18 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:414:4: EPSILON
{
match(input,EPSILON,FOLLOW_EPSILON_in_element1504);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "element"
// $ANTLR start "ebnf"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:417:1: ebnf : ( block[true] | ^( OPTIONAL block[true] ) | ^( CLOSURE block[true] ) | ^( POSITIVE_CLOSURE block[true] ) );
public final void ebnf() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:418:2: ( block[true] | ^( OPTIONAL block[true] ) | ^( CLOSURE block[true] ) | ^( POSITIVE_CLOSURE block[true] ) )
int alt53=4;
switch ( input.LA(1) ) {
case BLOCK:
{
alt53=1;
}
break;
case OPTIONAL:
{
alt53=2;
}
break;
case CLOSURE:
{
alt53=3;
}
break;
case POSITIVE_CLOSURE:
{
alt53=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 53, 0, input);
throw nvae;
}
switch (alt53) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:418:4: block[true]
{
pushFollow(FOLLOW_block_in_ebnf1515);
block(true);
state._fsp--;
out(" ");
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:419:4: ^( OPTIONAL block[true] )
{
match(input,OPTIONAL,FOLLOW_OPTIONAL_in_ebnf1525);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1527);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("? ");
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:420:4: ^( CLOSURE block[true] )
{
match(input,CLOSURE,FOLLOW_CLOSURE_in_ebnf1539);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1541);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("* ");
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:421:4: ^( POSITIVE_CLOSURE block[true] )
{
match(input,POSITIVE_CLOSURE,FOLLOW_POSITIVE_CLOSURE_in_ebnf1554);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1556);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("+ ");
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "ebnf"
// $ANTLR start "tree_"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:424:1: tree_ : ^( TREE_BEGIN element ( element )* ) ;
public final void tree_() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:425:2: ( ^( TREE_BEGIN element ( element )* ) )
// org/antlr/grammar/v3/ANTLRTreePrinter.g:425:4: ^( TREE_BEGIN element ( element )* )
{
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_tree_1573);
out(" ^(");
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_tree_1577);
element();
state._fsp--;
// org/antlr/grammar/v3/ANTLRTreePrinter.g:425:39: ( element )*
loop54:
do {
int alt54=2;
switch ( input.LA(1) ) {
case BLOCK:
case OPTIONAL:
case CLOSURE:
case POSITIVE_CLOSURE:
case SYNPRED:
case RANGE:
case CHAR_RANGE:
case EPSILON:
case FORCED_ACTION:
case LABEL:
case GATED_SEMPRED:
case SYN_SEMPRED:
case BACKTRACK_SEMPRED:
case DOT:
case ACTION:
case ASSIGN:
case STRING_LITERAL:
case CHAR_LITERAL:
case TOKEN_REF:
case BANG:
case PLUS_ASSIGN:
case SEMPRED:
case ROOT:
case WILDCARD:
case RULE_REF:
case NOT:
case TREE_BEGIN:
{
alt54=1;
}
break;
}
switch (alt54) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:425:40: element
{
pushFollow(FOLLOW_element_in_tree_1580);
element();
state._fsp--;
}
break;
default :
break loop54;
}
} while (true);
out(") ");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "tree_"
public static class atom_return extends TreeRuleReturnScope {
};
// $ANTLR start "atom"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:428:1: atom : ( ( ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? ) | ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? ) | ^( CHAR_LITERAL ( ast_suffix )? ) | ^( STRING_LITERAL ( ast_suffix )? ) | ^( WILDCARD ( ast_suffix )? ) ) | LABEL | ^( DOT ID atom ) );
public final ANTLRTreePrinter.atom_return atom() throws RecognitionException {
ANTLRTreePrinter.atom_return retval = new ANTLRTreePrinter.atom_return();
retval.start = input.LT(1);
GrammarAST rarg=null;
GrammarAST targ=null;
GrammarAST LABEL5=null;
GrammarAST ID6=null;
out(" ");
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:431:2: ( ( ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? ) | ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? ) | ^( CHAR_LITERAL ( ast_suffix )? ) | ^( STRING_LITERAL ( ast_suffix )? ) | ^( WILDCARD ( ast_suffix )? ) ) | LABEL | ^( DOT ID atom ) )
int alt63=3;
switch ( input.LA(1) ) {
case STRING_LITERAL:
case CHAR_LITERAL:
case TOKEN_REF:
case WILDCARD:
case RULE_REF:
{
alt63=1;
}
break;
case LABEL:
{
alt63=2;
}
break;
case DOT:
{
alt63=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:431:4: ( ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? ) | ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? ) | ^( CHAR_LITERAL ( ast_suffix )? ) | ^( STRING_LITERAL ( ast_suffix )? ) | ^( WILDCARD ( ast_suffix )? ) )
{
// org/antlr/grammar/v3/ANTLRTreePrinter.g:431:4: ( ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? ) | ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? ) | ^( CHAR_LITERAL ( ast_suffix )? ) | ^( STRING_LITERAL ( ast_suffix )? ) | ^( WILDCARD ( ast_suffix )? ) )
int alt62=5;
switch ( input.LA(1) ) {
case RULE_REF:
{
alt62=1;
}
break;
case TOKEN_REF:
{
alt62=2;
}
break;
case CHAR_LITERAL:
{
alt62=3;
}
break;
case STRING_LITERAL:
{
alt62=4;
}
break;
case WILDCARD:
{
alt62=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 62, 0, input);
throw nvae;
}
switch (alt62) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:431:6: ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? )
{
match(input,RULE_REF,FOLLOW_RULE_REF_in_atom1606);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:432:5: (rarg= ARG_ACTION )?
int alt55=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt55=1;
}
break;
}
switch (alt55) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:432:6: rarg= ARG_ACTION
{
rarg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1618);
out("["+rarg.toString()+"]");
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:433:5: ( ast_suffix )?
int alt56=2;
switch ( input.LA(1) ) {
case BANG:
case ROOT:
{
alt56=1;
}
break;
}
switch (alt56) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:433:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1629);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:435:5: ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? )
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_atom1644);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:436:5: (targ= ARG_ACTION )?
int alt57=2;
switch ( input.LA(1) ) {
case ARG_ACTION:
{
alt57=1;
}
break;
}
switch (alt57) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:436:6: targ= ARG_ACTION
{
targ=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1657);
out("["+targ.toString()+"]");
}
break;
}
// org/antlr/grammar/v3/ANTLRTreePrinter.g:437:5: ( ast_suffix )?
int alt58=2;
switch ( input.LA(1) ) {
case BANG:
case ROOT:
{
alt58=1;
}
break;
}
switch (alt58) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:437:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1669);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:439:5: ^( CHAR_LITERAL ( ast_suffix )? )
{
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_atom1684);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:440:5: ( ast_suffix )?
int alt59=2;
switch ( input.LA(1) ) {
case BANG:
case ROOT:
{
alt59=1;
}
break;
}
switch (alt59) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:440:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1693);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 4 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:442:5: ^( STRING_LITERAL ( ast_suffix )? )
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_atom1708);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:443:5: ( ast_suffix )?
int alt60=2;
switch ( input.LA(1) ) {
case BANG:
case ROOT:
{
alt60=1;
}
break;
}
switch (alt60) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:443:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1717);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 5 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:445:5: ^( WILDCARD ( ast_suffix )? )
{
match(input,WILDCARD,FOLLOW_WILDCARD_in_atom1732);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org/antlr/grammar/v3/ANTLRTreePrinter.g:446:5: ( ast_suffix )?
int alt61=2;
switch ( input.LA(1) ) {
case BANG:
case ROOT:
{
alt61=1;
}
break;
}
switch (alt61) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:446:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1742);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
}
out(" ");
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:450:4: LABEL
{
LABEL5=(GrammarAST)match(input,LABEL,FOLLOW_LABEL_in_atom1762);
out(" $"+(LABEL5!=null?LABEL5.getText():null));
}
break;
case 3 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:451:4: ^( DOT ID atom )
{
match(input,DOT,FOLLOW_DOT_in_atom1771);
match(input, Token.DOWN, null);
ID6=(GrammarAST)match(input,ID,FOLLOW_ID_in_atom1773);
out((ID6!=null?ID6.getText():null)+".");
pushFollow(FOLLOW_atom_in_atom1777);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "atom"
// $ANTLR start "ast_suffix"
// org/antlr/grammar/v3/ANTLRTreePrinter.g:454:1: ast_suffix : ( ROOT | BANG );
public final void ast_suffix() throws RecognitionException {
try {
// org/antlr/grammar/v3/ANTLRTreePrinter.g:455:2: ( ROOT | BANG )
int alt64=2;
switch ( input.LA(1) ) {
case ROOT:
{
alt64=1;
}
break;
case BANG:
{
alt64=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 64, 0, input);
throw nvae;
}
switch (alt64) {
case 1 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:455:4: ROOT
{
match(input,ROOT,FOLLOW_ROOT_in_ast_suffix1790);
out("^");
}
break;
case 2 :
// org/antlr/grammar/v3/ANTLRTreePrinter.g:456:4: BANG
{
match(input,BANG,FOLLOW_BANG_in_ast_suffix1797);
out("!");
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "ast_suffix"
// Delegated rules
public static final BitSet FOLLOW_grammar__in_toString67 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rule_in_toString73 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alternative_in_toString79 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_element_in_toString85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_single_rewrite_in_toString91 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rewrite_in_toString97 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EOR_in_toString103 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEXER_GRAMMAR_in_grammar_127 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_129 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PARSER_GRAMMAR_in_grammar_139 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_141 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TREE_GRAMMAR_in_grammar_151 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_153 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COMBINED_GRAMMAR_in_grammar_163 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_165 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SCOPE_in_attrScope181 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_attrScope183 = new BitSet(new long[]{0x0024000000000000L});
public static final BitSet FOLLOW_ruleAction_in_attrScope185 = new BitSet(new long[]{0x0024000000000000L});
public static final BitSet FOLLOW_ACTION_in_attrScope188 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_grammarSpec204 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec213 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_optionsSpec_in_grammarSpec223 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_delegateGrammars_in_grammarSpec232 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_tokensSpec_in_grammarSpec239 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_attrScope_in_grammarSpec246 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_actions_in_grammarSpec253 = new BitSet(new long[]{0x80A80C0000018000L});
public static final BitSet FOLLOW_rules_in_grammarSpec259 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_action_in_actions272 = new BitSet(new long[]{0x0020000000000002L});
public static final BitSet FOLLOW_AMPERSAND_in_action293 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_action297 = new BitSet(new long[]{0x0004000040000000L});
public static final BitSet FOLLOW_ID_in_action306 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_ACTION_in_action310 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_action325 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_OPTIONS_in_optionsSpec357 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_option_in_optionsSpec365 = new BitSet(new long[]{0x0200000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_option391 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_option395 = new BitSet(new long[]{0x1C00000040000000L});
public static final BitSet FOLLOW_optionValue_in_option399 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_optionValue414 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_optionValue434 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_optionValue443 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INT_in_optionValue454 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORT_in_delegateGrammars484 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ASSIGN_in_delegateGrammars489 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_delegateGrammars491 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_ID_in_delegateGrammars493 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_delegateGrammars498 = new BitSet(new long[]{0x0200000040000008L});
public static final BitSet FOLLOW_TOKENS_in_tokensSpec515 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_tokenSpec_in_tokensSpec517 = new BitSet(new long[]{0x0200000000000008L,0x0000000000000001L});
public static final BitSet FOLLOW_TOKEN_REF_in_tokenSpec530 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGN_in_tokenSpec537 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_TOKEN_REF_in_tokenSpec539 = new BitSet(new long[]{0x0C00000000000000L});
public static final BitSet FOLLOW_set_in_tokenSpec541 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_rule_in_rules560 = new BitSet(new long[]{0x80A80C0000018002L});
public static final BitSet FOLLOW_precRule_in_rules564 = new BitSet(new long[]{0x80A80C0000018002L});
public static final BitSet FOLLOW_RULE_in_rule580 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rule584 = new BitSet(new long[]{0x0000800080000E00L});
public static final BitSet FOLLOW_modifier_in_rule590 = new BitSet(new long[]{0x0000000080000000L});
public static final BitSet FOLLOW_ARG_in_rule603 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rule608 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RET_in_rule621 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rule626 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_throwsSpec_in_rule639 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_optionsSpec_in_rule647 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_ruleScopeSpec_in_rule655 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_ruleAction_in_rule663 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_block_in_rule682 = new BitSet(new long[]{0x00000000080000C0L});
public static final BitSet FOLLOW_exceptionGroup_in_rule689 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_EOR_in_rule696 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PREC_RULE_in_precRule715 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_precRule719 = new BitSet(new long[]{0x0000800080000E00L});
public static final BitSet FOLLOW_modifier_in_precRule725 = new BitSet(new long[]{0x0000000080000000L});
public static final BitSet FOLLOW_ARG_in_precRule738 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_precRule743 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RET_in_precRule756 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_precRule761 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_throwsSpec_in_precRule774 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_optionsSpec_in_precRule782 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_ruleScopeSpec_in_precRule790 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_ruleAction_in_precRule798 = new BitSet(new long[]{0x00A0040000040000L});
public static final BitSet FOLLOW_block_in_precRule817 = new BitSet(new long[]{0x00000000080000C0L});
public static final BitSet FOLLOW_exceptionGroup_in_precRule824 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_EOR_in_precRule831 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_AMPERSAND_in_ruleAction849 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_ruleAction853 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_ACTION_in_ruleAction857 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_set_in_modifier0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THROWS_in_throwsSpec906 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_throwsSpec908 = new BitSet(new long[]{0x0000000040000008L});
public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec923 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ruleAction_in_ruleScopeSpec925 = new BitSet(new long[]{0x0024000040000008L});
public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec929 = new BitSet(new long[]{0x0000000040000008L});
public static final BitSet FOLLOW_ID_in_ruleScopeSpec935 = new BitSet(new long[]{0x0000000040000008L});
public static final BitSet FOLLOW_BLOCK_in_block959 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_optionsSpec_in_block970 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_alternative_in_block980 = new BitSet(new long[]{0x0002000014000000L});
public static final BitSet FOLLOW_rewrite_in_block982 = new BitSet(new long[]{0x0000000014000000L});
public static final BitSet FOLLOW_alternative_in_block988 = new BitSet(new long[]{0x0002000014000000L});
public static final BitSet FOLLOW_rewrite_in_block990 = new BitSet(new long[]{0x0000000014000000L});
public static final BitSet FOLLOW_EOB_in_block998 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_alternative1020 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_alternative1022 = new BitSet(new long[]{0x0EA5758023FC0000L,0x0000000000003EC3L});
public static final BitSet FOLLOW_EOA_in_alternative1025 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_exceptionHandler_in_exceptionGroup1040 = new BitSet(new long[]{0x00000000000000C2L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1046 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1053 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_exceptionHandler1065 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_exceptionHandler1067 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_ACTION_in_exceptionHandler1069 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FINALLY_in_finallyClause1082 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_finallyClause1084 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_REWRITES_in_rewrite1097 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_single_rewrite_in_rewrite1099 = new BitSet(new long[]{0x0000000000000008L,0x0000000000100000L});
public static final BitSet FOLLOW_REWRITE_in_single_rewrite1117 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_SEMPRED_in_single_rewrite1126 = new BitSet(new long[]{0x0004020004000000L,0x0000000000200000L});
public static final BitSet FOLLOW_alternative_in_single_rewrite1141 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_rewrite_template_in_single_rewrite1148 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ETC_in_single_rewrite1155 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_single_rewrite1164 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TEMPLATE_in_rewrite_template1188 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rewrite_template1197 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_ACTION_in_rewrite_template1208 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_ARGLIST_in_rewrite_template1222 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_in_rewrite_template1238 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rewrite_template1242 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_ACTION_in_rewrite_template1254 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template1290 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template1299 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_in_element1323 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1325 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BANG_in_element1334 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1336 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_atom_in_element1344 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_element1350 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1354 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RANGE_in_element1361 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element1363 = new BitSet(new long[]{0x0C01010000000000L,0x0000000000000C01L});
public static final BitSet FOLLOW_atom_in_element1367 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_RANGE_in_element1374 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element1376 = new BitSet(new long[]{0x0C01010000000000L,0x0000000000000C01L});
public static final BitSet FOLLOW_atom_in_element1380 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_element1387 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1391 = new BitSet(new long[]{0x0EA5758023FC0000L,0x0000000000003EC3L});
public static final BitSet FOLLOW_element_in_element1395 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_element1402 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1406 = new BitSet(new long[]{0x0EA5758023FC0000L,0x0000000000003EC3L});
public static final BitSet FOLLOW_element_in_element1410 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ebnf_in_element1416 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tree__in_element1421 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYNPRED_in_element1428 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_element1430 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_element1442 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FORCED_ACTION_in_element1452 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMPRED_in_element1462 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYN_SEMPRED_in_element1473 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_element1483 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_GATED_SEMPRED_in_element1495 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EPSILON_in_element1504 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_ebnf1515 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPTIONAL_in_ebnf1525 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1527 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CLOSURE_in_ebnf1539 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1541 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_POSITIVE_CLOSURE_in_ebnf1554 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1556 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TREE_BEGIN_in_tree_1573 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_tree_1577 = new BitSet(new long[]{0x0EA5758023FC0008L,0x0000000000003EC3L});
public static final BitSet FOLLOW_element_in_tree_1580 = new BitSet(new long[]{0x0EA5758023FC0008L,0x0000000000003EC3L});
public static final BitSet FOLLOW_RULE_REF_in_atom1606 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1618 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000202L});
public static final BitSet FOLLOW_ast_suffix_in_atom1629 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_atom1644 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1657 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000202L});
public static final BitSet FOLLOW_ast_suffix_in_atom1669 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_atom1684 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1693 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_atom1708 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1717 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_WILDCARD_in_atom1732 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1742 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LABEL_in_atom1762 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_atom1771 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_atom1773 = new BitSet(new long[]{0x0C01010000000000L,0x0000000000000C01L});
public static final BitSet FOLLOW_atom_in_atom1777 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_in_ast_suffix1790 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BANG_in_ast_suffix1797 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy