org.antlr.grammar.v3.LeftRecursiveRuleWalker 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\\LeftRecursiveRuleWalker.g 2013-09-27 18:41:10
package org.antlr.grammar.v3;
import org.antlr.analysis.*;
import org.antlr.misc.*;
import org.antlr.tool.*;
import org.antlr.runtime.BitSet;
import org.antlr.runtime.DFA;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
/** Find left-recursive rules */
@SuppressWarnings("all")
public class LeftRecursiveRuleWalker 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 LeftRecursiveRuleWalker(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public LeftRecursiveRuleWalker(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return LeftRecursiveRuleWalker.tokenNames; }
@Override public String getGrammarFileName() { return "org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g"; }
protected Grammar grammar;
private String ruleName;
private int outerAlt; // which outer alt of rule?
public int numAlts; // how many alts for this rule total?
@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,
"assign.types: " + ex.toString(),
ex);
}
public void setTokenPrec(GrammarAST t, int alt) {}
public void binaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt) {}
public void ternaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt) {}
public void prefixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt) {}
public void suffixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt) {}
public void otherAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt) {}
public void setReturnValues(GrammarAST t) {}
// $ANTLR start "optionsSpec"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:89:1: optionsSpec : ^( OPTIONS ( option )+ ) ;
public final void optionsSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:90:2: ( ^( OPTIONS ( option )+ ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:90:4: ^( OPTIONS ( option )+ )
{
match(input,OPTIONS,FOLLOW_OPTIONS_in_optionsSpec57); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:90:14: ( option )+
int cnt1=0;
loop1:
while (true) {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==ASSIGN) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:90:14: option
{
pushFollow(FOLLOW_option_in_optionsSpec59);
option();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt1 >= 1 ) break loop1;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(1, input);
throw eee;
}
cnt1++;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "optionsSpec"
// $ANTLR start "option"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:93:1: option : ^( ASSIGN ID optionValue ) ;
public final void option() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:94:2: ( ^( ASSIGN ID optionValue ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:94:4: ^( ASSIGN ID optionValue )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_option73); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_option75); if (state.failed) return;
pushFollow(FOLLOW_optionValue_in_option77);
optionValue();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "option"
// $ANTLR start "optionValue"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:97:1: optionValue : ( ID | STRING_LITERAL | CHAR_LITERAL | INT );
public final void optionValue() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:98:2: ( ID | STRING_LITERAL | CHAR_LITERAL | INT )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:
{
if ( input.LA(1)==CHAR_LITERAL||input.LA(1)==ID||input.LA(1)==INT||input.LA(1)==STRING_LITERAL ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "optionValue"
// $ANTLR start "charSetElement"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:104:1: charSetElement : ( CHAR_LITERAL | ^( OR CHAR_LITERAL CHAR_LITERAL ) | ^( RANGE CHAR_LITERAL CHAR_LITERAL ) );
public final void charSetElement() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:105:2: ( CHAR_LITERAL | ^( OR CHAR_LITERAL CHAR_LITERAL ) | ^( RANGE CHAR_LITERAL CHAR_LITERAL ) )
int alt2=3;
switch ( input.LA(1) ) {
case CHAR_LITERAL:
{
alt2=1;
}
break;
case OR:
{
alt2=2;
}
break;
case RANGE:
{
alt2=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:105:4: CHAR_LITERAL
{
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_charSetElement115); if (state.failed) return;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:106:4: ^( OR CHAR_LITERAL CHAR_LITERAL )
{
match(input,OR,FOLLOW_OR_in_charSetElement121); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_charSetElement123); if (state.failed) return;
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_charSetElement125); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:107:4: ^( RANGE CHAR_LITERAL CHAR_LITERAL )
{
match(input,RANGE,FOLLOW_RANGE_in_charSetElement132); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_charSetElement134); if (state.failed) return;
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_charSetElement136); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "charSetElement"
// $ANTLR start "rec_rule"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:111:1: public rec_rule[Grammar g] returns [boolean isLeftRec] : ^(r= RULE id= ID ( modifier )? ^( ARG ( ARG_ACTION )? ) ^( RET ( ARG_ACTION )? ) ( optionsSpec )? ( ruleScopeSpec )? ( ^( AMPERSAND ( . )* ) )* ruleBlock ( exceptionGroup )? EOR ) ;
public final boolean rec_rule(Grammar g) throws RecognitionException {
boolean isLeftRec = false;
GrammarAST r=null;
GrammarAST id=null;
TreeRuleReturnScope ruleBlock1 =null;
grammar = g;
outerAlt = 1;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:117:2: ( ^(r= RULE id= ID ( modifier )? ^( ARG ( ARG_ACTION )? ) ^( RET ( ARG_ACTION )? ) ( optionsSpec )? ( ruleScopeSpec )? ( ^( AMPERSAND ( . )* ) )* ruleBlock ( exceptionGroup )? EOR ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:117:4: ^(r= RULE id= ID ( modifier )? ^( ARG ( ARG_ACTION )? ) ^( RET ( ARG_ACTION )? ) ( optionsSpec )? ( ruleScopeSpec )? ( ^( AMPERSAND ( . )* ) )* ruleBlock ( exceptionGroup )? EOR )
{
r=(GrammarAST)match(input,RULE,FOLLOW_RULE_in_rec_rule164); if (state.failed) return isLeftRec;
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
id=(GrammarAST)match(input,ID,FOLLOW_ID_in_rec_rule168); if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {ruleName=id.getText();}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:118:4: ( modifier )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==FRAGMENT||(LA3_0 >= PRIVATE && LA3_0 <= PUBLIC)) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:118:4: modifier
{
pushFollow(FOLLOW_modifier_in_rec_rule175);
modifier();
state._fsp--;
if (state.failed) return isLeftRec;
}
break;
}
match(input,ARG,FOLLOW_ARG_in_rec_rule182); if (state.failed) return isLeftRec;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:119:10: ( ARG_ACTION )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==ARG_ACTION) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:119:10: ARG_ACTION
{
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rec_rule184); if (state.failed) return isLeftRec;
}
break;
}
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
match(input,RET,FOLLOW_RET_in_rec_rule192); if (state.failed) return isLeftRec;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:120:10: ( ARG_ACTION )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==ARG_ACTION) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:120:10: ARG_ACTION
{
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rec_rule194); if (state.failed) return isLeftRec;
}
break;
}
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:121:4: ( optionsSpec )?
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==OPTIONS) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:121:4: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_rec_rule201);
optionsSpec();
state._fsp--;
if (state.failed) return isLeftRec;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:122:4: ( ruleScopeSpec )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==SCOPE) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:122:4: ruleScopeSpec
{
pushFollow(FOLLOW_ruleScopeSpec_in_rec_rule207);
ruleScopeSpec();
state._fsp--;
if (state.failed) return isLeftRec;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:123:4: ( ^( AMPERSAND ( . )* ) )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==AMPERSAND) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:123:5: ^( AMPERSAND ( . )* )
{
match(input,AMPERSAND,FOLLOW_AMPERSAND_in_rec_rule215); if (state.failed) return isLeftRec;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:123:17: ( . )*
loop8:
while (true) {
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0 >= ACTION && LA8_0 <= XDIGIT)) ) {
alt8=1;
}
else if ( (LA8_0==UP) ) {
alt8=2;
}
switch (alt8) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:123:17: .
{
matchAny(input); if (state.failed) return isLeftRec;
}
break;
default :
break loop8;
}
}
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
}
break;
default :
break loop9;
}
}
pushFollow(FOLLOW_ruleBlock_in_rec_rule226);
ruleBlock1=ruleBlock();
state._fsp--;
if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {isLeftRec = (ruleBlock1!=null?((LeftRecursiveRuleWalker.ruleBlock_return)ruleBlock1).isLeftRec:false);}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:125:4: ( exceptionGroup )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==CATCH||LA10_0==FINALLY) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:125:4: exceptionGroup
{
pushFollow(FOLLOW_exceptionGroup_in_rec_rule233);
exceptionGroup();
state._fsp--;
if (state.failed) return isLeftRec;
}
break;
}
match(input,EOR,FOLLOW_EOR_in_rec_rule239); if (state.failed) return isLeftRec;
match(input, Token.UP, null); if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {if ((ruleBlock1!=null?((LeftRecursiveRuleWalker.ruleBlock_return)ruleBlock1).isLeftRec:false)) r.setType(PREC_RULE);}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return isLeftRec;
}
// $ANTLR end "rec_rule"
// $ANTLR start "modifier"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:131:1: modifier : ( 'protected' | 'public' | 'private' | 'fragment' );
public final void modifier() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:132:2: ( 'protected' | 'public' | 'private' | 'fragment' )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:
{
if ( input.LA(1)==FRAGMENT||(input.LA(1) >= PRIVATE && input.LA(1) <= PUBLIC) ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "modifier"
// $ANTLR start "ruleScopeSpec"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:138:1: ruleScopeSpec : ^( 'scope' ( ACTION )? ( ID )* ) ;
public final void ruleScopeSpec() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:3: ( ^( 'scope' ( ACTION )? ( ID )* ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:5: ^( 'scope' ( ACTION )? ( ID )* )
{
match(input,SCOPE,FOLLOW_SCOPE_in_ruleScopeSpec286); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:15: ( ACTION )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==ACTION) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:15: ACTION
{
match(input,ACTION,FOLLOW_ACTION_in_ruleScopeSpec288); if (state.failed) return;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:23: ( ID )*
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==ID) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:139:23: ID
{
match(input,ID,FOLLOW_ID_in_ruleScopeSpec291); if (state.failed) return;
}
break;
default :
break loop12;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ruleScopeSpec"
public static class ruleBlock_return extends TreeRuleReturnScope {
public boolean isLeftRec;
};
// $ANTLR start "ruleBlock"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:142:1: ruleBlock returns [boolean isLeftRec] : ^( BLOCK ( optionsSpec )? ( outerAlternative ( rewrite )? )+ EOB ) ;
public final LeftRecursiveRuleWalker.ruleBlock_return ruleBlock() throws RecognitionException {
LeftRecursiveRuleWalker.ruleBlock_return retval = new LeftRecursiveRuleWalker.ruleBlock_return();
retval.start = input.LT(1);
TreeRuleReturnScope outerAlternative2 =null;
boolean lr=false; this.numAlts = ((GrammarAST)retval.start).getChildCount();
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:144:2: ( ^( BLOCK ( optionsSpec )? ( outerAlternative ( rewrite )? )+ EOB ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:144:4: ^( BLOCK ( optionsSpec )? ( outerAlternative ( rewrite )? )+ EOB )
{
match(input,BLOCK,FOLLOW_BLOCK_in_ruleBlock315); if (state.failed) return retval;
match(input, Token.DOWN, null); if (state.failed) return retval;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:145:4: ( optionsSpec )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==OPTIONS) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:145:4: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_ruleBlock320);
optionsSpec();
state._fsp--;
if (state.failed) return retval;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:146:4: ( outerAlternative ( rewrite )? )+
int cnt15=0;
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==ALT) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:146:6: outerAlternative ( rewrite )?
{
pushFollow(FOLLOW_outerAlternative_in_ruleBlock328);
outerAlternative2=outerAlternative();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {if ((outerAlternative2!=null?((LeftRecursiveRuleWalker.outerAlternative_return)outerAlternative2).isLeftRec:false)) retval.isLeftRec = true;}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:148:5: ( rewrite )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==REWRITES) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:148:5: rewrite
{
pushFollow(FOLLOW_rewrite_in_ruleBlock340);
rewrite();
state._fsp--;
if (state.failed) return retval;
}
break;
}
if ( state.backtracking==0 ) {outerAlt++;}
}
break;
default :
if ( cnt15 >= 1 ) break loop15;
if (state.backtracking>0) {state.failed=true; return retval;}
EarlyExitException eee = new EarlyExitException(15, input);
throw eee;
}
cnt15++;
}
match(input,EOB,FOLLOW_EOB_in_ruleBlock358); if (state.failed) return retval;
match(input, Token.UP, null); if (state.failed) return retval;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ruleBlock"
// $ANTLR start "block"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:155:1: block : ^( BLOCK ( optionsSpec )? ( ^( ALT ( element )+ EOA ) ( rewrite )? )+ EOB ) ;
public final void block() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:156:5: ( ^( BLOCK ( optionsSpec )? ( ^( ALT ( element )+ EOA ) ( rewrite )? )+ EOB ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:156:9: ^( BLOCK ( optionsSpec )? ( ^( ALT ( element )+ EOA ) ( rewrite )? )+ EOB )
{
match(input,BLOCK,FOLLOW_BLOCK_in_block381); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:157:13: ( optionsSpec )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==OPTIONS) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:157:13: optionsSpec
{
pushFollow(FOLLOW_optionsSpec_in_block395);
optionsSpec();
state._fsp--;
if (state.failed) return;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:13: ( ^( ALT ( element )+ EOA ) ( rewrite )? )+
int cnt19=0;
loop19:
while (true) {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==ALT) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:15: ^( ALT ( element )+ EOA ) ( rewrite )?
{
match(input,ALT,FOLLOW_ALT_in_block413); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:21: ( element )+
int cnt17=0;
loop17:
while (true) {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==ACTION||(LA17_0 >= ASSIGN && LA17_0 <= BLOCK)||LA17_0==CHAR_LITERAL||LA17_0==CLOSURE||LA17_0==DOT||LA17_0==EPSILON||LA17_0==FORCED_ACTION||LA17_0==GATED_SEMPRED||LA17_0==NOT||LA17_0==OPTIONAL||(LA17_0 >= PLUS_ASSIGN && LA17_0 <= POSITIVE_CLOSURE)||LA17_0==RANGE||LA17_0==ROOT||LA17_0==RULE_REF||LA17_0==SEMPRED||(LA17_0 >= STRING_LITERAL && LA17_0 <= SYN_SEMPRED)||LA17_0==TOKEN_REF||LA17_0==TREE_BEGIN||LA17_0==WILDCARD) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:21: element
{
pushFollow(FOLLOW_element_in_block415);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(17, input);
throw eee;
}
cnt17++;
}
match(input,EOA,FOLLOW_EOA_in_block418); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:35: ( rewrite )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==REWRITES) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:158:35: rewrite
{
pushFollow(FOLLOW_rewrite_in_block421);
rewrite();
state._fsp--;
if (state.failed) return;
}
break;
}
}
break;
default :
if ( cnt19 >= 1 ) break loop19;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(19, input);
throw eee;
}
cnt19++;
}
match(input,EOB,FOLLOW_EOB_in_block439); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "block"
public static class outerAlternative_return extends TreeRuleReturnScope {
public boolean isLeftRec;
};
// $ANTLR start "outerAlternative"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:164:1: outerAlternative returns [boolean isLeftRec] : ( ( binaryMultipleOp )=> binaryMultipleOp | ( binary )=> binary | ( ternary )=> ternary | ( prefix )=> prefix | ( suffix )=> suffix | ^( ALT ( element )+ EOA ) );
public final LeftRecursiveRuleWalker.outerAlternative_return outerAlternative() throws RecognitionException {
LeftRecursiveRuleWalker.outerAlternative_return retval = new LeftRecursiveRuleWalker.outerAlternative_return();
retval.start = input.LT(1);
GrammarAST rew = ((GrammarAST)retval.start).getNextSibling();
if (rew.getType() != REWRITES)
rew = null;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:171:5: ( ( binaryMultipleOp )=> binaryMultipleOp | ( binary )=> binary | ( ternary )=> ternary | ( prefix )=> prefix | ( suffix )=> suffix | ^( ALT ( element )+ EOA ) )
int alt21=6;
int LA21_0 = input.LA(1);
if ( (LA21_0==ALT) ) {
int LA21_1 = input.LA(2);
if ( (synpred1_LeftRecursiveRuleWalker()) ) {
alt21=1;
}
else if ( (synpred2_LeftRecursiveRuleWalker()) ) {
alt21=2;
}
else if ( (synpred3_LeftRecursiveRuleWalker()) ) {
alt21=3;
}
else if ( (synpred4_LeftRecursiveRuleWalker()) ) {
alt21=4;
}
else if ( (synpred5_LeftRecursiveRuleWalker()) ) {
alt21=5;
}
else if ( (true) ) {
alt21=6;
}
}
else {
if (state.backtracking>0) {state.failed=true; return retval;}
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:171:9: ( binaryMultipleOp )=> binaryMultipleOp
{
pushFollow(FOLLOW_binaryMultipleOp_in_outerAlternative488);
binaryMultipleOp();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {binaryAlt(((GrammarAST)retval.start), rew, outerAlt); retval.isLeftRec =true;}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:173:9: ( binary )=> binary
{
pushFollow(FOLLOW_binary_in_outerAlternative544);
binary();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {binaryAlt(((GrammarAST)retval.start), rew, outerAlt); retval.isLeftRec =true;}
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:175:9: ( ternary )=> ternary
{
pushFollow(FOLLOW_ternary_in_outerAlternative606);
ternary();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {ternaryAlt(((GrammarAST)retval.start), rew, outerAlt); retval.isLeftRec =true;}
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:177:9: ( prefix )=> prefix
{
pushFollow(FOLLOW_prefix_in_outerAlternative662);
prefix();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {prefixAlt(((GrammarAST)retval.start), rew, outerAlt);}
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:179:9: ( suffix )=> suffix
{
pushFollow(FOLLOW_suffix_in_outerAlternative718);
suffix();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {suffixAlt(((GrammarAST)retval.start), rew, outerAlt); retval.isLeftRec =true;}
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:181:9: ^( ALT ( element )+ EOA )
{
match(input,ALT,FOLLOW_ALT_in_outerAlternative760); if (state.failed) return retval;
match(input, Token.DOWN, null); if (state.failed) return retval;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:181:15: ( element )+
int cnt20=0;
loop20:
while (true) {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==ACTION||(LA20_0 >= ASSIGN && LA20_0 <= BLOCK)||LA20_0==CHAR_LITERAL||LA20_0==CLOSURE||LA20_0==DOT||LA20_0==EPSILON||LA20_0==FORCED_ACTION||LA20_0==GATED_SEMPRED||LA20_0==NOT||LA20_0==OPTIONAL||(LA20_0 >= PLUS_ASSIGN && LA20_0 <= POSITIVE_CLOSURE)||LA20_0==RANGE||LA20_0==ROOT||LA20_0==RULE_REF||LA20_0==SEMPRED||(LA20_0 >= STRING_LITERAL && LA20_0 <= SYN_SEMPRED)||LA20_0==TOKEN_REF||LA20_0==TREE_BEGIN||LA20_0==WILDCARD) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:181:15: element
{
pushFollow(FOLLOW_element_in_outerAlternative762);
element();
state._fsp--;
if (state.failed) return retval;
}
break;
default :
if ( cnt20 >= 1 ) break loop20;
if (state.backtracking>0) {state.failed=true; return retval;}
EarlyExitException eee = new EarlyExitException(20, input);
throw eee;
}
cnt20++;
}
match(input,EOA,FOLLOW_EOA_in_outerAlternative765); if (state.failed) return retval;
match(input, Token.UP, null); if (state.failed) return retval;
if ( state.backtracking==0 ) {otherAlt(((GrammarAST)retval.start), rew, outerAlt);}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "outerAlternative"
// $ANTLR start "binary"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:185:1: binary : ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse EOA ) ;
public final void binary() throws RecognitionException {
GrammarAST op =null;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:2: ( ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse EOA ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:4: ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse EOA )
{
match(input,ALT,FOLLOW_ALT_in_binary814); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:11: ( ^( BACKTRACK_SEMPRED ( . )* ) )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==BACKTRACK_SEMPRED) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:12: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_binary818); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:32: ( . )*
loop22:
while (true) {
int alt22=2;
int LA22_0 = input.LA(1);
if ( ((LA22_0 >= ACTION && LA22_0 <= XDIGIT)) ) {
alt22=1;
}
else if ( (LA22_0==UP) ) {
alt22=2;
}
switch (alt22) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:186:32: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop22;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
}
pushFollow(FOLLOW_recurseNoLabel_in_binary826);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_token_in_binary830);
op=token();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_recurse_in_binary832);
recurse();
state._fsp--;
if (state.failed) return;
match(input,EOA,FOLLOW_EOA_in_binary834); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
if ( state.backtracking==0 ) {setTokenPrec(op, outerAlt);}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "binary"
// $ANTLR start "binaryMultipleOp"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:189:1: binaryMultipleOp : ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ^( BLOCK ( ^( ALT op= token EOA ) )+ EOB ) recurse EOA ) ;
public final void binaryMultipleOp() throws RecognitionException {
GrammarAST op =null;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:2: ( ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ^( BLOCK ( ^( ALT op= token EOA ) )+ EOB ) recurse EOA ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:4: ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ^( BLOCK ( ^( ALT op= token EOA ) )+ EOB ) recurse EOA )
{
match(input,ALT,FOLLOW_ALT_in_binaryMultipleOp851); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:11: ( ^( BACKTRACK_SEMPRED ( . )* ) )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==BACKTRACK_SEMPRED) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:12: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_binaryMultipleOp855); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:32: ( . )*
loop24:
while (true) {
int alt24=2;
int LA24_0 = input.LA(1);
if ( ((LA24_0 >= ACTION && LA24_0 <= XDIGIT)) ) {
alt24=1;
}
else if ( (LA24_0==UP) ) {
alt24=2;
}
switch (alt24) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:32: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop24;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
}
pushFollow(FOLLOW_recurseNoLabel_in_binaryMultipleOp863);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
match(input,BLOCK,FOLLOW_BLOCK_in_binaryMultipleOp867); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:62: ( ^( ALT op= token EOA ) )+
int cnt26=0;
loop26:
while (true) {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==ALT) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:190:64: ^( ALT op= token EOA )
{
match(input,ALT,FOLLOW_ALT_in_binaryMultipleOp873); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_token_in_binaryMultipleOp877);
op=token();
state._fsp--;
if (state.failed) return;
match(input,EOA,FOLLOW_EOA_in_binaryMultipleOp879); if (state.failed) return;
if ( state.backtracking==0 ) {setTokenPrec(op, outerAlt);}
match(input, Token.UP, null); if (state.failed) return;
}
break;
default :
if ( cnt26 >= 1 ) break loop26;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(26, input);
throw eee;
}
cnt26++;
}
match(input,EOB,FOLLOW_EOB_in_binaryMultipleOp888); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
pushFollow(FOLLOW_recurse_in_binaryMultipleOp892);
recurse();
state._fsp--;
if (state.failed) return;
match(input,EOA,FOLLOW_EOA_in_binaryMultipleOp894); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "binaryMultipleOp"
// $ANTLR start "ternary"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:193:1: ternary : ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse token recurse EOA ) ;
public final void ternary() throws RecognitionException {
GrammarAST op =null;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:2: ( ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse token recurse EOA ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:4: ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel op= token recurse token recurse EOA )
{
match(input,ALT,FOLLOW_ALT_in_ternary909); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:11: ( ^( BACKTRACK_SEMPRED ( . )* ) )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==BACKTRACK_SEMPRED) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:12: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_ternary913); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:32: ( . )*
loop27:
while (true) {
int alt27=2;
int LA27_0 = input.LA(1);
if ( ((LA27_0 >= ACTION && LA27_0 <= XDIGIT)) ) {
alt27=1;
}
else if ( (LA27_0==UP) ) {
alt27=2;
}
switch (alt27) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:194:32: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop27;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
}
pushFollow(FOLLOW_recurseNoLabel_in_ternary921);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_token_in_ternary925);
op=token();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_recurse_in_ternary927);
recurse();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_token_in_ternary929);
token();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_recurse_in_ternary931);
recurse();
state._fsp--;
if (state.failed) return;
match(input,EOA,FOLLOW_EOA_in_ternary933); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
if ( state.backtracking==0 ) {setTokenPrec(op, outerAlt);}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ternary"
// $ANTLR start "prefix"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:1: prefix : ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? ({...}? element )+ recurse EOA ) ;
public final void prefix() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:8: ( ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? ({...}? element )+ recurse EOA ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:10: ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? ({...}? element )+ recurse EOA )
{
match(input,ALT,FOLLOW_ALT_in_prefix949); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:17: ( ^( BACKTRACK_SEMPRED ( . )* ) )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==BACKTRACK_SEMPRED) ) {
int LA30_1 = input.LA(2);
if ( (LA30_1==DOWN) ) {
alt30=1;
}
}
switch (alt30) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:18: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_prefix953); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:38: ( . )*
loop29:
while (true) {
int alt29=2;
int LA29_0 = input.LA(1);
if ( ((LA29_0 >= ACTION && LA29_0 <= XDIGIT)) ) {
alt29=1;
}
else if ( (LA29_0==UP) ) {
alt29=2;
}
switch (alt29) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:38: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop29;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
}
if ( state.backtracking==0 ) {setTokenPrec((GrammarAST)input.LT(1), outerAlt);}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:95: ({...}? element )+
int cnt31=0;
loop31:
while (true) {
int alt31=2;
switch ( input.LA(1) ) {
case ASSIGN:
{
int LA31_1 = input.LA(2);
if ( (LA31_1==DOWN) ) {
int LA31_5 = input.LA(3);
if ( (LA31_5==ID) ) {
int LA31_8 = input.LA(4);
if ( (LA31_8==RULE_REF) ) {
int LA31_10 = input.LA(5);
if ( (LA31_10==DOWN) ) {
alt31=1;
}
}
else if ( (LA31_8==ACTION||(LA31_8 >= ASSIGN && LA31_8 <= BLOCK)||LA31_8==CHAR_LITERAL||LA31_8==CLOSURE||LA31_8==DOT||LA31_8==EPSILON||LA31_8==FORCED_ACTION||LA31_8==GATED_SEMPRED||LA31_8==NOT||LA31_8==OPTIONAL||(LA31_8 >= PLUS_ASSIGN && LA31_8 <= POSITIVE_CLOSURE)||LA31_8==RANGE||LA31_8==ROOT||LA31_8==SEMPRED||(LA31_8 >= STRING_LITERAL && LA31_8 <= SYN_SEMPRED)||LA31_8==TOKEN_REF||LA31_8==TREE_BEGIN||LA31_8==WILDCARD) ) {
alt31=1;
}
}
}
}
break;
case PLUS_ASSIGN:
{
int LA31_2 = input.LA(2);
if ( (LA31_2==DOWN) ) {
int LA31_6 = input.LA(3);
if ( (LA31_6==ID) ) {
int LA31_9 = input.LA(4);
if ( (LA31_9==RULE_REF) ) {
int LA31_11 = input.LA(5);
if ( (LA31_11==DOWN) ) {
alt31=1;
}
}
else if ( (LA31_9==ACTION||(LA31_9 >= ASSIGN && LA31_9 <= BLOCK)||LA31_9==CHAR_LITERAL||LA31_9==CLOSURE||LA31_9==DOT||LA31_9==EPSILON||LA31_9==FORCED_ACTION||LA31_9==GATED_SEMPRED||LA31_9==NOT||LA31_9==OPTIONAL||(LA31_9 >= PLUS_ASSIGN && LA31_9 <= POSITIVE_CLOSURE)||LA31_9==RANGE||LA31_9==ROOT||LA31_9==SEMPRED||(LA31_9 >= STRING_LITERAL && LA31_9 <= SYN_SEMPRED)||LA31_9==TOKEN_REF||LA31_9==TREE_BEGIN||LA31_9==WILDCARD) ) {
alt31=1;
}
}
}
}
break;
case RULE_REF:
{
int LA31_3 = input.LA(2);
if ( (LA31_3==DOWN) ) {
alt31=1;
}
}
break;
case ACTION:
case BACKTRACK_SEMPRED:
case BANG:
case BLOCK:
case CHAR_LITERAL:
case CLOSURE:
case DOT:
case EPSILON:
case FORCED_ACTION:
case GATED_SEMPRED:
case NOT:
case OPTIONAL:
case POSITIVE_CLOSURE:
case RANGE:
case ROOT:
case SEMPRED:
case STRING_LITERAL:
case SYNPRED:
case SYN_SEMPRED:
case TOKEN_REF:
case TREE_BEGIN:
case WILDCARD:
{
alt31=1;
}
break;
}
switch (alt31) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:197:96: {...}? element
{
if ( !((!((CommonTree)input.LT(1)).getText().equals(ruleName))) ) {
if (state.backtracking>0) {state.failed=true; return;}
throw new FailedPredicateException(input, "prefix", "!((CommonTree)input.LT(1)).getText().equals(ruleName)");
}
pushFollow(FOLLOW_element_in_prefix966);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt31 >= 1 ) break loop31;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(31, input);
throw eee;
}
cnt31++;
}
pushFollow(FOLLOW_recurse_in_prefix970);
recurse();
state._fsp--;
if (state.failed) return;
match(input,EOA,FOLLOW_EOA_in_prefix972); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "prefix"
// $ANTLR start "suffix"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:1: suffix : ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ( element )+ EOA ) ;
public final void suffix() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:8: ( ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ( element )+ EOA ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:10: ^( ALT ( ^( BACKTRACK_SEMPRED ( . )* ) )? recurseNoLabel ( element )+ EOA )
{
match(input,ALT,FOLLOW_ALT_in_suffix985); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:17: ( ^( BACKTRACK_SEMPRED ( . )* ) )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==BACKTRACK_SEMPRED) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:18: ^( BACKTRACK_SEMPRED ( . )* )
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_suffix989); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:38: ( . )*
loop32:
while (true) {
int alt32=2;
int LA32_0 = input.LA(1);
if ( ((LA32_0 >= ACTION && LA32_0 <= XDIGIT)) ) {
alt32=1;
}
else if ( (LA32_0==UP) ) {
alt32=2;
}
switch (alt32) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:38: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop32;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
}
pushFollow(FOLLOW_recurseNoLabel_in_suffix997);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {setTokenPrec((GrammarAST)input.LT(1), outerAlt);}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:110: ( element )+
int cnt34=0;
loop34:
while (true) {
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==ACTION||(LA34_0 >= ASSIGN && LA34_0 <= BLOCK)||LA34_0==CHAR_LITERAL||LA34_0==CLOSURE||LA34_0==DOT||LA34_0==EPSILON||LA34_0==FORCED_ACTION||LA34_0==GATED_SEMPRED||LA34_0==NOT||LA34_0==OPTIONAL||(LA34_0 >= PLUS_ASSIGN && LA34_0 <= POSITIVE_CLOSURE)||LA34_0==RANGE||LA34_0==ROOT||LA34_0==RULE_REF||LA34_0==SEMPRED||(LA34_0 >= STRING_LITERAL && LA34_0 <= SYN_SEMPRED)||LA34_0==TOKEN_REF||LA34_0==TREE_BEGIN||LA34_0==WILDCARD) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:199:110: element
{
pushFollow(FOLLOW_element_in_suffix1001);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt34 >= 1 ) break loop34;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(34, input);
throw eee;
}
cnt34++;
}
match(input,EOA,FOLLOW_EOA_in_suffix1005); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "suffix"
// $ANTLR start "recurse"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:201:1: recurse : ( ^( ASSIGN ID recurseNoLabel ) | ^( PLUS_ASSIGN ID recurseNoLabel ) | recurseNoLabel );
public final void recurse() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:202:2: ( ^( ASSIGN ID recurseNoLabel ) | ^( PLUS_ASSIGN ID recurseNoLabel ) | recurseNoLabel )
int alt35=3;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt35=1;
}
break;
case PLUS_ASSIGN:
{
alt35=2;
}
break;
case RULE_REF:
{
alt35=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:202:4: ^( ASSIGN ID recurseNoLabel )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_recurse1018); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_recurse1020); if (state.failed) return;
pushFollow(FOLLOW_recurseNoLabel_in_recurse1022);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:203:4: ^( PLUS_ASSIGN ID recurseNoLabel )
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_recurse1029); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_recurse1031); if (state.failed) return;
pushFollow(FOLLOW_recurseNoLabel_in_recurse1033);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:204:4: recurseNoLabel
{
pushFollow(FOLLOW_recurseNoLabel_in_recurse1039);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "recurse"
// $ANTLR start "recurseNoLabel"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:207:1: recurseNoLabel :{...}? RULE_REF ;
public final void recurseNoLabel() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:207:16: ({...}? RULE_REF )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:207:18: {...}? RULE_REF
{
if ( !((((CommonTree)input.LT(1)).getText().equals(ruleName))) ) {
if (state.backtracking>0) {state.failed=true; return;}
throw new FailedPredicateException(input, "recurseNoLabel", "((CommonTree)input.LT(1)).getText().equals(ruleName)");
}
match(input,RULE_REF,FOLLOW_RULE_REF_in_recurseNoLabel1051); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "recurseNoLabel"
// $ANTLR start "token"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:216:1: token returns [GrammarAST t=null] : ( ^( ASSIGN ID s= token ) | ^( PLUS_ASSIGN ID s= token ) | ^( ROOT s= token ) | ^( BANG s= token ) |a= CHAR_LITERAL |b= STRING_LITERAL |c= TOKEN_REF );
public final GrammarAST token() throws RecognitionException {
GrammarAST t = null;
GrammarAST a=null;
GrammarAST b=null;
GrammarAST c=null;
GrammarAST s =null;
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:217:2: ( ^( ASSIGN ID s= token ) | ^( PLUS_ASSIGN ID s= token ) | ^( ROOT s= token ) | ^( BANG s= token ) |a= CHAR_LITERAL |b= STRING_LITERAL |c= TOKEN_REF )
int alt36=7;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt36=1;
}
break;
case PLUS_ASSIGN:
{
alt36=2;
}
break;
case ROOT:
{
alt36=3;
}
break;
case BANG:
{
alt36=4;
}
break;
case CHAR_LITERAL:
{
alt36=5;
}
break;
case STRING_LITERAL:
{
alt36=6;
}
break;
case TOKEN_REF:
{
alt36=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return t;}
NoViableAltException nvae =
new NoViableAltException("", 36, 0, input);
throw nvae;
}
switch (alt36) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:217:4: ^( ASSIGN ID s= token )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_token1068); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
match(input,ID,FOLLOW_ID_in_token1070); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token1074);
s=token();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) {t = s;}
match(input, Token.UP, null); if (state.failed) return t;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:218:4: ^( PLUS_ASSIGN ID s= token )
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_token1083); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
match(input,ID,FOLLOW_ID_in_token1085); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token1089);
s=token();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) {t = s;}
match(input, Token.UP, null); if (state.failed) return t;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:219:4: ^( ROOT s= token )
{
match(input,ROOT,FOLLOW_ROOT_in_token1098); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token1102);
s=token();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) {t = s;}
match(input, Token.UP, null); if (state.failed) return t;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:220:4: ^( BANG s= token )
{
match(input,BANG,FOLLOW_BANG_in_token1111); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token1115);
s=token();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) {t = s;}
match(input, Token.UP, null); if (state.failed) return t;
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:221:4: a= CHAR_LITERAL
{
a=(GrammarAST)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_token1125); if (state.failed) return t;
if ( state.backtracking==0 ) {t = a;}
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:222:4: b= STRING_LITERAL
{
b=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_token1139); if (state.failed) return t;
if ( state.backtracking==0 ) {t = b;}
}
break;
case 7 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:223:4: c= TOKEN_REF
{
c=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_token1151); if (state.failed) return t;
if ( state.backtracking==0 ) {t = c;}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return t;
}
// $ANTLR end "token"
// $ANTLR start "exceptionGroup"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:226:1: exceptionGroup : ( ( exceptionHandler )+ ( finallyClause )? | finallyClause );
public final void exceptionGroup() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:2: ( ( exceptionHandler )+ ( finallyClause )? | finallyClause )
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==CATCH) ) {
alt39=1;
}
else if ( (LA39_0==FINALLY) ) {
alt39=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:4: ( exceptionHandler )+ ( finallyClause )?
{
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:4: ( exceptionHandler )+
int cnt37=0;
loop37:
while (true) {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==CATCH) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:4: exceptionHandler
{
pushFollow(FOLLOW_exceptionHandler_in_exceptionGroup1172);
exceptionHandler();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt37 >= 1 ) break loop37;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(37, input);
throw eee;
}
cnt37++;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:22: ( finallyClause )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==FINALLY) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:227:22: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1175);
finallyClause();
state._fsp--;
if (state.failed) return;
}
break;
}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:228:4: finallyClause
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup1181);
finallyClause();
state._fsp--;
if (state.failed) return;
}
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\\LeftRecursiveRuleWalker.g:231:1: exceptionHandler : ^( 'catch' ARG_ACTION ACTION ) ;
public final void exceptionHandler() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:232:2: ( ^( 'catch' ARG_ACTION ACTION ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:232:4: ^( 'catch' ARG_ACTION ACTION )
{
match(input,CATCH,FOLLOW_CATCH_in_exceptionHandler1196); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_exceptionHandler1198); if (state.failed) return;
match(input,ACTION,FOLLOW_ACTION_in_exceptionHandler1200); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "exceptionHandler"
// $ANTLR start "finallyClause"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:235:1: finallyClause : ^( 'finally' ACTION ) ;
public final void finallyClause() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:236:2: ( ^( 'finally' ACTION ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:236:4: ^( 'finally' ACTION )
{
match(input,FINALLY,FOLLOW_FINALLY_in_finallyClause1213); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ACTION,FOLLOW_ACTION_in_finallyClause1215); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "finallyClause"
// $ANTLR start "rewrite"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:239:1: rewrite : ^( REWRITES ( ^( REWRITE ( SEMPRED )? ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC ) ) )* ) ;
public final void rewrite() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:2: ( ^( REWRITES ( ^( REWRITE ( SEMPRED )? ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC ) ) )* ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:4: ^( REWRITES ( ^( REWRITE ( SEMPRED )? ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC ) ) )* )
{
match(input,REWRITES,FOLLOW_REWRITES_in_rewrite1228); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:15: ( ^( REWRITE ( SEMPRED )? ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC ) ) )*
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\\LeftRecursiveRuleWalker.g:240:17: ^( REWRITE ( SEMPRED )? ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC ) )
{
match(input,REWRITE,FOLLOW_REWRITE_in_rewrite1234); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:28: ( SEMPRED )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==SEMPRED) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:28: SEMPRED
{
match(input,SEMPRED,FOLLOW_SEMPRED_in_rewrite1236); if (state.failed) return;
}
break;
}
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:37: ( ^( ALT ( . )* ) | ^( TEMPLATE ( . )* ) | ACTION | ETC )
int alt43=4;
switch ( input.LA(1) ) {
case ALT:
{
alt43=1;
}
break;
case TEMPLATE:
{
alt43=2;
}
break;
case ACTION:
{
alt43=3;
}
break;
case ETC:
{
alt43=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:38: ^( ALT ( . )* )
{
match(input,ALT,FOLLOW_ALT_in_rewrite1241); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:44: ( . )*
loop41:
while (true) {
int alt41=2;
int LA41_0 = input.LA(1);
if ( ((LA41_0 >= ACTION && LA41_0 <= XDIGIT)) ) {
alt41=1;
}
else if ( (LA41_0==UP) ) {
alt41=2;
}
switch (alt41) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:44: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop41;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:48: ^( TEMPLATE ( . )* )
{
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewrite1248); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:59: ( . )*
loop42:
while (true) {
int alt42=2;
int LA42_0 = input.LA(1);
if ( ((LA42_0 >= ACTION && LA42_0 <= XDIGIT)) ) {
alt42=1;
}
else if ( (LA42_0==UP) ) {
alt42=2;
}
switch (alt42) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:59: .
{
matchAny(input); if (state.failed) return;
}
break;
default :
break loop42;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:63: ACTION
{
match(input,ACTION,FOLLOW_ACTION_in_rewrite1254); if (state.failed) return;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:240:70: ETC
{
match(input,ETC,FOLLOW_ETC_in_rewrite1256); if (state.failed) return;
}
break;
}
match(input, Token.UP, null); if (state.failed) return;
}
break;
default :
break loop44;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "rewrite"
// $ANTLR start "element"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:243:1: element : ( ^( ROOT element ) | ^( BANG element ) | atom | ^( NOT element ) | ^( RANGE atom atom ) | ^( ASSIGN ID element ) | ^( PLUS_ASSIGN ID element ) | ebnf | tree_ | ^( SYNPRED block ) | FORCED_ACTION | ACTION | SEMPRED | SYN_SEMPRED | BACKTRACK_SEMPRED | GATED_SEMPRED | EPSILON );
public final void element() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:244:2: ( ^( ROOT element ) | ^( BANG element ) | atom | ^( NOT element ) | ^( RANGE atom atom ) | ^( ASSIGN ID element ) | ^( PLUS_ASSIGN ID element ) | ebnf | tree_ | ^( SYNPRED block ) | FORCED_ACTION | ACTION | SEMPRED | SYN_SEMPRED | BACKTRACK_SEMPRED | GATED_SEMPRED | EPSILON )
int alt45=17;
switch ( input.LA(1) ) {
case ROOT:
{
alt45=1;
}
break;
case BANG:
{
alt45=2;
}
break;
case CHAR_LITERAL:
case DOT:
case RULE_REF:
case STRING_LITERAL:
case TOKEN_REF:
case WILDCARD:
{
alt45=3;
}
break;
case NOT:
{
alt45=4;
}
break;
case RANGE:
{
alt45=5;
}
break;
case ASSIGN:
{
alt45=6;
}
break;
case PLUS_ASSIGN:
{
alt45=7;
}
break;
case BLOCK:
case CLOSURE:
case OPTIONAL:
case POSITIVE_CLOSURE:
{
alt45=8;
}
break;
case TREE_BEGIN:
{
alt45=9;
}
break;
case SYNPRED:
{
alt45=10;
}
break;
case FORCED_ACTION:
{
alt45=11;
}
break;
case ACTION:
{
alt45=12;
}
break;
case SEMPRED:
{
alt45=13;
}
break;
case SYN_SEMPRED:
{
alt45=14;
}
break;
case BACKTRACK_SEMPRED:
{
alt45=15;
}
break;
case GATED_SEMPRED:
{
alt45=16;
}
break;
case EPSILON:
{
alt45=17;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 45, 0, input);
throw nvae;
}
switch (alt45) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:244:4: ^( ROOT element )
{
match(input,ROOT,FOLLOW_ROOT_in_element1276); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_element_in_element1278);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:245:4: ^( BANG element )
{
match(input,BANG,FOLLOW_BANG_in_element1285); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_element_in_element1287);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:246:4: atom
{
pushFollow(FOLLOW_atom_in_element1293);
atom();
state._fsp--;
if (state.failed) return;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:247:4: ^( NOT element )
{
match(input,NOT,FOLLOW_NOT_in_element1299); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_element_in_element1301);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:248:4: ^( RANGE atom atom )
{
match(input,RANGE,FOLLOW_RANGE_in_element1308); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_atom_in_element1310);
atom();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_atom_in_element1312);
atom();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:249:4: ^( ASSIGN ID element )
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_element1319); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_element1321); if (state.failed) return;
pushFollow(FOLLOW_element_in_element1323);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 7 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:250:4: ^( PLUS_ASSIGN ID element )
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_element1330); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_element1332); if (state.failed) return;
pushFollow(FOLLOW_element_in_element1334);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 8 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:251:4: ebnf
{
pushFollow(FOLLOW_ebnf_in_element1340);
ebnf();
state._fsp--;
if (state.failed) return;
}
break;
case 9 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:252:4: tree_
{
pushFollow(FOLLOW_tree__in_element1345);
tree_();
state._fsp--;
if (state.failed) return;
}
break;
case 10 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:253:4: ^( SYNPRED block )
{
match(input,SYNPRED,FOLLOW_SYNPRED_in_element1351); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_element1353);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 11 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:254:4: FORCED_ACTION
{
match(input,FORCED_ACTION,FOLLOW_FORCED_ACTION_in_element1360); if (state.failed) return;
}
break;
case 12 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:255:4: ACTION
{
match(input,ACTION,FOLLOW_ACTION_in_element1365); if (state.failed) return;
}
break;
case 13 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:256:4: SEMPRED
{
match(input,SEMPRED,FOLLOW_SEMPRED_in_element1370); if (state.failed) return;
}
break;
case 14 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:257:4: SYN_SEMPRED
{
match(input,SYN_SEMPRED,FOLLOW_SYN_SEMPRED_in_element1375); if (state.failed) return;
}
break;
case 15 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:258:4: BACKTRACK_SEMPRED
{
match(input,BACKTRACK_SEMPRED,FOLLOW_BACKTRACK_SEMPRED_in_element1380); if (state.failed) return;
}
break;
case 16 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:259:4: GATED_SEMPRED
{
match(input,GATED_SEMPRED,FOLLOW_GATED_SEMPRED_in_element1385); if (state.failed) return;
}
break;
case 17 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:260:4: EPSILON
{
match(input,EPSILON,FOLLOW_EPSILON_in_element1390); if (state.failed) return;
}
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\\LeftRecursiveRuleWalker.g:263:1: ebnf : ( block | ^( OPTIONAL block ) | ^( CLOSURE block ) | ^( POSITIVE_CLOSURE block ) );
public final void ebnf() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:263:5: ( block | ^( OPTIONAL block ) | ^( CLOSURE block ) | ^( POSITIVE_CLOSURE block ) )
int alt46=4;
switch ( input.LA(1) ) {
case BLOCK:
{
alt46=1;
}
break;
case OPTIONAL:
{
alt46=2;
}
break;
case CLOSURE:
{
alt46=3;
}
break;
case POSITIVE_CLOSURE:
{
alt46=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 46, 0, input);
throw nvae;
}
switch (alt46) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:263:9: block
{
pushFollow(FOLLOW_block_in_ebnf1402);
block();
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:264:9: ^( OPTIONAL block )
{
match(input,OPTIONAL,FOLLOW_OPTIONAL_in_ebnf1414); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1416);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:265:9: ^( CLOSURE block )
{
match(input,CLOSURE,FOLLOW_CLOSURE_in_ebnf1431); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1433);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:266:9: ^( POSITIVE_CLOSURE block )
{
match(input,POSITIVE_CLOSURE,FOLLOW_POSITIVE_CLOSURE_in_ebnf1449); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1451);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
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\\LeftRecursiveRuleWalker.g:269:1: tree_ : ^( TREE_BEGIN ( element )+ ) ;
public final void tree_() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:270:2: ( ^( TREE_BEGIN ( element )+ ) )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:270:4: ^( TREE_BEGIN ( element )+ )
{
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_tree_1469); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:270:17: ( element )+
int cnt47=0;
loop47:
while (true) {
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==ACTION||(LA47_0 >= ASSIGN && LA47_0 <= BLOCK)||LA47_0==CHAR_LITERAL||LA47_0==CLOSURE||LA47_0==DOT||LA47_0==EPSILON||LA47_0==FORCED_ACTION||LA47_0==GATED_SEMPRED||LA47_0==NOT||LA47_0==OPTIONAL||(LA47_0 >= PLUS_ASSIGN && LA47_0 <= POSITIVE_CLOSURE)||LA47_0==RANGE||LA47_0==ROOT||LA47_0==RULE_REF||LA47_0==SEMPRED||(LA47_0 >= STRING_LITERAL && LA47_0 <= SYN_SEMPRED)||LA47_0==TOKEN_REF||LA47_0==TREE_BEGIN||LA47_0==WILDCARD) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:270:17: element
{
pushFollow(FOLLOW_element_in_tree_1471);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt47 >= 1 ) break loop47;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(47, input);
throw eee;
}
cnt47++;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tree_"
// $ANTLR start "atom"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:273:1: atom : ( ^( RULE_REF ( ARG_ACTION )? ) | ^( TOKEN_REF ( ARG_ACTION )? ) | CHAR_LITERAL | STRING_LITERAL | WILDCARD | ^( DOT ID atom ) );
public final void atom() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:274:2: ( ^( RULE_REF ( ARG_ACTION )? ) | ^( TOKEN_REF ( ARG_ACTION )? ) | CHAR_LITERAL | STRING_LITERAL | WILDCARD | ^( DOT ID atom ) )
int alt50=6;
switch ( input.LA(1) ) {
case RULE_REF:
{
alt50=1;
}
break;
case TOKEN_REF:
{
alt50=2;
}
break;
case CHAR_LITERAL:
{
alt50=3;
}
break;
case STRING_LITERAL:
{
alt50=4;
}
break;
case WILDCARD:
{
alt50=5;
}
break;
case DOT:
{
alt50=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:274:4: ^( RULE_REF ( ARG_ACTION )? )
{
match(input,RULE_REF,FOLLOW_RULE_REF_in_atom1485); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:274:15: ( ARG_ACTION )?
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==ARG_ACTION) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:274:15: ARG_ACTION
{
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1487); if (state.failed) return;
}
break;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
case 2 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:275:4: ^( TOKEN_REF ( ARG_ACTION )? )
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_atom1495); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:275:16: ( ARG_ACTION )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==ARG_ACTION) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:275:16: ARG_ACTION
{
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1497); if (state.failed) return;
}
break;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
case 3 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:276:4: CHAR_LITERAL
{
match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_atom1504); if (state.failed) return;
}
break;
case 4 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:277:4: STRING_LITERAL
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_atom1509); if (state.failed) return;
}
break;
case 5 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:278:4: WILDCARD
{
match(input,WILDCARD,FOLLOW_WILDCARD_in_atom1514); if (state.failed) return;
}
break;
case 6 :
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:279:4: ^( DOT ID atom )
{
match(input,DOT,FOLLOW_DOT_in_atom1520); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_atom1522); if (state.failed) return;
pushFollow(FOLLOW_atom_in_atom1524);
atom();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "atom"
// $ANTLR start "ast_suffix"
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:282:1: ast_suffix : ( ROOT | BANG );
public final void ast_suffix() throws RecognitionException {
try {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:283:2: ( ROOT | BANG )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:
{
if ( input.LA(1)==BANG||input.LA(1)==ROOT ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ast_suffix"
// $ANTLR start synpred1_LeftRecursiveRuleWalker
public final void synpred1_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:171:9: ( binaryMultipleOp )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:171:10: binaryMultipleOp
{
pushFollow(FOLLOW_binaryMultipleOp_in_synpred1_LeftRecursiveRuleWalker484);
binaryMultipleOp();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred1_LeftRecursiveRuleWalker
// $ANTLR start synpred2_LeftRecursiveRuleWalker
public final void synpred2_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:173:9: ( binary )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:173:10: binary
{
pushFollow(FOLLOW_binary_in_synpred2_LeftRecursiveRuleWalker530);
binary();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred2_LeftRecursiveRuleWalker
// $ANTLR start synpred3_LeftRecursiveRuleWalker
public final void synpred3_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:175:9: ( ternary )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:175:10: ternary
{
pushFollow(FOLLOW_ternary_in_synpred3_LeftRecursiveRuleWalker593);
ternary();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred3_LeftRecursiveRuleWalker
// $ANTLR start synpred4_LeftRecursiveRuleWalker
public final void synpred4_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:177:9: ( prefix )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:177:10: prefix
{
pushFollow(FOLLOW_prefix_in_synpred4_LeftRecursiveRuleWalker648);
prefix();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred4_LeftRecursiveRuleWalker
// $ANTLR start synpred5_LeftRecursiveRuleWalker
public final void synpred5_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:179:9: ( suffix )
// org\\antlr\\grammar\\v3\\LeftRecursiveRuleWalker.g:179:10: suffix
{
pushFollow(FOLLOW_suffix_in_synpred5_LeftRecursiveRuleWalker704);
suffix();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred5_LeftRecursiveRuleWalker
// Delegated rules
public final boolean synpred5_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred5_LeftRecursiveRuleWalker_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred4_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred4_LeftRecursiveRuleWalker_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred2_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred2_LeftRecursiveRuleWalker_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred1_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred1_LeftRecursiveRuleWalker_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred3_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred3_LeftRecursiveRuleWalker_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public static final BitSet FOLLOW_OPTIONS_in_optionsSpec57 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_option_in_optionsSpec59 = new BitSet(new long[]{0x0000000000002008L});
public static final BitSet FOLLOW_ASSIGN_in_option73 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_option75 = new BitSet(new long[]{0x0000880000040000L,0x0000000001000000L});
public static final BitSet FOLLOW_optionValue_in_option77 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_charSetElement115 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OR_in_charSetElement121 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_charSetElement123 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_charSetElement125 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RANGE_in_charSetElement132 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_charSetElement134 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_charSetElement136 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RULE_in_rec_rule164 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rec_rule168 = new BitSet(new long[]{0x0000010000000400L,0x000000000000001CL});
public static final BitSet FOLLOW_modifier_in_rec_rule175 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_ARG_in_rec_rule182 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rec_rule184 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RET_in_rec_rule192 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rec_rule194 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_optionsSpec_in_rec_rule201 = new BitSet(new long[]{0x0000000000010200L,0x0000000000020000L});
public static final BitSet FOLLOW_ruleScopeSpec_in_rec_rule207 = new BitSet(new long[]{0x0000000000010200L});
public static final BitSet FOLLOW_AMPERSAND_in_rec_rule215 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ruleBlock_in_rec_rule226 = new BitSet(new long[]{0x0000004400020000L});
public static final BitSet FOLLOW_exceptionGroup_in_rec_rule233 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_EOR_in_rec_rule239 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec286 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec288 = new BitSet(new long[]{0x0000080000000008L});
public static final BitSet FOLLOW_ID_in_ruleScopeSpec291 = new BitSet(new long[]{0x0000080000000008L});
public static final BitSet FOLLOW_BLOCK_in_ruleBlock315 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_optionsSpec_in_ruleBlock320 = new BitSet(new long[]{0x0000000000000100L});
public static final BitSet FOLLOW_outerAlternative_in_ruleBlock328 = new BitSet(new long[]{0x0000000200000100L,0x0000000000001000L});
public static final BitSet FOLLOW_rewrite_in_ruleBlock340 = new BitSet(new long[]{0x0000000200000100L});
public static final BitSet FOLLOW_EOB_in_ruleBlock358 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BLOCK_in_block381 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_optionsSpec_in_block395 = new BitSet(new long[]{0x0000000000000100L});
public static final BitSet FOLLOW_ALT_in_block413 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_block415 = new BitSet(new long[]{0x828002892025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_EOA_in_block418 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_rewrite_in_block421 = new BitSet(new long[]{0x0000000200000100L});
public static final BitSet FOLLOW_EOB_in_block439 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_binaryMultipleOp_in_outerAlternative488 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_binary_in_outerAlternative544 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ternary_in_outerAlternative606 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prefix_in_outerAlternative662 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_suffix_in_outerAlternative718 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ALT_in_outerAlternative760 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_outerAlternative762 = new BitSet(new long[]{0x828002892025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_EOA_in_outerAlternative765 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_binary814 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_binary818 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_recurseNoLabel_in_binary826 = new BitSet(new long[]{0x800000000004A000L,0x0000000041002000L});
public static final BitSet FOLLOW_token_in_binary830 = new BitSet(new long[]{0x8000000000002000L,0x0000000000010000L});
public static final BitSet FOLLOW_recurse_in_binary832 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_EOA_in_binary834 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_binaryMultipleOp851 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_binaryMultipleOp855 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_recurseNoLabel_in_binaryMultipleOp863 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_BLOCK_in_binaryMultipleOp867 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ALT_in_binaryMultipleOp873 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_token_in_binaryMultipleOp877 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_EOA_in_binaryMultipleOp879 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_EOB_in_binaryMultipleOp888 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_recurse_in_binaryMultipleOp892 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_EOA_in_binaryMultipleOp894 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_ternary909 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_ternary913 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_recurseNoLabel_in_ternary921 = new BitSet(new long[]{0x800000000004A000L,0x0000000041002000L});
public static final BitSet FOLLOW_token_in_ternary925 = new BitSet(new long[]{0x8000000000002000L,0x0000000000010000L});
public static final BitSet FOLLOW_recurse_in_ternary927 = new BitSet(new long[]{0x800000000004A000L,0x0000000041002000L});
public static final BitSet FOLLOW_token_in_ternary929 = new BitSet(new long[]{0x8000000000002000L,0x0000000000010000L});
public static final BitSet FOLLOW_recurse_in_ternary931 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_EOA_in_ternary933 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_prefix949 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_prefix953 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_prefix966 = new BitSet(new long[]{0x828002882025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_recurse_in_prefix970 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_EOA_in_prefix972 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ALT_in_suffix985 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_suffix989 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_recurseNoLabel_in_suffix997 = new BitSet(new long[]{0x828002882025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_suffix1001 = new BitSet(new long[]{0x828002892025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_EOA_in_suffix1005 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_recurse1018 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_recurse1020 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse1022 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_recurse1029 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_recurse1031 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse1033 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse1039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_REF_in_recurseNoLabel1051 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGN_in_token1068 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_token1070 = new BitSet(new long[]{0x800000000004A000L,0x0000000041002000L});
public static final BitSet FOLLOW_token_in_token1074 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_token1083 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_token1085 = new BitSet(new long[]{0x800000000004A000L,0x0000000041002000L});
public static final BitSet FOLLOW_token_in_token1089 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_in_token1098 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_token_in_token1102 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BANG_in_token1111 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_token_in_token1115 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_token1125 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_token1139 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TOKEN_REF_in_token1151 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_exceptionHandler_in_exceptionGroup1172 = new BitSet(new long[]{0x0000004000020002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup1181 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_exceptionHandler1196 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_exceptionHandler1198 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_exceptionHandler1200 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FINALLY_in_finallyClause1213 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_finallyClause1215 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_REWRITES_in_rewrite1228 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_REWRITE_in_rewrite1234 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_SEMPRED_in_rewrite1236 = new BitSet(new long[]{0x0000002000000110L,0x0000000008000000L});
public static final BitSet FOLLOW_ALT_in_rewrite1241 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_TEMPLATE_in_rewrite1248 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_rewrite1254 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ETC_in_rewrite1256 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ROOT_in_element1276 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1278 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BANG_in_element1285 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1287 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_atom_in_element1293 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_element1299 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element1301 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RANGE_in_element1308 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element1310 = new BitSet(new long[]{0x0000000020040000L,0x0000000441010000L});
public static final BitSet FOLLOW_atom_in_element1312 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_element1319 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1321 = new BitSet(new long[]{0x828002882025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_element1323 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_element1330 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element1332 = new BitSet(new long[]{0x828002882025E010L,0x0000000547092041L});
public static final BitSet FOLLOW_element_in_element1334 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ebnf_in_element1340 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tree__in_element1345 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYNPRED_in_element1351 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_element1353 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FORCED_ACTION_in_element1360 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ACTION_in_element1365 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMPRED_in_element1370 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYN_SEMPRED_in_element1375 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BACKTRACK_SEMPRED_in_element1380 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GATED_SEMPRED_in_element1385 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EPSILON_in_element1390 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_ebnf1402 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPTIONAL_in_ebnf1414 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1416 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CLOSURE_in_ebnf1431 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1433 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_POSITIVE_CLOSURE_in_ebnf1449 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1451 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TREE_BEGIN_in_tree_1469 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_tree_1471 = new BitSet(new long[]{0x828002882025E018L,0x0000000547092041L});
public static final BitSet FOLLOW_RULE_REF_in_atom1485 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1487 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_atom1495 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1497 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CHAR_LITERAL_in_atom1504 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_atom1509 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WILDCARD_in_atom1514 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_atom1520 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_atom1522 = new BitSet(new long[]{0x0000000020040000L,0x0000000441010000L});
public static final BitSet FOLLOW_atom_in_atom1524 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_binaryMultipleOp_in_synpred1_LeftRecursiveRuleWalker484 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_binary_in_synpred2_LeftRecursiveRuleWalker530 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ternary_in_synpred3_LeftRecursiveRuleWalker593 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prefix_in_synpred4_LeftRecursiveRuleWalker648 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_suffix_in_synpred5_LeftRecursiveRuleWalker704 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy