org.antlr.grammar.v3.ANTLRTreePrinter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of antlr-complete Show documentation
Show all versions of antlr-complete Show documentation
Complete distribution for ANTLR 3
// $ANTLR 3.5 org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g 2014-03-25 07:04:53
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
*/
@SuppressWarnings("all")
public class ANTLRTreePrinter extends TreeParser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ACTION", "ACTION_CHAR_LITERAL",
"ACTION_ESC", "ACTION_STRING_LITERAL", "ALT", "AMPERSAND", "ARG", "ARGLIST",
"ARG_ACTION", "ASSIGN", "BACKTRACK_SEMPRED", "BANG", "BLOCK", "CATCH",
"CHAR_LITERAL", "CHAR_RANGE", "CLOSE_ELEMENT_OPTION", "CLOSURE", "COLON",
"COMBINED_GRAMMAR", "COMMA", "COMMENT", "DIGIT", "DOC_COMMENT", "DOLLAR",
"DOT", "DOUBLE_ANGLE_STRING_LITERAL", "DOUBLE_QUOTE_STRING_LITERAL", "EOA",
"EOB", "EOR", "EPSILON", "ESC", "ETC", "FINALLY", "FORCED_ACTION", "FRAGMENT",
"GATED_SEMPRED", "GRAMMAR", "ID", "IMPLIES", "IMPORT", "INITACTION", "INT",
"LABEL", "LEXER", "LEXER_GRAMMAR", "LPAREN", "ML_COMMENT", "NESTED_ACTION",
"NESTED_ARG_ACTION", "NOT", "OPEN_ELEMENT_OPTION", "OPTIONAL", "OPTIONS",
"OR", "PARSER", "PARSER_GRAMMAR", "PLUS", "PLUS_ASSIGN", "POSITIVE_CLOSURE",
"PREC_RULE", "PRIVATE", "PROTECTED", "PUBLIC", "QUESTION", "RANGE", "RCURLY",
"RECURSIVE_RULE_REF", "RET", "RETURNS", "REWRITE", "REWRITES", "ROOT",
"RPAREN", "RULE", "RULE_REF", "SCOPE", "SEMI", "SEMPRED", "SL_COMMENT",
"SRC", "STAR", "STRAY_BRACKET", "STRING_LITERAL", "SYNPRED", "SYN_SEMPRED",
"TEMPLATE", "THROWS", "TOKENS", "TOKEN_REF", "TREE", "TREE_BEGIN", "TREE_GRAMMAR",
"WILDCARD", "WS", "WS_LOOP", "WS_OPT", "XDIGIT"
};
public static final int EOF=-1;
public static final int ACTION=4;
public static final int ACTION_CHAR_LITERAL=5;
public static final int ACTION_ESC=6;
public static final int ACTION_STRING_LITERAL=7;
public static final int ALT=8;
public static final int AMPERSAND=9;
public static final int ARG=10;
public static final int ARGLIST=11;
public static final int ARG_ACTION=12;
public static final int ASSIGN=13;
public static final int BACKTRACK_SEMPRED=14;
public static final int BANG=15;
public static final int BLOCK=16;
public static final int CATCH=17;
public static final int CHAR_LITERAL=18;
public static final int CHAR_RANGE=19;
public static final int CLOSE_ELEMENT_OPTION=20;
public static final int CLOSURE=21;
public static final int COLON=22;
public static final int COMBINED_GRAMMAR=23;
public static final int COMMA=24;
public static final int COMMENT=25;
public static final int DIGIT=26;
public static final int DOC_COMMENT=27;
public static final int DOLLAR=28;
public static final int DOT=29;
public static final int DOUBLE_ANGLE_STRING_LITERAL=30;
public static final int DOUBLE_QUOTE_STRING_LITERAL=31;
public static final int EOA=32;
public static final int EOB=33;
public static final int EOR=34;
public static final int EPSILON=35;
public static final int ESC=36;
public static final int ETC=37;
public static final int FINALLY=38;
public static final int FORCED_ACTION=39;
public static final int FRAGMENT=40;
public static final int GATED_SEMPRED=41;
public static final int GRAMMAR=42;
public static final int ID=43;
public static final int IMPLIES=44;
public static final int IMPORT=45;
public static final int INITACTION=46;
public static final int INT=47;
public static final int LABEL=48;
public static final int LEXER=49;
public static final int LEXER_GRAMMAR=50;
public static final int LPAREN=51;
public static final int ML_COMMENT=52;
public static final int NESTED_ACTION=53;
public static final int NESTED_ARG_ACTION=54;
public static final int NOT=55;
public static final int OPEN_ELEMENT_OPTION=56;
public static final int OPTIONAL=57;
public static final int OPTIONS=58;
public static final int OR=59;
public static final int PARSER=60;
public static final int PARSER_GRAMMAR=61;
public static final int PLUS=62;
public static final int PLUS_ASSIGN=63;
public static final int POSITIVE_CLOSURE=64;
public static final int PREC_RULE=65;
public static final int PRIVATE=66;
public static final int PROTECTED=67;
public static final int PUBLIC=68;
public static final int QUESTION=69;
public static final int RANGE=70;
public static final int RCURLY=71;
public static final int RECURSIVE_RULE_REF=72;
public static final int RET=73;
public static final int RETURNS=74;
public static final int REWRITE=75;
public static final int REWRITES=76;
public static final int ROOT=77;
public static final int RPAREN=78;
public static final int RULE=79;
public static final int RULE_REF=80;
public static final int SCOPE=81;
public static final int SEMI=82;
public static final int SEMPRED=83;
public static final int SL_COMMENT=84;
public static final int SRC=85;
public static final int STAR=86;
public static final int STRAY_BRACKET=87;
public static final int STRING_LITERAL=88;
public static final int SYNPRED=89;
public static final int SYN_SEMPRED=90;
public static final int TEMPLATE=91;
public static final int THROWS=92;
public static final int TOKENS=93;
public static final int TOKEN_REF=94;
public static final int TREE=95;
public static final int TREE_BEGIN=96;
public static final int TREE_GRAMMAR=97;
public static final int WILDCARD=98;
public static final int WS=99;
public static final int WS_LOOP=100;
public static final int WS_OPT=101;
public static final int XDIGIT=102;
// delegates
public TreeParser[] getDelegates() {
return new TreeParser[] {};
}
// delegators
public ANTLRTreePrinter(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public ANTLRTreePrinter(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return ANTLRTreePrinter.tokenNames; }
@Override 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:120: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:125:2: ( ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:125:4: ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR )
{
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:125:4: ( grammar_ | rule | alternative | element | single_rewrite | rewrite | EOR )
int alt1=7;
switch ( input.LA(1) ) {
case COMBINED_GRAMMAR:
case LEXER_GRAMMAR:
case PARSER_GRAMMAR:
case TREE_GRAMMAR:
{
alt1=1;
}
break;
case RULE:
{
alt1=2;
}
break;
case ALT:
{
alt1=3;
}
break;
case ACTION:
case ASSIGN:
case BACKTRACK_SEMPRED:
case BANG:
case BLOCK:
case CHAR_LITERAL:
case CHAR_RANGE:
case CLOSURE:
case DOT:
case EPSILON:
case FORCED_ACTION:
case GATED_SEMPRED:
case LABEL:
case NOT:
case OPTIONAL:
case PLUS_ASSIGN:
case POSITIVE_CLOSURE:
case RANGE:
case ROOT:
case RULE_REF:
case SEMPRED:
case STRING_LITERAL:
case SYNPRED:
case SYN_SEMPRED:
case TOKEN_REF:
case TREE_BEGIN:
case WILDCARD:
{
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:125:6: grammar_
{
pushFollow(FOLLOW_grammar__in_toString73);
grammar_();
state._fsp--;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:126:5: rule
{
pushFollow(FOLLOW_rule_in_toString79);
rule();
state._fsp--;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:127:5: alternative
{
pushFollow(FOLLOW_alternative_in_toString85);
alternative();
state._fsp--;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:128:5: element
{
pushFollow(FOLLOW_element_in_toString91);
element();
state._fsp--;
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:129:5: single_rewrite
{
pushFollow(FOLLOW_single_rewrite_in_toString97);
single_rewrite();
state._fsp--;
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:130:5: rewrite
{
pushFollow(FOLLOW_rewrite_in_toString103);
rewrite();
state._fsp--;
}
break;
case 7 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:131:5: EOR
{
match(input,EOR,FOLLOW_EOR_in_toString109);
}
break;
}
return normalize(buf.toString());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "toString"
// $ANTLR start "grammar_"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:138: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:139: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:139:4: ^( LEXER_GRAMMAR grammarSpec[\"lexer \" ] )
{
match(input,LEXER_GRAMMAR,FOLLOW_LEXER_GRAMMAR_in_grammar_133);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_135);
grammarSpec("lexer ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:140:4: ^( PARSER_GRAMMAR grammarSpec[\"parser \"] )
{
match(input,PARSER_GRAMMAR,FOLLOW_PARSER_GRAMMAR_in_grammar_145);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_147);
grammarSpec("parser ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:141:4: ^( TREE_GRAMMAR grammarSpec[\"tree \"] )
{
match(input,TREE_GRAMMAR,FOLLOW_TREE_GRAMMAR_in_grammar_157);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_159);
grammarSpec("tree ");
state._fsp--;
match(input, Token.UP, null);
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:142:4: ^( COMBINED_GRAMMAR grammarSpec[\"\"] )
{
match(input,COMBINED_GRAMMAR,FOLLOW_COMBINED_GRAMMAR_in_grammar_169);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_grammarSpec_in_grammar_171);
grammarSpec("");
state._fsp--;
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "grammar_"
// $ANTLR start "attrScope"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:145:1: attrScope : ^( 'scope' ID ( ruleAction )* ACTION ) ;
public final void attrScope() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:146:2: ( ^( 'scope' ID ( ruleAction )* ACTION ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:146:4: ^( 'scope' ID ( ruleAction )* ACTION )
{
match(input,SCOPE,FOLLOW_SCOPE_in_attrScope187);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_attrScope189);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:146:18: ( ruleAction )*
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==AMPERSAND) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:146:18: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_attrScope191);
ruleAction();
state._fsp--;
}
break;
default :
break loop3;
}
}
match(input,ACTION,FOLLOW_ACTION_in_attrScope194);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attrScope"
// $ANTLR start "grammarSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:149: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:150:2: (id= ID (cmt= DOC_COMMENT )? ( optionsSpec )? ( delegateGrammars )? ( tokensSpec )? ( attrScope )* ( actions )? rules )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:150:4: id= ID (cmt= DOC_COMMENT )? ( optionsSpec )? ( delegateGrammars )? ( tokensSpec )? ( attrScope )* ( actions )? rules
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_grammarSpec210);
out(gtype+"grammar "+(id!=null?id.getText():null));
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:151:3: (cmt= DOC_COMMENT )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==DOC_COMMENT) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:151:4: cmt= DOC_COMMENT
{
cmt=(GrammarAST)match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_grammarSpec219);
out((cmt!=null?cmt.getText():null)+"\n");
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:152:3: ( optionsSpec )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==OPTIONS) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:152:4: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_grammarSpec229);
optionsSpec();
state._fsp--;
}
break;
}
out(";\n");
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:153:3: ( delegateGrammars )?
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==IMPORT) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:153:4: delegateGrammars
{
pushFollow(FOLLOW_delegateGrammars_in_grammarSpec238);
delegateGrammars();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:154:3: ( tokensSpec )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==TOKENS) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:154:4: tokensSpec
{
pushFollow(FOLLOW_tokensSpec_in_grammarSpec245);
tokensSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:155:3: ( attrScope )*
loop8:
while (true) {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==SCOPE) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:155:4: attrScope
{
pushFollow(FOLLOW_attrScope_in_grammarSpec252);
attrScope();
state._fsp--;
}
break;
default :
break loop8;
}
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:156:3: ( actions )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==AMPERSAND) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:156:4: actions
{
pushFollow(FOLLOW_actions_in_grammarSpec259);
actions();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_rules_in_grammarSpec265);
rules();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "grammarSpec"
// $ANTLR start "actions"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:160:1: actions : ( action )+ ;
public final void actions() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:161:2: ( ( action )+ )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:161:4: ( action )+
{
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:161:4: ( action )+
int cnt10=0;
loop10:
while (true) {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==AMPERSAND) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:161:6: action
{
pushFollow(FOLLOW_action_in_actions278);
action();
state._fsp--;
}
break;
default :
if ( cnt10 >= 1 ) break loop10;
EarlyExitException eee = new EarlyExitException(10, input);
throw eee;
}
cnt10++;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "actions"
// $ANTLR start "action"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:164: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:169:2: ( ^( AMPERSAND id1= ID (id2= ID a1= ACTION |a2= ACTION ) ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:169:4: ^( AMPERSAND id1= ID (id2= ID a1= ACTION |a2= ACTION ) )
{
match(input,AMPERSAND,FOLLOW_AMPERSAND_in_action299);
match(input, Token.DOWN, null);
id1=(GrammarAST)match(input,ID,FOLLOW_ID_in_action303);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:170:4: (id2= ID a1= ACTION |a2= ACTION )
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==ID) ) {
alt11=1;
}
else if ( (LA11_0==ACTION) ) {
alt11=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:170:6: id2= ID a1= ACTION
{
id2=(GrammarAST)match(input,ID,FOLLOW_ID_in_action312);
a1=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_action316);
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:172:6: a2= ACTION
{
a2=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_action331);
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 {
// do for sure before leaving
}
}
// $ANTLR end "action"
// $ANTLR start "optionsSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:184:1: optionsSpec : ^( OPTIONS ( option )+ ) ;
public final void optionsSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:185:2: ( ^( OPTIONS ( option )+ ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:185:4: ^( OPTIONS ( option )+ )
{
match(input,OPTIONS,FOLLOW_OPTIONS_in_optionsSpec363);
out(" options {");
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:186:4: ( option )+
int cnt12=0;
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==ASSIGN) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:186:5: option
{
pushFollow(FOLLOW_option_in_optionsSpec371);
option();
state._fsp--;
out("; ");
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
EarlyExitException eee = new EarlyExitException(12, input);
throw eee;
}
cnt12++;
}
out("} ");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "optionsSpec"
// $ANTLR start "option"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:191:1: option : ^( ASSIGN id= ID optionValue ) ;
public final void option() throws RecognitionException {
GrammarAST id=null;
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:192:2: ( ^( ASSIGN id= ID optionValue ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:192:4: ^( ASSIGN id= ID optionValue )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_option397);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_option401);
out((id!=null?id.getText():null)+"=");
pushFollow(FOLLOW_optionValue_in_option405);
optionValue();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "option"
// $ANTLR start "optionValue"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:195: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:196: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:196:4: id= ID
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_optionValue420);
out((id!=null?id.getText():null));
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:197:4: s= STRING_LITERAL
{
s=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_optionValue440);
out((s!=null?s.getText():null));
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:198:4: c= CHAR_LITERAL
{
c=(GrammarAST)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_optionValue449);
out((c!=null?c.getText():null));
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:199:4: i= INT
{
i=(GrammarAST)match(input,INT,FOLLOW_INT_in_optionValue460);
out((i!=null?i.getText():null));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "optionValue"
// $ANTLR start "delegateGrammars"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:215:1: delegateGrammars : ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ ) ;
public final void delegateGrammars() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:216:2: ( ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:216:4: ^( 'import' ( ^( ASSIGN ID ID ) | ID )+ )
{
match(input,IMPORT,FOLLOW_IMPORT_in_delegateGrammars490);
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:216:16: ( ^( ASSIGN ID ID ) | ID )+
int cnt14=0;
loop14:
while (true) {
int alt14=3;
int LA14_0 = input.LA(1);
if ( (LA14_0==ASSIGN) ) {
alt14=1;
}
else if ( (LA14_0==ID) ) {
alt14=2;
}
switch (alt14) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:216:18: ^( ASSIGN ID ID )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_delegateGrammars495);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_delegateGrammars497);
match(input,ID,FOLLOW_ID_in_delegateGrammars499);
match(input, Token.UP, null);
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:216:36: ID
{
match(input,ID,FOLLOW_ID_in_delegateGrammars504);
}
break;
default :
if ( cnt14 >= 1 ) break loop14;
EarlyExitException eee = new EarlyExitException(14, input);
throw eee;
}
cnt14++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "delegateGrammars"
// $ANTLR start "tokensSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:219:1: tokensSpec : ^( TOKENS ( tokenSpec )* ) ;
public final void tokensSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:220:2: ( ^( TOKENS ( tokenSpec )* ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:220:4: ^( TOKENS ( tokenSpec )* )
{
match(input,TOKENS,FOLLOW_TOKENS_in_tokensSpec521);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:220:13: ( tokenSpec )*
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==ASSIGN||LA15_0==TOKEN_REF) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:220:13: tokenSpec
{
pushFollow(FOLLOW_tokenSpec_in_tokensSpec523);
tokenSpec();
state._fsp--;
}
break;
default :
break loop15;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tokensSpec"
// $ANTLR start "tokenSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:223:1: tokenSpec : ( TOKEN_REF | ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) ) );
public final void tokenSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:224:2: ( TOKEN_REF | ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) ) )
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==TOKEN_REF) ) {
alt16=1;
}
else if ( (LA16_0==ASSIGN) ) {
alt16=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 16, 0, input);
throw nvae;
}
switch (alt16) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:224:4: TOKEN_REF
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenSpec536);
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:225:4: ^( ASSIGN TOKEN_REF ( STRING_LITERAL | CHAR_LITERAL ) )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_tokenSpec543);
match(input, Token.DOWN, null);
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenSpec545);
if ( input.LA(1)==CHAR_LITERAL||input.LA(1)==STRING_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 {
// do for sure before leaving
}
}
// $ANTLR end "tokenSpec"
// $ANTLR start "rules"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:228:1: rules : ( rule | precRule )+ ;
public final void rules() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:229:2: ( ( rule | precRule )+ )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:229:4: ( rule | precRule )+
{
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:229:4: ( rule | precRule )+
int cnt17=0;
loop17:
while (true) {
int alt17=3;
int LA17_0 = input.LA(1);
if ( (LA17_0==RULE) ) {
alt17=1;
}
else if ( (LA17_0==PREC_RULE) ) {
alt17=2;
}
switch (alt17) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:229:6: rule
{
pushFollow(FOLLOW_rule_in_rules566);
rule();
state._fsp--;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:229:13: precRule
{
pushFollow(FOLLOW_precRule_in_rules570);
precRule();
state._fsp--;
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
EarlyExitException eee = new EarlyExitException(17, input);
throw eee;
}
cnt17++;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "rules"
// $ANTLR start "rule"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:232: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;
TreeRuleReturnScope b =null;
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:233: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:233: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_rule586);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_rule590);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:234:4: ( modifier )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==FRAGMENT||(LA18_0 >= PRIVATE && LA18_0 <= PUBLIC)) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:234:5: modifier
{
pushFollow(FOLLOW_modifier_in_rule596);
modifier();
state._fsp--;
}
break;
}
out((id!=null?id.getText():null));
match(input,ARG,FOLLOW_ARG_in_rule609);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:236:10: (arg= ARG_ACTION )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==ARG_ACTION) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:236:11: arg= ARG_ACTION
{
arg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule614);
out("["+(arg!=null?arg.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
match(input,RET,FOLLOW_RET_in_rule627);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:237:10: (ret= ARG_ACTION )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==ARG_ACTION) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:237:11: ret= ARG_ACTION
{
ret=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rule632);
out(" returns ["+(ret!=null?ret.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:238:4: ( throwsSpec )?
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==THROWS) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:238:5: throwsSpec
{
pushFollow(FOLLOW_throwsSpec_in_rule645);
throwsSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:239:4: ( optionsSpec )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==OPTIONS) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:239:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_rule653);
optionsSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:240:4: ( ruleScopeSpec )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==SCOPE) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:240:5: ruleScopeSpec
{
pushFollow(FOLLOW_ruleScopeSpec_in_rule661);
ruleScopeSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:241:4: ( ruleAction )*
loop24:
while (true) {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==AMPERSAND) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:241:5: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_rule669);
ruleAction();
state._fsp--;
}
break;
default :
break loop24;
}
}
out(" :");
if ( input.LA(5) == NOT || input.LA(5) == ASSIGN )
out(" ");
pushFollow(FOLLOW_block_in_rule688);
b=block(false);
state._fsp--;
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:248:4: ( exceptionGroup )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==CATCH||LA25_0==FINALLY) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:248:5: exceptionGroup
{
pushFollow(FOLLOW_exceptionGroup_in_rule695);
exceptionGroup();
state._fsp--;
}
break;
}
match(input,EOR,FOLLOW_EOR_in_rule702);
out(";\n");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "rule"
// $ANTLR start "precRule"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:253: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;
TreeRuleReturnScope b =null;
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:254: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:254: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_precRule721);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_precRule725);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:255:4: ( modifier )?
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==FRAGMENT||(LA26_0 >= PRIVATE && LA26_0 <= PUBLIC)) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:255:5: modifier
{
pushFollow(FOLLOW_modifier_in_precRule731);
modifier();
state._fsp--;
}
break;
}
out((id!=null?id.getText():null));
match(input,ARG,FOLLOW_ARG_in_precRule744);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:257:10: (arg= ARG_ACTION )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==ARG_ACTION) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:257:11: arg= ARG_ACTION
{
arg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_precRule749);
out("["+(arg!=null?arg.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
match(input,RET,FOLLOW_RET_in_precRule762);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:258:10: (ret= ARG_ACTION )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==ARG_ACTION) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:258:11: ret= ARG_ACTION
{
ret=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_precRule767);
out(" returns ["+(ret!=null?ret.getText():null)+"]");
}
break;
}
match(input, Token.UP, null);
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:259:4: ( throwsSpec )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==THROWS) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:259:5: throwsSpec
{
pushFollow(FOLLOW_throwsSpec_in_precRule780);
throwsSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:260:4: ( optionsSpec )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==OPTIONS) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:260:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_precRule788);
optionsSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:261:4: ( ruleScopeSpec )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==SCOPE) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:261:5: ruleScopeSpec
{
pushFollow(FOLLOW_ruleScopeSpec_in_precRule796);
ruleScopeSpec();
state._fsp--;
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:262:4: ( ruleAction )*
loop32:
while (true) {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==AMPERSAND) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:262:5: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_precRule804);
ruleAction();
state._fsp--;
}
break;
default :
break loop32;
}
}
out(" :");
if ( input.LA(5) == NOT || input.LA(5) == ASSIGN )
out(" ");
pushFollow(FOLLOW_block_in_precRule823);
b=block(false);
state._fsp--;
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:269:4: ( exceptionGroup )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==CATCH||LA33_0==FINALLY) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:269:5: exceptionGroup
{
pushFollow(FOLLOW_exceptionGroup_in_precRule830);
exceptionGroup();
state._fsp--;
}
break;
}
match(input,EOR,FOLLOW_EOR_in_precRule837);
out(";\n");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "precRule"
// $ANTLR start "ruleAction"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:274: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:275:2: ( ^( AMPERSAND id= ID a= ACTION ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:275:4: ^( AMPERSAND id= ID a= ACTION )
{
match(input,AMPERSAND,FOLLOW_AMPERSAND_in_ruleAction855);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_ruleAction859);
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_ruleAction863);
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 {
// do for sure before leaving
}
}
// $ANTLR end "ruleAction"
public static class modifier_return extends TreeRuleReturnScope {
};
// $ANTLR start "modifier"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:279: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:282:2: ( 'protected' | 'public' | 'private' | 'fragment' )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:
{
if ( input.LA(1)==FRAGMENT||(input.LA(1) >= PRIVATE && input.LA(1) <= PUBLIC) ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "modifier"
// $ANTLR start "throwsSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:288:1: throwsSpec : ^( 'throws' ( ID )+ ) ;
public final void throwsSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:289:2: ( ^( 'throws' ( ID )+ ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:289:4: ^( 'throws' ( ID )+ )
{
match(input,THROWS,FOLLOW_THROWS_in_throwsSpec912);
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:289:15: ( ID )+
int cnt34=0;
loop34:
while (true) {
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==ID) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:289:15: ID
{
match(input,ID,FOLLOW_ID_in_throwsSpec914);
}
break;
default :
if ( cnt34 >= 1 ) break loop34;
EarlyExitException eee = new EarlyExitException(34, input);
throw eee;
}
cnt34++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "throwsSpec"
// $ANTLR start "ruleScopeSpec"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:292:1: ruleScopeSpec : ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* ) ;
public final void ruleScopeSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:2: ( ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:4: ^( 'scope' ( ruleAction )* ( ACTION )? ( ID )* )
{
match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec929);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:15: ( ruleAction )*
loop35:
while (true) {
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==AMPERSAND) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:15: ruleAction
{
pushFollow(FOLLOW_ruleAction_in_ruleScopeSpec931);
ruleAction();
state._fsp--;
}
break;
default :
break loop35;
}
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:27: ( ACTION )?
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==ACTION) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:28: ACTION
{
match(input,ACTION,FOLLOW_ACTION_in_ruleScopeSpec935);
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:37: ( ID )*
loop37:
while (true) {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==ID) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:293:39: ID
{
match(input,ID,FOLLOW_ID_in_ruleScopeSpec941);
}
break;
default :
break loop37;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ruleScopeSpec"
public static class block_return extends TreeRuleReturnScope {
};
// $ANTLR start "block"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:296: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:301:2: ( ^( BLOCK ( optionsSpec )? alternative rewrite ( alternative rewrite )* EOB ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:301:4: ^( BLOCK ( optionsSpec )? alternative rewrite ( alternative rewrite )* EOB )
{
match(input,BLOCK,FOLLOW_BLOCK_in_block965);
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:316:4: ( optionsSpec )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==OPTIONS) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:316:5: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_block976);
optionsSpec();
state._fsp--;
out(" :");
}
break;
}
pushFollow(FOLLOW_alternative_in_block986);
alternative();
state._fsp--;
pushFollow(FOLLOW_rewrite_in_block988);
rewrite();
state._fsp--;
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:317:24: ( alternative rewrite )*
loop39:
while (true) {
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==ALT) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:317:26: alternative rewrite
{
out("|");
pushFollow(FOLLOW_alternative_in_block994);
alternative();
state._fsp--;
pushFollow(FOLLOW_rewrite_in_block996);
rewrite();
state._fsp--;
}
break;
default :
break loop39;
}
}
match(input,EOB,FOLLOW_EOB_in_block1004);
if ( forceParens||numAlts>1 ) out(")");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "block"
// $ANTLR start "alternative"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:322:1: alternative : ^( ALT ( element )* EOA ) ;
public final void alternative() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:323:2: ( ^( ALT ( element )* EOA ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:323:4: ^( ALT ( element )* EOA )
{
match(input,ALT,FOLLOW_ALT_in_alternative1026);
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:323:11: ( element )*
loop40:
while (true) {
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==ACTION||(LA40_0 >= ASSIGN && LA40_0 <= BLOCK)||(LA40_0 >= CHAR_LITERAL && LA40_0 <= CHAR_RANGE)||LA40_0==CLOSURE||LA40_0==DOT||LA40_0==EPSILON||LA40_0==FORCED_ACTION||LA40_0==GATED_SEMPRED||LA40_0==LABEL||LA40_0==NOT||LA40_0==OPTIONAL||(LA40_0 >= PLUS_ASSIGN && LA40_0 <= POSITIVE_CLOSURE)||LA40_0==RANGE||LA40_0==ROOT||LA40_0==RULE_REF||LA40_0==SEMPRED||(LA40_0 >= STRING_LITERAL && LA40_0 <= SYN_SEMPRED)||LA40_0==TOKEN_REF||LA40_0==TREE_BEGIN||LA40_0==WILDCARD) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:323:11: element
{
pushFollow(FOLLOW_element_in_alternative1028);
element();
state._fsp--;
}
break;
default :
break loop40;
}
}
match(input,EOA,FOLLOW_EOA_in_alternative1031);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "alternative"
// $ANTLR start "exceptionGroup"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:326:1: exceptionGroup : ( ( exceptionHandler )+ ( finallyClause )? | finallyClause );
public final void exceptionGroup() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:2: ( ( exceptionHandler )+ ( finallyClause )? | finallyClause )
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==CATCH) ) {
alt43=1;
}
else if ( (LA43_0==FINALLY) ) {
alt43=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:4: ( exceptionHandler )+ ( finallyClause )?
{
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:4: ( exceptionHandler )+
int cnt41=0;
loop41:
while (true) {
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==CATCH) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:6: exceptionHandler
{
pushFollow(FOLLOW_exceptionHandler_in_exceptionGroup1046);
exceptionHandler();
state._fsp--;
}
break;
default :
if ( cnt41 >= 1 ) break loop41;
EarlyExitException eee = new EarlyExitException(41, input);
throw eee;
}
cnt41++;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:26: ( finallyClause )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==FINALLY) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:327:27: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1052);
finallyClause();
state._fsp--;
}
break;
}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:328:4: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1059);
finallyClause();
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "exceptionGroup"
// $ANTLR start "exceptionHandler"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:331:1: exceptionHandler : ^( 'catch' ARG_ACTION ACTION ) ;
public final void exceptionHandler() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:332:2: ( ^( 'catch' ARG_ACTION ACTION ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:332:4: ^( 'catch' ARG_ACTION ACTION )
{
match(input,CATCH,FOLLOW_CATCH_in_exceptionHandler1071);
match(input, Token.DOWN, null);
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_exceptionHandler1073);
match(input,ACTION,FOLLOW_ACTION_in_exceptionHandler1075);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "exceptionHandler"
// $ANTLR start "finallyClause"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:335:1: finallyClause : ^( 'finally' ACTION ) ;
public final void finallyClause() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:336:2: ( ^( 'finally' ACTION ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:336:4: ^( 'finally' ACTION )
{
match(input,FINALLY,FOLLOW_FINALLY_in_finallyClause1088);
match(input, Token.DOWN, null);
match(input,ACTION,FOLLOW_ACTION_in_finallyClause1090);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "finallyClause"
// $ANTLR start "rewrite"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:339:1: rewrite : ( ^( REWRITES ( single_rewrite )+ ) | REWRITES |);
public final void rewrite() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:340:2: ( ^( REWRITES ( single_rewrite )+ ) | REWRITES |)
int alt45=3;
int LA45_0 = input.LA(1);
if ( (LA45_0==REWRITES) ) {
int LA45_1 = input.LA(2);
if ( (LA45_1==DOWN) ) {
alt45=1;
}
else if ( (LA45_1==EOF||LA45_1==ALT||LA45_1==EOB) ) {
alt45=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 45, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA45_0==EOF||LA45_0==ALT||LA45_0==EOB) ) {
alt45=3;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 45, 0, input);
throw nvae;
}
switch (alt45) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:340:4: ^( REWRITES ( single_rewrite )+ )
{
match(input,REWRITES,FOLLOW_REWRITES_in_rewrite1103);
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:340:15: ( single_rewrite )+
int cnt44=0;
loop44:
while (true) {
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==REWRITE) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:340:15: single_rewrite
{
pushFollow(FOLLOW_single_rewrite_in_rewrite1105);
single_rewrite();
state._fsp--;
}
break;
default :
if ( cnt44 >= 1 ) break loop44;
EarlyExitException eee = new EarlyExitException(44, input);
throw eee;
}
cnt44++;
}
match(input, Token.UP, null);
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:341:4: REWRITES
{
match(input,REWRITES,FOLLOW_REWRITES_in_rewrite1112);
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:343:2:
{
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "rewrite"
// $ANTLR start "single_rewrite"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:345: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:346:2: ( ^( REWRITE ( SEMPRED )? ( alternative | rewrite_template | ETC | ACTION ) ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:346:4: ^( REWRITE ( SEMPRED )? ( alternative | rewrite_template | ETC | ACTION ) )
{
match(input,REWRITE,FOLLOW_REWRITE_in_single_rewrite1128);
out(" ->");
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:347:4: ( SEMPRED )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==SEMPRED) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:347:6: SEMPRED
{
SEMPRED1=(GrammarAST)match(input,SEMPRED,FOLLOW_SEMPRED_in_single_rewrite1137);
out(" {"+(SEMPRED1!=null?SEMPRED1.getText():null)+"}?");
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:349: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:349:6: alternative
{
pushFollow(FOLLOW_alternative_in_single_rewrite1152);
alternative();
state._fsp--;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:350:6: rewrite_template
{
pushFollow(FOLLOW_rewrite_template_in_single_rewrite1159);
rewrite_template();
state._fsp--;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:351:6: ETC
{
match(input,ETC,FOLLOW_ETC_in_single_rewrite1166);
out("...");
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:352:6: ACTION
{
ACTION2=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_single_rewrite1175);
out(" {"+(ACTION2!=null?ACTION2.getText():null)+"}");
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "single_rewrite"
// $ANTLR start "rewrite_template"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:357: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:358: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:358: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_template1199);
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:359:4: (id= ID |ind= ACTION )
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==ID) ) {
alt48=1;
}
else if ( (LA48_0==ACTION) ) {
alt48=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 48, 0, input);
throw nvae;
}
switch (alt48) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:359:6: id= ID
{
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_rewrite_template1208);
out(" "+(id!=null?id.getText():null));
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:360:6: ind= ACTION
{
ind=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template1219);
out(" ({"+(ind!=null?ind.getText():null)+"})");
}
break;
}
match(input,ARGLIST,FOLLOW_ARGLIST_in_rewrite_template1233);
out("(");
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:364:5: ( ^( ARG arg= ID a= ACTION ) )*
loop49:
while (true) {
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==ARG) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:364:7: ^( ARG arg= ID a= ACTION )
{
match(input,ARG,FOLLOW_ARG_in_rewrite_template1249);
match(input, Token.DOWN, null);
arg=(GrammarAST)match(input,ID,FOLLOW_ID_in_rewrite_template1253);
out((arg!=null?arg.getText():null)+"=");
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_rewrite_template1265);
out((a!=null?a.getText():null));
match(input, Token.UP, null);
}
break;
default :
break loop49;
}
}
out(")");
match(input, Token.UP, null);
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:370:4: ( DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL )?
int alt50=3;
int LA50_0 = input.LA(1);
if ( (LA50_0==DOUBLE_QUOTE_STRING_LITERAL) ) {
alt50=1;
}
else if ( (LA50_0==DOUBLE_ANGLE_STRING_LITERAL) ) {
alt50=2;
}
switch (alt50) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:370:6: DOUBLE_QUOTE_STRING_LITERAL
{
DOUBLE_QUOTE_STRING_LITERAL3=(GrammarAST)match(input,DOUBLE_QUOTE_STRING_LITERAL,FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template1301);
out(" "+(DOUBLE_QUOTE_STRING_LITERAL3!=null?DOUBLE_QUOTE_STRING_LITERAL3.getText():null));
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:371:6: DOUBLE_ANGLE_STRING_LITERAL
{
DOUBLE_ANGLE_STRING_LITERAL4=(GrammarAST)match(input,DOUBLE_ANGLE_STRING_LITERAL,FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template1310);
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 {
// do for sure before leaving
}
}
// $ANTLR end "rewrite_template"
// $ANTLR start "element"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:376: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:377: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 CHAR_LITERAL:
case DOT:
case LABEL:
case RULE_REF:
case STRING_LITERAL:
case TOKEN_REF:
case WILDCARD:
{
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 CLOSURE:
case OPTIONAL:
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:377:4: ^( ROOT element )
{
match(input,ROOT,FOLLOW_ROOT_in_element1334);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1336);
element();
state._fsp--;
match(input, Token.UP, null);
out("^");
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:378:4: ^( BANG element )
{
match(input,BANG,FOLLOW_BANG_in_element1345);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1347);
element();
state._fsp--;
match(input, Token.UP, null);
out("!");
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:379:4: atom
{
pushFollow(FOLLOW_atom_in_element1355);
atom();
state._fsp--;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:380:4: ^( NOT element )
{
match(input,NOT,FOLLOW_NOT_in_element1361);
out("~");
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_element1365);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:381:4: ^( RANGE atom atom )
{
match(input,RANGE,FOLLOW_RANGE_in_element1372);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_atom_in_element1374);
atom();
state._fsp--;
out("..");
pushFollow(FOLLOW_atom_in_element1378);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:382:4: ^( CHAR_RANGE atom atom )
{
match(input,CHAR_RANGE,FOLLOW_CHAR_RANGE_in_element1385);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_atom_in_element1387);
atom();
state._fsp--;
out("..");
pushFollow(FOLLOW_atom_in_element1391);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 7 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:383:4: ^( ASSIGN id= ID element )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_element1398);
match(input, Token.DOWN, null);
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_element1402);
out((id!=null?id.getText():null)+"=");
pushFollow(FOLLOW_element_in_element1406);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 8 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:384:4: ^( PLUS_ASSIGN id2= ID element )
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_element1413);
match(input, Token.DOWN, null);
id2=(GrammarAST)match(input,ID,FOLLOW_ID_in_element1417);
out((id2!=null?id2.getText():null)+"+=");
pushFollow(FOLLOW_element_in_element1421);
element();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 9 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:385:4: ebnf
{
pushFollow(FOLLOW_ebnf_in_element1427);
ebnf();
state._fsp--;
}
break;
case 10 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:386:4: tree_
{
pushFollow(FOLLOW_tree__in_element1432);
tree_();
state._fsp--;
}
break;
case 11 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:387:4: ^( SYNPRED block[true] )
{
match(input,SYNPRED,FOLLOW_SYNPRED_in_element1439);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_element1441);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("=>");
}
break;
case 12 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:388:4: a= ACTION
{
a=(GrammarAST)match(input,ACTION,FOLLOW_ACTION_in_element1453);
if ( showActions ) {out("{"); out((a!=null?a.getText():null)); out("}");}
}
break;
case 13 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:389:4: a2= FORCED_ACTION
{
a2=(GrammarAST)match(input,FORCED_ACTION,FOLLOW_FORCED_ACTION_in_element1463);
if ( showActions ) {out("{{"); out((a2!=null?a2.getText():null)); out("}}");}
}
break;
case 14 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:390:4: pred= SEMPRED
{
pred=(GrammarAST)match(input,SEMPRED,FOLLOW_SEMPRED_in_element1473);
if ( showActions )
{
out("{");
out((pred!=null?pred.getText():null));
out("}?");
}
else
{
out("{...}?");
}
}
break;
case 15 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:403:4: spred= SYN_SEMPRED
{
spred=(GrammarAST)match(input,SYN_SEMPRED,FOLLOW_SYN_SEMPRED_in_element1484);
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:410:4: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_element1494);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:410:24: ( . )*
loop51:
while (true) {
int alt51=2;
int LA51_0 = input.LA(1);
if ( ((LA51_0 >= ACTION && LA51_0 <= XDIGIT)) ) {
alt51=1;
}
else if ( (LA51_0==UP) ) {
alt51=2;
}
switch (alt51) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:410:24: .
{
matchAny(input);
}
break;
default :
break loop51;
}
}
match(input, Token.UP, null);
}
}
break;
case 17 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:411:4: gpred= GATED_SEMPRED
{
gpred=(GrammarAST)match(input,GATED_SEMPRED,FOLLOW_GATED_SEMPRED_in_element1506);
if ( showActions ) {out("{"); out((gpred!=null?gpred.getText():null)); out("}? =>");}
else {out("{...}? =>");}
}
break;
case 18 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:416:4: EPSILON
{
match(input,EPSILON,FOLLOW_EPSILON_in_element1515);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "element"
// $ANTLR start "ebnf"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:419: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:420: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:420:4: block[true]
{
pushFollow(FOLLOW_block_in_ebnf1526);
block(true);
state._fsp--;
out(" ");
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:421:4: ^( OPTIONAL block[true] )
{
match(input,OPTIONAL,FOLLOW_OPTIONAL_in_ebnf1536);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1538);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("? ");
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:422:4: ^( CLOSURE block[true] )
{
match(input,CLOSURE,FOLLOW_CLOSURE_in_ebnf1550);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1552);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("* ");
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:423:4: ^( POSITIVE_CLOSURE block[true] )
{
match(input,POSITIVE_CLOSURE,FOLLOW_POSITIVE_CLOSURE_in_ebnf1565);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ebnf1567);
block(true);
state._fsp--;
match(input, Token.UP, null);
out("+ ");
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ebnf"
// $ANTLR start "tree_"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:426:1: tree_ : ^( TREE_BEGIN element ( element )* ) ;
public final void tree_() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:427:2: ( ^( TREE_BEGIN element ( element )* ) )
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:427:4: ^( TREE_BEGIN element ( element )* )
{
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_tree_1584);
out(" ^(");
match(input, Token.DOWN, null);
pushFollow(FOLLOW_element_in_tree_1588);
element();
state._fsp--;
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:427:39: ( element )*
loop54:
while (true) {
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==ACTION||(LA54_0 >= ASSIGN && LA54_0 <= BLOCK)||(LA54_0 >= CHAR_LITERAL && LA54_0 <= CHAR_RANGE)||LA54_0==CLOSURE||LA54_0==DOT||LA54_0==EPSILON||LA54_0==FORCED_ACTION||LA54_0==GATED_SEMPRED||LA54_0==LABEL||LA54_0==NOT||LA54_0==OPTIONAL||(LA54_0 >= PLUS_ASSIGN && LA54_0 <= POSITIVE_CLOSURE)||LA54_0==RANGE||LA54_0==ROOT||LA54_0==RULE_REF||LA54_0==SEMPRED||(LA54_0 >= STRING_LITERAL && LA54_0 <= SYN_SEMPRED)||LA54_0==TOKEN_REF||LA54_0==TREE_BEGIN||LA54_0==WILDCARD) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:427:40: element
{
pushFollow(FOLLOW_element_in_tree_1591);
element();
state._fsp--;
}
break;
default :
break loop54;
}
}
out(") ");
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tree_"
public static class atom_return extends TreeRuleReturnScope {
};
// $ANTLR start "atom"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:430: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:433: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 CHAR_LITERAL:
case RULE_REF:
case STRING_LITERAL:
case TOKEN_REF:
case WILDCARD:
{
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:433: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:433: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:433:6: ^( RULE_REF (rarg= ARG_ACTION )? ( ast_suffix )? )
{
match(input,RULE_REF,FOLLOW_RULE_REF_in_atom1617);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:434:5: (rarg= ARG_ACTION )?
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==ARG_ACTION) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:434:6: rarg= ARG_ACTION
{
rarg=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1629);
out("["+rarg.toString()+"]");
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:435:5: ( ast_suffix )?
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==BANG||LA56_0==ROOT) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:435:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1640);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:437:5: ^( TOKEN_REF (targ= ARG_ACTION )? ( ast_suffix )? )
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_atom1655);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:438:5: (targ= ARG_ACTION )?
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==ARG_ACTION) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:438:6: targ= ARG_ACTION
{
targ=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1667);
out("["+targ.toString()+"]");
}
break;
}
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:439:5: ( ast_suffix )?
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==BANG||LA58_0==ROOT) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:439:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1679);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:441:5: ^( CHAR_LITERAL ( ast_suffix )? )
{
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_atom1694);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:442:5: ( ast_suffix )?
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==BANG||LA59_0==ROOT) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:442:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1703);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:444:5: ^( STRING_LITERAL ( ast_suffix )? )
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_atom1718);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:445:5: ( ast_suffix )?
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==BANG||LA60_0==ROOT) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:445:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1727);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:447:5: ^( WILDCARD ( ast_suffix )? )
{
match(input,WILDCARD,FOLLOW_WILDCARD_in_atom1742);
out(((GrammarAST)retval.start).toString());
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:448:5: ( ast_suffix )?
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==BANG||LA61_0==ROOT) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:448:6: ast_suffix
{
pushFollow(FOLLOW_ast_suffix_in_atom1752);
ast_suffix();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
break;
}
out(" ");
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:452:4: LABEL
{
LABEL5=(GrammarAST)match(input,LABEL,FOLLOW_LABEL_in_atom1772);
out(" $"+(LABEL5!=null?LABEL5.getText():null));
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:453:4: ^( DOT ID atom )
{
match(input,DOT,FOLLOW_DOT_in_atom1781);
match(input, Token.DOWN, null);
ID6=(GrammarAST)match(input,ID,FOLLOW_ID_in_atom1783);
out((ID6!=null?ID6.getText():null)+".");
pushFollow(FOLLOW_atom_in_atom1787);
atom();
state._fsp--;
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "atom"
// $ANTLR start "ast_suffix"
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:456:1: ast_suffix : ( ROOT | BANG );
public final void ast_suffix() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:457:2: ( ROOT | BANG )
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==ROOT) ) {
alt64=1;
}
else if ( (LA64_0==BANG) ) {
alt64=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 64, 0, input);
throw nvae;
}
switch (alt64) {
case 1 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:457:4: ROOT
{
match(input,ROOT,FOLLOW_ROOT_in_ast_suffix1800);
out("^");
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\ANTLRTreePrinter.g:458:4: BANG
{
match(input,BANG,FOLLOW_BANG_in_ast_suffix1807);
out("!");
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ast_suffix"
// Delegated rules
public static final BitSet FOLLOW_grammar__in_toString73 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rule_in_toString79 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alternative_in_toString85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_element_in_toString91 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_single_rewrite_in_toString97 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rewrite_in_toString103 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EOR_in_toString109 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEXER_GRAMMAR_in_grammar_133 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_135 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PARSER_GRAMMAR_in_grammar_145 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_147 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TREE_GRAMMAR_in_grammar_157 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_159 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COMBINED_GRAMMAR_in_grammar_169 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_grammarSpec_in_grammar_171 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SCOPE_in_attrScope187 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_attrScope189 = new BitSet(new long[]{0x0000000000000210L});
public static final BitSet FOLLOW_ruleAction_in_attrScope191 = new BitSet(new long[]{0x0000000000000210L});
public static final BitSet FOLLOW_ACTION_in_attrScope194 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_grammarSpec210 = new BitSet(new long[]{0x0400200008000200L,0x0000000020028002L});
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec219 = new BitSet(new long[]{0x0400200000000200L,0x0000000020028002L});
public static final BitSet FOLLOW_optionsSpec_in_grammarSpec229 = new BitSet(new long[]{0x0000200000000200L,0x0000000020028002L});
public static final BitSet FOLLOW_delegateGrammars_in_grammarSpec238 = new BitSet(new long[]{0x0000000000000200L,0x0000000020028002L});
public static final BitSet FOLLOW_tokensSpec_in_grammarSpec245 = new BitSet(new long[]{0x0000000000000200L,0x0000000000028002L});
public static final BitSet FOLLOW_attrScope_in_grammarSpec252 = new BitSet(new long[]{0x0000000000000200L,0x0000000000028002L});
public static final BitSet FOLLOW_actions_in_grammarSpec259 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008002L});
public static final BitSet FOLLOW_rules_in_grammarSpec265 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_action_in_actions278 = new BitSet(new long[]{0x0000000000000202L});
public static final BitSet FOLLOW_AMPERSAND_in_action299 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_action303 = new BitSet(new long[]{0x0000080000000010L});
public static final BitSet FOLLOW_ID_in_action312 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_action316 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_action331 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_OPTIONS_in_optionsSpec363 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_option_in_optionsSpec371 = new BitSet(new long[]{0x0000000000002008L});
public static final BitSet FOLLOW_ASSIGN_in_option397 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_option401 = new BitSet(new long[]{0x0000880000040000L,0x0000000001000000L});
public static final BitSet FOLLOW_optionValue_in_option405 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_optionValue420 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_optionValue440 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_optionValue449 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INT_in_optionValue460 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORT_in_delegateGrammars490 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ASSIGN_in_delegateGrammars495 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_delegateGrammars497 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_ID_in_delegateGrammars499 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_delegateGrammars504 = new BitSet(new long[]{0x0000080000002008L});
public static final BitSet FOLLOW_TOKENS_in_tokensSpec521 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_tokenSpec_in_tokensSpec523 = new BitSet(new long[]{0x0000000000002008L,0x0000000040000000L});
public static final BitSet FOLLOW_TOKEN_REF_in_tokenSpec536 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGN_in_tokenSpec543 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_TOKEN_REF_in_tokenSpec545 = new BitSet(new long[]{0x0000000000040000L,0x0000000001000000L});
public static final BitSet FOLLOW_set_in_tokenSpec547 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_rule_in_rules566 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008002L});
public static final BitSet FOLLOW_precRule_in_rules570 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008002L});
public static final BitSet FOLLOW_RULE_in_rule586 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rule590 = new BitSet(new long[]{0x0000010000000400L,0x000000000000001CL});
public static final BitSet FOLLOW_modifier_in_rule596 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_ARG_in_rule609 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rule614 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RET_in_rule627 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rule632 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_throwsSpec_in_rule645 = new BitSet(new long[]{0x0400000000010200L,0x0000000000020000L});
public static final BitSet FOLLOW_optionsSpec_in_rule653 = new BitSet(new long[]{0x0000000000010200L,0x0000000000020000L});
public static final BitSet FOLLOW_ruleScopeSpec_in_rule661 = new BitSet(new long[]{0x0000000000010200L});
public static final BitSet FOLLOW_ruleAction_in_rule669 = new BitSet(new long[]{0x0000000000010200L});
public static final BitSet FOLLOW_block_in_rule688 = new BitSet(new long[]{0x0000004400020000L});
public static final BitSet FOLLOW_exceptionGroup_in_rule695 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_EOR_in_rule702 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PREC_RULE_in_precRule721 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_precRule725 = new BitSet(new long[]{0x0000010000000400L,0x000000000000001CL});
public static final BitSet FOLLOW_modifier_in_precRule731 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_ARG_in_precRule744 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_precRule749 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RET_in_precRule762 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_precRule767 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_throwsSpec_in_precRule780 = new BitSet(new long[]{0x0400000000010200L,0x0000000000020000L});
public static final BitSet FOLLOW_optionsSpec_in_precRule788 = new BitSet(new long[]{0x0000000000010200L,0x0000000000020000L});
public static final BitSet FOLLOW_ruleScopeSpec_in_precRule796 = new BitSet(new long[]{0x0000000000010200L});
public static final BitSet FOLLOW_ruleAction_in_precRule804 = new BitSet(new long[]{0x0000000000010200L});
public static final BitSet FOLLOW_block_in_precRule823 = new BitSet(new long[]{0x0000004400020000L});
public static final BitSet FOLLOW_exceptionGroup_in_precRule830 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_EOR_in_precRule837 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_AMPERSAND_in_ruleAction855 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_ruleAction859 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_ruleAction863 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_THROWS_in_throwsSpec912 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_throwsSpec914 = new BitSet(new long[]{0x0000080000000008L});
public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec929 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ruleAction_in_ruleScopeSpec931 = new BitSet(new long[]{0x0000080000000218L});
public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec935 = new BitSet(new long[]{0x0000080000000008L});
public static final BitSet FOLLOW_ID_in_ruleScopeSpec941 = new BitSet(new long[]{0x0000080000000008L});
public static final BitSet FOLLOW_BLOCK_in_block965 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_optionsSpec_in_block976 = new BitSet(new long[]{0x0000000000000100L});
public static final BitSet FOLLOW_alternative_in_block986 = new BitSet(new long[]{0x0000000200000100L,0x0000000000001000L});
public static final BitSet FOLLOW_rewrite_in_block988 = new BitSet(new long[]{0x0000000200000100L});
public static final BitSet FOLLOW_alternative_in_block994 = new BitSet(new long[]{0x0000000200000100L,0x0000000000001000L});
public static final BitSet FOLLOW_rewrite_in_block996 = new BitSet(new long[]{0x0000000200000100L});
public static final BitSet FOLLOW_EOB_in_block1004 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_alternative1026 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_alternative1028 = new BitSet(new long[]{0x82810289202DE010L,0x0000000547092041L});
public static final BitSet FOLLOW_EOA_in_alternative1031 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_exceptionHandler_in_exceptionGroup1046 = new BitSet(new long[]{0x0000004000020002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1052 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1059 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_exceptionHandler1071 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_exceptionHandler1073 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_exceptionHandler1075 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FINALLY_in_finallyClause1088 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_finallyClause1090 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_REWRITES_in_rewrite1103 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_single_rewrite_in_rewrite1105 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000800L});
public static final BitSet FOLLOW_REWRITES_in_rewrite1112 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REWRITE_in_single_rewrite1128 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_SEMPRED_in_single_rewrite1137 = new BitSet(new long[]{0x0000002000000110L,0x0000000008000000L});
public static final BitSet FOLLOW_alternative_in_single_rewrite1152 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_rewrite_template_in_single_rewrite1159 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ETC_in_single_rewrite1166 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_single_rewrite1175 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TEMPLATE_in_rewrite_template1199 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rewrite_template1208 = new BitSet(new long[]{0x0000000000000800L});
public static final BitSet FOLLOW_ACTION_in_rewrite_template1219 = new BitSet(new long[]{0x0000000000000800L});
public static final BitSet FOLLOW_ARGLIST_in_rewrite_template1233 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_in_rewrite_template1249 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rewrite_template1253 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_rewrite_template1265 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewrite_template1301 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewrite_template1310 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_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_BANG_in_element1345 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1347 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_atom_in_element1355 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_element1361 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1365 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RANGE_in_element1372 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element1374 = new BitSet(new long[]{0x0001000020040000L,0x0000000441010000L});
public static final BitSet FOLLOW_atom_in_element1378 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_RANGE_in_element1385 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element1387 = new BitSet(new long[]{0x0001000020040000L,0x0000000441010000L});
public static final BitSet FOLLOW_atom_in_element1391 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_element1398 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1402 = new BitSet(new long[]{0x82810288202DE010L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_element1406 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_element1413 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1417 = new BitSet(new long[]{0x82810288202DE010L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_element1421 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ebnf_in_element1427 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tree__in_element1432 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYNPRED_in_element1439 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_element1441 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ACTION_in_element1453 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FORCED_ACTION_in_element1463 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMPRED_in_element1473 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYN_SEMPRED_in_element1484 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_element1494 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_GATED_SEMPRED_in_element1506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EPSILON_in_element1515 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_ebnf1526 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPTIONAL_in_ebnf1536 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1538 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CLOSURE_in_ebnf1550 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1552 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_POSITIVE_CLOSURE_in_ebnf1565 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1567 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TREE_BEGIN_in_tree_1584 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_tree_1588 = new BitSet(new long[]{0x82810288202DE018L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_tree_1591 = new BitSet(new long[]{0x82810288202DE018L,0x0000000547092041L});
public static final BitSet FOLLOW_RULE_REF_in_atom1617 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1629 = new BitSet(new long[]{0x0000000000008008L,0x0000000000002000L});
public static final BitSet FOLLOW_ast_suffix_in_atom1640 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_atom1655 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1667 = new BitSet(new long[]{0x0000000000008008L,0x0000000000002000L});
public static final BitSet FOLLOW_ast_suffix_in_atom1679 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_atom1694 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1703 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_atom1718 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1727 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_WILDCARD_in_atom1742 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ast_suffix_in_atom1752 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LABEL_in_atom1772 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_atom1781 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_atom1783 = new BitSet(new long[]{0x0001000020040000L,0x0000000441010000L});
public static final BitSet FOLLOW_atom_in_atom1787 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_in_ast_suffix1800 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BANG_in_ast_suffix1807 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy