package org.antlr.v4.parse;
import org.antlr.v4.misc.*;
import org.antlr.v4.tool.*;
import org.antlr.v4.tool.ast.*;
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;
@SuppressWarnings("all")
public class LeftRecursiveRuleWalker extends TreeParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACTION", "ACTION_CHAR_LITERAL",
"ACTION_ESC", "ACTION_STRING_LITERAL", "ARG_ACTION", "ARG_OR_CHARSET",
"ASSIGN", "AT", "CATCH", "CHANNELS", "COLON", "COLONCOLON", "COMMA", "COMMENT",
"DOC_COMMENT", "DOLLAR", "DOT", "ERRCHAR", "ESC_SEQ", "FINALLY", "FRAGMENT",
"GRAMMAR", "GT", "HEX_DIGIT", "ID", "IMPORT", "INT", "LEXER", "LEXER_CHAR_SET",
"LOCALS", "LPAREN", "LT", "MODE", "NESTED_ACTION", "NLCHARS", "NOT", "NameChar",
"NameStartChar", "OPTIONS", "OR", "PARSER", "PLUS", "PLUS_ASSIGN", "POUND",
"PRIVATE", "PROTECTED", "PUBLIC", "QUESTION", "RANGE", "RARROW", "RBRACE",
"RETURNS", "RPAREN", "RULE_REF", "SEMI", "SEMPRED", "SRC", "STAR", "STRING_LITERAL",
"SYNPRED", "THROWS", "TOKENS_SPEC", "TOKEN_REF", "TREE_GRAMMAR", "UNICODE_ESC",
"UNICODE_EXTENDED_ESC", "UnicodeBOM", "WS", "WSCHARS", "WSNLCHARS", "ALT",
"ALTLIST", "ARG", "ARGLIST", "BLOCK", "CHAR_RANGE", "CLOSURE", "COMBINED",
"ELEMENT_OPTIONS", "EPSILON", "INITACTION", "LABEL", "LEXER_ACTION_CALL",
"LEXER_ALT_ACTION", "LIST", "OPTIONAL", "POSITIVE_CLOSURE", "PREC_RULE",
"RESULT", "RET", "RULE", "RULEACTIONS", "RULEMODIFIERS", "RULES", "SET",
"TEMPLATE", "WILDCARD"
};
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 ARG_ACTION=8;
public static final int ARG_OR_CHARSET=9;
public static final int ASSIGN=10;
public static final int AT=11;
public static final int CATCH=12;
public static final int CHANNELS=13;
public static final int COLON=14;
public static final int COLONCOLON=15;
public static final int COMMA=16;
public static final int =17;
public static final int =18;
public static final int DOLLAR=19;
public static final int DOT=20;
public static final int ERRCHAR=21;
public static final int ESC_SEQ=22;
public static final int FINALLY=23;
public static final int FRAGMENT=24;
public static final int GRAMMAR=25;
public static final int GT=26;
public static final int HEX_DIGIT=27;
public static final int ID=28;
public static final int IMPORT=29;
public static final int INT=30;
public static final int LEXER=31;
public static final int LEXER_CHAR_SET=32;
public static final int LOCALS=33;
public static final int LPAREN=34;
public static final int LT=35;
public static final int MODE=36;
public static final int NESTED_ACTION=37;
public static final int NLCHARS=38;
public static final int NOT=39;
public static final int NameChar=40;
public static final int NameStartChar=41;
public static final int OPTIONS=42;
public static final int OR=43;
public static final int PARSER=44;
public static final int PLUS=45;
public static final int PLUS_ASSIGN=46;
public static final int POUND=47;
public static final int PRIVATE=48;
public static final int PROTECTED=49;
public static final int PUBLIC=50;
public static final int QUESTION=51;
public static final int RANGE=52;
public static final int RARROW=53;
public static final int RBRACE=54;
public static final int RETURNS=55;
public static final int RPAREN=56;
public static final int RULE_REF=57;
public static final int SEMI=58;
public static final int SEMPRED=59;
public static final int SRC=60;
public static final int STAR=61;
public static final int STRING_LITERAL=62;
public static final int SYNPRED=63;
public static final int THROWS=64;
public static final int TOKENS_SPEC=65;
public static final int TOKEN_REF=66;
public static final int TREE_GRAMMAR=67;
public static final int UNICODE_ESC=68;
public static final int UNICODE_EXTENDED_ESC=69;
public static final int UnicodeBOM=70;
public static final int WS=71;
public static final int WSCHARS=72;
public static final int WSNLCHARS=73;
public static final int ALT=74;
public static final int ALTLIST=75;
public static final int ARG=76;
public static final int ARGLIST=77;
public static final int BLOCK=78;
public static final int CHAR_RANGE=79;
public static final int CLOSURE=80;
public static final int COMBINED=81;
public static final int ELEMENT_OPTIONS=82;
public static final int EPSILON=83;
public static final int INITACTION=84;
public static final int LABEL=85;
public static final int LEXER_ACTION_CALL=86;
public static final int LEXER_ALT_ACTION=87;
public static final int LIST=88;
public static final int OPTIONAL=89;
public static final int POSITIVE_CLOSURE=90;
public static final int PREC_RULE=91;
public static final int RESULT=92;
public static final int RET=93;
public static final int RULE=94;
public static final int RULEACTIONS=95;
public static final int RULEMODIFIERS=96;
public static final int RULES=97;
public static final int SET=98;
public static final int TEMPLATE=99;
public static final int WILDCARD=100;
public TreeParser[] getDelegates() {
return new TreeParser[] {};
}
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/v4/parse/LeftRecursiveRuleWalker.g"; }
private String ruleName;
private int currentOuterAltNumber;
public int numAlts;
public void setAltAssoc(AltAST altTree, int alt) {}
public void binaryAlt(AltAST altTree, int alt) {}
public void prefixAlt(AltAST altTree, int alt) {}
public void suffixAlt(AltAST altTree, int alt) {}
public void otherAlt(AltAST altTree, int alt) {}
public void setReturnValues(GrammarAST t) {}
public final boolean rec_rule() throws RecognitionException {
boolean isLeftRec = false;
GrammarAST r=null;
GrammarAST id=null;
GrammarAST a=null;
TreeRuleReturnScope ruleBlock1 =null;
currentOuterAltNumber = 1;
try {
{
r=(GrammarAST)match(input,RULE,FOLLOW_RULE_in_rec_rule72); if (state.failed) return isLeftRec;
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
id=(GrammarAST)match(input,RULE_REF,FOLLOW_RULE_REF_in_rec_rule76); if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {ruleName=id.getText();}
int alt1=2;
int LA1_0 = input.LA(1);
if ( ((LA1_0 >= PRIVATE && LA1_0 <= PUBLIC)) ) {
alt1=1;
}
switch (alt1) {
case 1 :
{
pushFollow(FOLLOW_ruleModifier_in_rec_rule83);
ruleModifier();
state._fsp--;
if (state.failed) return isLeftRec;
}
break;
}
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==RETURNS) ) {
alt2=1;
}
switch (alt2) {
case 1 :
{
match(input,RETURNS,FOLLOW_RETURNS_in_rec_rule92); if (state.failed) return isLeftRec;
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
a=(GrammarAST)match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rec_rule96); if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {setReturnValues(a);}
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
break;
}
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==LOCALS) ) {
alt3=1;
}
switch (alt3) {
case 1 :
{
match(input,LOCALS,FOLLOW_LOCALS_in_rec_rule115); if (state.failed) return isLeftRec;
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rec_rule117); if (state.failed) return isLeftRec;
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
break;
}
loop5:
while (true) {
int alt5=3;
int LA5_0 = input.LA(1);
if ( (LA5_0==OPTIONS) ) {
alt5=1;
}
else if ( (LA5_0==AT) ) {
alt5=2;
}
switch (alt5) {
case 1 :
{
match(input,OPTIONS,FOLLOW_OPTIONS_in_rec_rule135); if (state.failed) return isLeftRec;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( ((LA4_0 >= ACTION && LA4_0 <= WILDCARD)) ) {
alt4=1;
}
else if ( (LA4_0==UP) ) {
alt4=2;
}
switch (alt4) {
case 1 :
{
matchAny(input); if (state.failed) return isLeftRec;
}
break;
default :
break loop4;
}
}
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
}
break;
case 2 :
{
match(input,AT,FOLLOW_AT_in_rec_rule152); if (state.failed) return isLeftRec;
match(input, Token.DOWN, null); if (state.failed) return isLeftRec;
match(input,ID,FOLLOW_ID_in_rec_rule154); if (state.failed) return isLeftRec;
match(input,ACTION,FOLLOW_ACTION_in_rec_rule156); if (state.failed) return isLeftRec;
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
break;
default :
break loop5;
}
}
pushFollow(FOLLOW_ruleBlock_in_rec_rule172);
ruleBlock1=ruleBlock();
state._fsp--;
if (state.failed) return isLeftRec;
if ( state.backtracking==0 ) {isLeftRec = (ruleBlock1!=null?((LeftRecursiveRuleWalker.ruleBlock_return)ruleBlock1).isLeftRec:false);}
pushFollow(FOLLOW_exceptionGroup_in_rec_rule179);
exceptionGroup();
state._fsp--;
if (state.failed) return isLeftRec;
match(input, Token.UP, null); if (state.failed) return isLeftRec;
}
}
finally {
}
return isLeftRec;
}
public final void exceptionGroup() throws RecognitionException {
try {
{
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==CATCH) ) {
alt6=1;
}
switch (alt6) {
case 1 :
{
pushFollow(FOLLOW_exceptionHandler_in_exceptionGroup197);
exceptionHandler();
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop6;
}
}
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==FINALLY) ) {
alt7=1;
}
switch (alt7) {
case 1 :
{
pushFollow(FOLLOW_finallyClause_in_exceptionGroup200);
finallyClause();
state._fsp--;
if (state.failed) return;
}
break;
}
}
}
finally {
}
}
public final void exceptionHandler() throws RecognitionException {
try {
{
match(input,CATCH,FOLLOW_CATCH_in_exceptionHandler216); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_exceptionHandler218); if (state.failed) return;
match(input,ACTION,FOLLOW_ACTION_in_exceptionHandler220); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
finally {
}
}
public final void finallyClause() throws RecognitionException {
try {
{
match(input,FINALLY,FOLLOW_FINALLY_in_finallyClause233); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ACTION,FOLLOW_ACTION_in_finallyClause235); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
}
finally {
}
}
public final void ruleModifier() throws RecognitionException {
try {
{
if ( (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;
}
}
}
finally {
}
}
public static class ruleBlock_return extends TreeRuleReturnScope {
public boolean isLeftRec;
};
public final LeftRecursiveRuleWalker.ruleBlock_return ruleBlock() throws RecognitionException {
LeftRecursiveRuleWalker.ruleBlock_return retval = new LeftRecursiveRuleWalker.ruleBlock_return();
retval.start = input.LT(1);
TreeRuleReturnScope o =null;
boolean lr=false; this.numAlts = ((GrammarAST)retval.start).getChildCount();
try {
{
match(input,BLOCK,FOLLOW_BLOCK_in_ruleBlock290); if (state.failed) return retval;
match(input, Token.DOWN, null); if (state.failed) return retval;
int cnt8=0;
loop8:
while (true) {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==ALT) ) {
alt8=1;
}
switch (alt8) {
case 1 :
{
pushFollow(FOLLOW_outerAlternative_in_ruleBlock303);
o=outerAlternative();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {if ((o!=null?((LeftRecursiveRuleWalker.outerAlternative_return)o).isLeftRec:false)) retval.isLeftRec = true;}
if ( state.backtracking==0 ) {currentOuterAltNumber++;}
}
break;
default :
if ( cnt8 >= 1 ) break loop8;
if (state.backtracking>0) {state.failed=true; return retval;}
EarlyExitException eee = new EarlyExitException(8, input);
throw eee;
}
cnt8++;
}
match(input, Token.UP, null); if (state.failed) return retval;
}
}
finally {
}
return retval;
}
public static class outerAlternative_return extends TreeRuleReturnScope {
public boolean isLeftRec;
};
public final LeftRecursiveRuleWalker.outerAlternative_return outerAlternative() throws RecognitionException {
LeftRecursiveRuleWalker.outerAlternative_return retval = new LeftRecursiveRuleWalker.outerAlternative_return();
retval.start = input.LT(1);
try {
int alt9=4;
int LA9_0 = input.LA(1);
if ( (LA9_0==ALT) ) {
int LA9_1 = input.LA(2);
if ( (synpred1_LeftRecursiveRuleWalker()) ) {
alt9=1;
}
else if ( (synpred2_LeftRecursiveRuleWalker()) ) {
alt9=2;
}
else if ( (synpred3_LeftRecursiveRuleWalker()) ) {
alt9=3;
}
else if ( (true) ) {
alt9=4;
}
}
else {
if (state.backtracking>0) {state.failed=true; return retval;}
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
{
pushFollow(FOLLOW_binary_in_outerAlternative362);
binary();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {binaryAlt((AltAST)((GrammarAST)retval.start), currentOuterAltNumber); retval.isLeftRec =true;}
}
break;
case 2 :
{
pushFollow(FOLLOW_prefix_in_outerAlternative418);
prefix();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {prefixAlt((AltAST)((GrammarAST)retval.start), currentOuterAltNumber);}
}
break;
case 3 :
{
pushFollow(FOLLOW_suffix_in_outerAlternative474);
suffix();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {suffixAlt((AltAST)((GrammarAST)retval.start), currentOuterAltNumber); retval.isLeftRec =true;}
}
break;
case 4 :
{
pushFollow(FOLLOW_nonLeftRecur_in_outerAlternative515);
nonLeftRecur();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {otherAlt((AltAST)((GrammarAST)retval.start), currentOuterAltNumber);}
}
break;
}
}
finally {
}
return retval;
}
public final void binary() throws RecognitionException {
GrammarAST ALT2=null;
try {
{
ALT2=(GrammarAST)match(input,ALT,FOLLOW_ALT_in_binary541); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==ELEMENT_OPTIONS) ) {
alt10=1;
}
switch (alt10) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_binary543);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
pushFollow(FOLLOW_recurse_in_binary546);
recurse();
state._fsp--;
if (state.failed) return;
loop11:
while (true) {
int alt11=2;
alt11 = dfa11.predict(input);
switch (alt11) {
case 1 :
{
pushFollow(FOLLOW_element_in_binary548);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop11;
}
}
pushFollow(FOLLOW_recurse_in_binary551);
recurse();
state._fsp--;
if (state.failed) return;
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==ACTION||LA12_0==SEMPRED||LA12_0==EPSILON) ) {
alt12=1;
}
switch (alt12) {
case 1 :
{
pushFollow(FOLLOW_epsilonElement_in_binary553);
epsilonElement();
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop12;
}
}
match(input, Token.UP, null); if (state.failed) return;
if ( state.backtracking==0 ) {setAltAssoc((AltAST)ALT2,currentOuterAltNumber);}
}
}
finally {
}
}
public final void prefix() throws RecognitionException {
GrammarAST ALT3=null;
try {
{
ALT3=(GrammarAST)match(input,ALT,FOLLOW_ALT_in_prefix579); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==ELEMENT_OPTIONS) ) {
alt13=1;
}
switch (alt13) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_prefix581);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
int cnt14=0;
loop14:
while (true) {
int alt14=2;
alt14 = dfa14.predict(input);
switch (alt14) {
case 1 :
{
pushFollow(FOLLOW_element_in_prefix587);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt14 >= 1 ) break loop14;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(14, input);
throw eee;
}
cnt14++;
}
pushFollow(FOLLOW_recurse_in_prefix593);
recurse();
state._fsp--;
if (state.failed) return;
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==ACTION||LA15_0==SEMPRED||LA15_0==EPSILON) ) {
alt15=1;
}
switch (alt15) {
case 1 :
{
pushFollow(FOLLOW_epsilonElement_in_prefix595);
epsilonElement();
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop15;
}
}
match(input, Token.UP, null); if (state.failed) return;
if ( state.backtracking==0 ) {setAltAssoc((AltAST)ALT3,currentOuterAltNumber);}
}
}
finally {
}
}
public final void suffix() throws RecognitionException {
GrammarAST ALT4=null;
try {
{
ALT4=(GrammarAST)match(input,ALT,FOLLOW_ALT_in_suffix630); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==ELEMENT_OPTIONS) ) {
alt16=1;
}
switch (alt16) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_suffix632);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
pushFollow(FOLLOW_recurse_in_suffix635);
recurse();
state._fsp--;
if (state.failed) return;
int cnt17=0;
loop17:
while (true) {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==ACTION||LA17_0==ASSIGN||LA17_0==DOT||LA17_0==NOT||LA17_0==PLUS_ASSIGN||LA17_0==RANGE||LA17_0==RULE_REF||LA17_0==SEMPRED||LA17_0==STRING_LITERAL||LA17_0==TOKEN_REF||LA17_0==BLOCK||LA17_0==CLOSURE||LA17_0==EPSILON||(LA17_0 >= OPTIONAL && LA17_0 <= POSITIVE_CLOSURE)||LA17_0==SET||LA17_0==WILDCARD) ) {
alt17=1;
}
switch (alt17) {
case 1 :
{
pushFollow(FOLLOW_element_in_suffix637);
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, Token.UP, null); if (state.failed) return;
if ( state.backtracking==0 ) {setAltAssoc((AltAST)ALT4,currentOuterAltNumber);}
}
}
finally {
}
}
public final void nonLeftRecur() throws RecognitionException {
try {
{
match(input,ALT,FOLLOW_ALT_in_nonLeftRecur671); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==ELEMENT_OPTIONS) ) {
alt18=1;
}
switch (alt18) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_nonLeftRecur673);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
int cnt19=0;
loop19:
while (true) {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==ACTION||LA19_0==ASSIGN||LA19_0==DOT||LA19_0==NOT||LA19_0==PLUS_ASSIGN||LA19_0==RANGE||LA19_0==RULE_REF||LA19_0==SEMPRED||LA19_0==STRING_LITERAL||LA19_0==TOKEN_REF||LA19_0==BLOCK||LA19_0==CLOSURE||LA19_0==EPSILON||(LA19_0 >= OPTIONAL && LA19_0 <= POSITIVE_CLOSURE)||LA19_0==SET||LA19_0==WILDCARD) ) {
alt19=1;
}
switch (alt19) {
case 1 :
{
pushFollow(FOLLOW_element_in_nonLeftRecur676);
element();
state._fsp--;
if (state.failed) return;
}
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, Token.UP, null); if (state.failed) return;
}
}
finally {
}
}
public final void recurse() throws RecognitionException {
try {
int alt20=3;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt20=1;
}
break;
case PLUS_ASSIGN:
{
alt20=2;
}
break;
case RULE_REF:
{
alt20=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 20, 0, input);
throw nvae;
}
switch (alt20) {
case 1 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_recurse693); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_recurse695); if (state.failed) return;
pushFollow(FOLLOW_recurseNoLabel_in_recurse697);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 2 :
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_recurse704); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_recurse706); if (state.failed) return;
pushFollow(FOLLOW_recurseNoLabel_in_recurse708);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
pushFollow(FOLLOW_recurseNoLabel_in_recurse714);
recurseNoLabel();
state._fsp--;
if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void recurseNoLabel() throws RecognitionException {
try {
{
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_recurseNoLabel726); if (state.failed) return;
}
}
finally {
}
}
public final GrammarAST token() throws RecognitionException {
GrammarAST t = null;
GrammarAST b=null;
GrammarAST c=null;
GrammarAST s =null;
try {
int alt21=6;
switch ( input.LA(1) ) {
case ASSIGN:
{
alt21=1;
}
break;
case PLUS_ASSIGN:
{
alt21=2;
}
break;
case STRING_LITERAL:
{
int LA21_3 = input.LA(2);
if ( (LA21_3==DOWN) ) {
alt21=4;
}
else if ( (LA21_3==UP) ) {
alt21=3;
}
else {
if (state.backtracking>0) {state.failed=true; return t;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 21, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case TOKEN_REF:
{
int LA21_4 = input.LA(2);
if ( (LA21_4==DOWN) ) {
alt21=5;
}
else if ( (LA21_4==UP) ) {
alt21=6;
}
else {
if (state.backtracking>0) {state.failed=true; return t;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 21, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return t;}
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_token740); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
match(input,ID,FOLLOW_ID_in_token742); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token746);
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 :
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_token755); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
match(input,ID,FOLLOW_ID_in_token757); if (state.failed) return t;
pushFollow(FOLLOW_token_in_token761);
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 :
{
b=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_token771); if (state.failed) return t;
if ( state.backtracking==0 ) {t = b;}
}
break;
case 4 :
{
b=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_token792); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
pushFollow(FOLLOW_elementOptions_in_token794);
elementOptions();
state._fsp--;
if (state.failed) return t;
match(input, Token.UP, null); if (state.failed) return t;
if ( state.backtracking==0 ) {t = b;}
}
break;
case 5 :
{
c=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_token809); if (state.failed) return t;
match(input, Token.DOWN, null); if (state.failed) return t;
pushFollow(FOLLOW_elementOptions_in_token811);
elementOptions();
state._fsp--;
if (state.failed) return t;
match(input, Token.UP, null); if (state.failed) return t;
if ( state.backtracking==0 ) {t = c;}
}
break;
case 6 :
{
c=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_token823); if (state.failed) return t;
if ( state.backtracking==0 ) {t = c;}
}
break;
}
}
finally {
}
return t;
}
public final void elementOptions() throws RecognitionException {
try {
{
match(input,ELEMENT_OPTIONS,FOLLOW_ELEMENT_OPTIONS_in_elementOptions853); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
loop22:
while (true) {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==ASSIGN||LA22_0==ID) ) {
alt22=1;
}
switch (alt22) {
case 1 :
{
pushFollow(FOLLOW_elementOption_in_elementOptions855);
elementOption();
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop22;
}
}
match(input, Token.UP, null); if (state.failed) return;
}
}
}
finally {
}
}
public final void elementOption() throws RecognitionException {
try {
int alt23=5;
int LA23_0 = input.LA(1);
if ( (LA23_0==ID) ) {
alt23=1;
}
else if ( (LA23_0==ASSIGN) ) {
int LA23_2 = input.LA(2);
if ( (LA23_2==DOWN) ) {
int LA23_3 = input.LA(3);
if ( (LA23_3==ID) ) {
switch ( input.LA(4) ) {
case ID:
{
alt23=2;
}
break;
case STRING_LITERAL:
{
alt23=3;
}
break;
case ACTION:
{
alt23=4;
}
break;
case INT:
{
alt23=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 23, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 23, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 23, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
{
match(input,ID,FOLLOW_ID_in_elementOption874); if (state.failed) return;
}
break;
case 2 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption885); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_elementOption887); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_elementOption889); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption901); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_elementOption903); if (state.failed) return;
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_elementOption905); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 4 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption917); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_elementOption919); if (state.failed) return;
match(input,ACTION,FOLLOW_ACTION_in_elementOption921); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 5 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption933); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_elementOption935); if (state.failed) return;
match(input,INT,FOLLOW_INT_in_elementOption937); if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void element() throws RecognitionException {
try {
int alt25=9;
switch ( input.LA(1) ) {
case RULE_REF:
{
int LA25_1 = input.LA(2);
if ( (LA25_1==DOWN) ) {
alt25=1;
}
else if ( ((LA25_1 >= UP && LA25_1 <= ACTION)||LA25_1==ASSIGN||LA25_1==DOT||LA25_1==NOT||LA25_1==PLUS_ASSIGN||LA25_1==RANGE||LA25_1==RULE_REF||LA25_1==SEMPRED||LA25_1==STRING_LITERAL||LA25_1==TOKEN_REF||LA25_1==BLOCK||LA25_1==CLOSURE||LA25_1==EPSILON||(LA25_1 >= OPTIONAL && LA25_1 <= POSITIVE_CLOSURE)||LA25_1==SET||LA25_1==WILDCARD) ) {
alt25=7;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 25, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case DOT:
case STRING_LITERAL:
case TOKEN_REF:
case WILDCARD:
{
alt25=1;
}
break;
case NOT:
{
alt25=2;
}
break;
case RANGE:
{
alt25=3;
}
break;
case ASSIGN:
{
alt25=4;
}
break;
case PLUS_ASSIGN:
{
alt25=5;
}
break;
case SET:
{
alt25=6;
}
break;
case BLOCK:
case CLOSURE:
case OPTIONAL:
case POSITIVE_CLOSURE:
{
alt25=8;
}
break;
case ACTION:
case SEMPRED:
case EPSILON:
{
alt25=9;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
{
pushFollow(FOLLOW_atom_in_element952);
atom();
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
{
match(input,NOT,FOLLOW_NOT_in_element958); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_element_in_element960);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
match(input,RANGE,FOLLOW_RANGE_in_element967); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_atom_in_element969);
atom();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_atom_in_element971);
atom();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 4 :
{
match(input,ASSIGN,FOLLOW_ASSIGN_in_element978); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_element980); if (state.failed) return;
pushFollow(FOLLOW_element_in_element982);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 5 :
{
match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_element989); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_element991); if (state.failed) return;
pushFollow(FOLLOW_element_in_element993);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 6 :
{
match(input,SET,FOLLOW_SET_in_element1003); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int cnt24=0;
loop24:
while (true) {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==STRING_LITERAL||LA24_0==TOKEN_REF) ) {
alt24=1;
}
switch (alt24) {
case 1 :
{
pushFollow(FOLLOW_setElement_in_element1005);
setElement();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt24 >= 1 ) break loop24;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(24, input);
throw eee;
}
cnt24++;
}
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 7 :
{
match(input,RULE_REF,FOLLOW_RULE_REF_in_element1017); if (state.failed) return;
}
break;
case 8 :
{
pushFollow(FOLLOW_ebnf_in_element1022);
ebnf();
state._fsp--;
if (state.failed) return;
}
break;
case 9 :
{
pushFollow(FOLLOW_epsilonElement_in_element1027);
epsilonElement();
state._fsp--;
if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void epsilonElement() throws RecognitionException {
try {
int alt26=5;
switch ( input.LA(1) ) {
case ACTION:
{
int LA26_1 = input.LA(2);
if ( (LA26_1==DOWN) ) {
alt26=4;
}
else if ( ((LA26_1 >= UP && LA26_1 <= ACTION)||LA26_1==ASSIGN||LA26_1==DOT||LA26_1==NOT||LA26_1==PLUS_ASSIGN||LA26_1==RANGE||LA26_1==RULE_REF||LA26_1==SEMPRED||LA26_1==STRING_LITERAL||LA26_1==TOKEN_REF||LA26_1==BLOCK||LA26_1==CLOSURE||LA26_1==EPSILON||(LA26_1 >= OPTIONAL && LA26_1 <= POSITIVE_CLOSURE)||LA26_1==SET||LA26_1==WILDCARD) ) {
alt26=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 26, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case SEMPRED:
{
int LA26_2 = input.LA(2);
if ( (LA26_2==DOWN) ) {
alt26=5;
}
else if ( ((LA26_2 >= UP && LA26_2 <= ACTION)||LA26_2==ASSIGN||LA26_2==DOT||LA26_2==NOT||LA26_2==PLUS_ASSIGN||LA26_2==RANGE||LA26_2==RULE_REF||LA26_2==SEMPRED||LA26_2==STRING_LITERAL||LA26_2==TOKEN_REF||LA26_2==BLOCK||LA26_2==CLOSURE||LA26_2==EPSILON||(LA26_2 >= OPTIONAL && LA26_2 <= POSITIVE_CLOSURE)||LA26_2==SET||LA26_2==WILDCARD) ) {
alt26=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 26, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case EPSILON:
{
alt26=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 26, 0, input);
throw nvae;
}
switch (alt26) {
case 1 :
{
match(input,ACTION,FOLLOW_ACTION_in_epsilonElement1038); if (state.failed) return;
}
break;
case 2 :
{
match(input,SEMPRED,FOLLOW_SEMPRED_in_epsilonElement1043); if (state.failed) return;
}
break;
case 3 :
{
match(input,EPSILON,FOLLOW_EPSILON_in_epsilonElement1048); if (state.failed) return;
}
break;
case 4 :
{
match(input,ACTION,FOLLOW_ACTION_in_epsilonElement1054); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_epsilonElement1056);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 5 :
{
match(input,SEMPRED,FOLLOW_SEMPRED_in_epsilonElement1063); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_epsilonElement1065);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void setElement() throws RecognitionException {
try {
int alt27=4;
int LA27_0 = input.LA(1);
if ( (LA27_0==STRING_LITERAL) ) {
int LA27_1 = input.LA(2);
if ( (LA27_1==DOWN) ) {
alt27=1;
}
else if ( (LA27_1==UP||LA27_1==STRING_LITERAL||LA27_1==TOKEN_REF) ) {
alt27=3;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 27, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA27_0==TOKEN_REF) ) {
int LA27_2 = input.LA(2);
if ( (LA27_2==DOWN) ) {
alt27=2;
}
else if ( (LA27_2==UP||LA27_2==STRING_LITERAL||LA27_2==TOKEN_REF) ) {
alt27=4;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 27, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 27, 0, input);
throw nvae;
}
switch (alt27) {
case 1 :
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_setElement1078); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_setElement1080);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 2 :
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_setElement1087); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_setElement1089);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_setElement1095); if (state.failed) return;
}
break;
case 4 :
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_setElement1100); if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void ebnf() throws RecognitionException {
try {
int alt28=4;
switch ( input.LA(1) ) {
case BLOCK:
{
alt28=1;
}
break;
case OPTIONAL:
{
alt28=2;
}
break;
case CLOSURE:
{
alt28=3;
}
break;
case POSITIVE_CLOSURE:
{
alt28=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 28, 0, input);
throw nvae;
}
switch (alt28) {
case 1 :
{
pushFollow(FOLLOW_block_in_ebnf1111);
block();
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
{
match(input,OPTIONAL,FOLLOW_OPTIONAL_in_ebnf1123); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1125);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
match(input,CLOSURE,FOLLOW_CLOSURE_in_ebnf1139); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1141);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 4 :
{
match(input,POSITIVE_CLOSURE,FOLLOW_POSITIVE_CLOSURE_in_ebnf1155); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_block_in_ebnf1157);
block();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void block() throws RecognitionException {
try {
{
match(input,BLOCK,FOLLOW_BLOCK_in_block1177); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==ACTION) ) {
alt29=1;
}
switch (alt29) {
case 1 :
{
match(input,ACTION,FOLLOW_ACTION_in_block1179); if (state.failed) return;
}
break;
}
int cnt30=0;
loop30:
while (true) {
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==ALT) ) {
alt30=1;
}
switch (alt30) {
case 1 :
{
pushFollow(FOLLOW_alternative_in_block1182);
alternative();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt30 >= 1 ) break loop30;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(30, input);
throw eee;
}
cnt30++;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
finally {
}
}
public final void alternative() throws RecognitionException {
try {
{
match(input,ALT,FOLLOW_ALT_in_alternative1199); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==ELEMENT_OPTIONS) ) {
alt31=1;
}
switch (alt31) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_alternative1201);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
int cnt32=0;
loop32:
while (true) {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==ACTION||LA32_0==ASSIGN||LA32_0==DOT||LA32_0==NOT||LA32_0==PLUS_ASSIGN||LA32_0==RANGE||LA32_0==RULE_REF||LA32_0==SEMPRED||LA32_0==STRING_LITERAL||LA32_0==TOKEN_REF||LA32_0==BLOCK||LA32_0==CLOSURE||LA32_0==EPSILON||(LA32_0 >= OPTIONAL && LA32_0 <= POSITIVE_CLOSURE)||LA32_0==SET||LA32_0==WILDCARD) ) {
alt32=1;
}
switch (alt32) {
case 1 :
{
pushFollow(FOLLOW_element_in_alternative1204);
element();
state._fsp--;
if (state.failed) return;
}
break;
default :
if ( cnt32 >= 1 ) break loop32;
if (state.backtracking>0) {state.failed=true; return;}
EarlyExitException eee = new EarlyExitException(32, input);
throw eee;
}
cnt32++;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
finally {
}
}
public final void atom() throws RecognitionException {
try {
int alt35=8;
switch ( input.LA(1) ) {
case RULE_REF:
{
alt35=1;
}
break;
case STRING_LITERAL:
{
int LA35_2 = input.LA(2);
if ( (LA35_2==DOWN) ) {
alt35=2;
}
else if ( ((LA35_2 >= UP && LA35_2 <= ACTION)||LA35_2==ASSIGN||LA35_2==DOT||LA35_2==NOT||LA35_2==PLUS_ASSIGN||LA35_2==RANGE||LA35_2==RULE_REF||LA35_2==SEMPRED||LA35_2==STRING_LITERAL||LA35_2==TOKEN_REF||LA35_2==BLOCK||LA35_2==CLOSURE||LA35_2==EPSILON||(LA35_2 >= OPTIONAL && LA35_2 <= POSITIVE_CLOSURE)||LA35_2==SET||LA35_2==WILDCARD) ) {
alt35=3;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 35, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case TOKEN_REF:
{
int LA35_3 = input.LA(2);
if ( (LA35_3==DOWN) ) {
alt35=4;
}
else if ( ((LA35_3 >= UP && LA35_3 <= ACTION)||LA35_3==ASSIGN||LA35_3==DOT||LA35_3==NOT||LA35_3==PLUS_ASSIGN||LA35_3==RANGE||LA35_3==RULE_REF||LA35_3==SEMPRED||LA35_3==STRING_LITERAL||LA35_3==TOKEN_REF||LA35_3==BLOCK||LA35_3==CLOSURE||LA35_3==EPSILON||(LA35_3 >= OPTIONAL && LA35_3 <= POSITIVE_CLOSURE)||LA35_3==SET||LA35_3==WILDCARD) ) {
alt35=5;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 35, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case WILDCARD:
{
int LA35_4 = input.LA(2);
if ( (LA35_4==DOWN) ) {
alt35=6;
}
else if ( ((LA35_4 >= UP && LA35_4 <= ACTION)||LA35_4==ASSIGN||LA35_4==DOT||LA35_4==NOT||LA35_4==PLUS_ASSIGN||LA35_4==RANGE||LA35_4==RULE_REF||LA35_4==SEMPRED||LA35_4==STRING_LITERAL||LA35_4==TOKEN_REF||LA35_4==BLOCK||LA35_4==CLOSURE||LA35_4==EPSILON||(LA35_4 >= OPTIONAL && LA35_4 <= POSITIVE_CLOSURE)||LA35_4==SET||LA35_4==WILDCARD) ) {
alt35=7;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 35, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case DOT:
{
alt35=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
{
match(input,RULE_REF,FOLLOW_RULE_REF_in_atom1221); if (state.failed) return;
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null); if (state.failed) return;
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==ARG_ACTION) ) {
alt33=1;
}
switch (alt33) {
case 1 :
{
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_atom1223); if (state.failed) return;
}
break;
}
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==ELEMENT_OPTIONS) ) {
alt34=1;
}
switch (alt34) {
case 1 :
{
pushFollow(FOLLOW_elementOptions_in_atom1226);
elementOptions();
state._fsp--;
if (state.failed) return;
}
break;
}
match(input, Token.UP, null); if (state.failed) return;
}
}
break;
case 2 :
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_atom1238); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_atom1240);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 3 :
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_atom1246); if (state.failed) return;
}
break;
case 4 :
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_atom1255); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_atom1257);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 5 :
{
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_atom1263); if (state.failed) return;
}
break;
case 6 :
{
match(input,WILDCARD,FOLLOW_WILDCARD_in_atom1272); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
pushFollow(FOLLOW_elementOptions_in_atom1274);
elementOptions();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
case 7 :
{
match(input,WILDCARD,FOLLOW_WILDCARD_in_atom1280); if (state.failed) return;
}
break;
case 8 :
{
match(input,DOT,FOLLOW_DOT_in_atom1286); if (state.failed) return;
match(input, Token.DOWN, null); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_atom1288); if (state.failed) return;
pushFollow(FOLLOW_element_in_atom1290);
element();
state._fsp--;
if (state.failed) return;
match(input, Token.UP, null); if (state.failed) return;
}
break;
}
}
finally {
}
}
public final void synpred1_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
{
pushFollow(FOLLOW_binary_in_synpred1_LeftRecursiveRuleWalker348);
binary();
state._fsp--;
if (state.failed) return;
}
}
public final void synpred2_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
{
pushFollow(FOLLOW_prefix_in_synpred2_LeftRecursiveRuleWalker404);
prefix();
state._fsp--;
if (state.failed) return;
}
}
public final void synpred3_LeftRecursiveRuleWalker_fragment() throws RecognitionException {
{
pushFollow(FOLLOW_suffix_in_synpred3_LeftRecursiveRuleWalker460);
suffix();
state._fsp--;
if (state.failed) return;
}
}
public final boolean synpred2_LeftRecursiveRuleWalker() {
state.backtracking++;
int start = input.mark();
try {
synpred2_LeftRecursiveRuleWalker_fragment();
} 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();
} 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();
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA11 dfa11 = new DFA11(this);
protected DFA14 dfa14 = new DFA14(this);
static final String DFA11_eotS =
"\130\uffff";
static final String DFA11_eofS =
"\130\uffff";
static final String DFA11_minS =
"\1\4\3\2\1\uffff\2\34\2\2\1\3\1\uffff\2\4\2\122\4\2\4\3\2\2\2\3\1\2\2"+
"\3\1\2\1\3\2\122\1\34\1\3\1\34\1\3\2\2\2\4\13\3\1\2\2\3\1\2\11\3\1\34"+
"\1\3\1\34\1\3\2\4\20\3";
static final String DFA11_maxS =
"\1\144\2\2\1\144\1\uffff\2\34\3\144\1\uffff\2\144\2\122\2\3\2\2\2\144"+
"\2\34\3\144\1\34\1\2\1\3\1\34\1\2\1\3\2\122\1\34\1\144\1\34\1\144\2\2"+
"\2\76\2\34\10\3\1\34\1\2\1\3\1\34\1\2\1\3\11\34\1\144\1\34\1\144\2\76"+
"\10\3\10\34";
static final String DFA11_acceptS =
"\4\uffff\1\1\5\uffff\1\2\115\uffff";
static final String DFA11_specialS =
"\130\uffff}>";
static final String[] DFA11_transitionS = {
"\1\4\5\uffff\1\1\11\uffff\1\4\22\uffff\1\4\6\uffff\1\2\5\uffff\1\4\4"+
"\uffff\1\3\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff\1"+
"\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\5",
"\1\6",
"\1\4\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"",
"\1\13",
"\1\14",
"\1\15\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\16\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"",
"\1\4\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff\1\4\4"+
"\uffff\1\17\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff"+
"\1\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\4\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff\1\4\4"+
"\uffff\1\20\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff"+
"\1\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\21",
"\1\22",
"\1\4\1\23",
"\1\4\1\24",
"\1\25",
"\1\26",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\40\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5"+
"\uffff\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff"+
"\1\4\1\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\41\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5"+
"\uffff\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff"+
"\1\4\1\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\42",
"\1\43",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\44",
"\1\45",
"\1\46",
"\1\47",
"\1\50",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\51",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\52",
"\1\53",
"\1\56\27\uffff\1\54\1\uffff\1\57\37\uffff\1\55",
"\1\62\27\uffff\1\60\1\uffff\1\63\37\uffff\1\61",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\72",
"\1\73",
"\1\74",
"\1\75",
"\1\76",
"\1\77",
"\1\100",
"\1\101",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\102",
"\1\103",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\104",
"\1\105",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\106",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\107",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\112\27\uffff\1\110\1\uffff\1\113\37\uffff\1\111",
"\1\116\27\uffff\1\114\1\uffff\1\117\37\uffff\1\115",
"\1\120",
"\1\121",
"\1\122",
"\1\123",
"\1\124",
"\1\125",
"\1\126",
"\1\127",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67"
};
static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
static final short[][] DFA11_transition;
static {
int numStates = DFA11_transitionS.length;
DFA11_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
}
}
protected class DFA11 extends DFA {
public DFA11(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 11;
this.eot = DFA11_eot;
this.eof = DFA11_eof;
this.min = DFA11_min;
this.max = DFA11_max;
this.accept = DFA11_accept;
this.special = DFA11_special;
this.transition = DFA11_transition;
}
@Override
public String getDescription() {
return "()* loopback of 124:35: ( element )*";
}
}
static final String DFA14_eotS =
"\130\uffff";
static final String DFA14_eofS =
"\130\uffff";
static final String DFA14_minS =
"\1\4\3\2\1\uffff\2\34\2\2\1\3\1\uffff\2\4\2\122\4\2\4\3\2\2\2\3\1\2\2"+
"\3\1\2\1\3\2\122\1\34\1\3\1\34\1\3\2\2\2\4\13\3\1\2\2\3\1\2\11\3\1\34"+
"\1\3\1\34\1\3\2\4\20\3";
static final String DFA14_maxS =
"\1\144\2\2\1\144\1\uffff\2\34\3\144\1\uffff\2\144\2\122\2\3\2\2\2\144"+
"\2\34\3\144\1\34\1\2\1\3\1\34\1\2\1\3\2\122\1\34\1\144\1\34\1\144\2\2"+
"\2\76\2\34\10\3\1\34\1\2\1\3\1\34\1\2\1\3\11\34\1\144\1\34\1\144\2\76"+
"\10\3\10\34";
static final String DFA14_acceptS =
"\4\uffff\1\1\5\uffff\1\2\115\uffff";
static final String DFA14_specialS =
"\130\uffff}>";
static final String[] DFA14_transitionS = {
"\1\4\5\uffff\1\1\11\uffff\1\4\22\uffff\1\4\6\uffff\1\2\5\uffff\1\4\4"+
"\uffff\1\3\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff\1"+
"\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\5",
"\1\6",
"\1\4\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"",
"\1\13",
"\1\14",
"\1\15\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\16\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"",
"\1\4\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff\1\4\4"+
"\uffff\1\17\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff"+
"\1\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\4\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff\1\4\4"+
"\uffff\1\20\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1\uffff"+
"\1\4\2\uffff\1\4\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\21",
"\1\22",
"\1\4\1\23",
"\1\4\1\24",
"\1\25",
"\1\26",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\40\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5"+
"\uffff\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff"+
"\1\4\1\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\41\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5"+
"\uffff\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff"+
"\1\4\1\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\42",
"\1\43",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\44",
"\1\45",
"\1\46",
"\1\47",
"\1\50",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\51",
"\1\12\1\7\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\10\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\11\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\52",
"\1\53",
"\1\56\27\uffff\1\54\1\uffff\1\57\37\uffff\1\55",
"\1\62\27\uffff\1\60\1\uffff\1\63\37\uffff\1\61",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\72",
"\1\73",
"\1\74",
"\1\75",
"\1\76",
"\1\77",
"\1\100",
"\1\101",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\102",
"\1\103",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\104",
"\1\105",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\34\6\uffff\1\33\21\uffff\1\32",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\37\6\uffff\1\36\21\uffff\1\35",
"\1\106",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\107",
"\1\12\1\27\5\uffff\1\4\11\uffff\1\4\22\uffff\1\4\6\uffff\1\4\5\uffff"+
"\1\4\4\uffff\1\4\1\uffff\1\30\2\uffff\1\4\3\uffff\1\4\13\uffff\1\4\1"+
"\uffff\1\4\2\uffff\1\31\5\uffff\2\4\7\uffff\1\4\1\uffff\1\4",
"\1\112\27\uffff\1\110\1\uffff\1\113\37\uffff\1\111",
"\1\116\27\uffff\1\114\1\uffff\1\117\37\uffff\1\115",
"\1\120",
"\1\121",
"\1\122",
"\1\123",
"\1\124",
"\1\125",
"\1\126",
"\1\127",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\66\6\uffff\1\65\21\uffff\1\64",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67",
"\1\71\6\uffff\1\70\21\uffff\1\67"
};
static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
static final short[][] DFA14_transition;
static {
int numStates = DFA14_transitionS.length;
DFA14_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
}
}
protected class DFA14 extends DFA {
public DFA14(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 14;
this.eot = DFA14_eot;
this.eof = DFA14_eof;
this.min = DFA14_min;
this.max = DFA14_max;
this.accept = DFA14_accept;
this.special = DFA14_special;
this.transition = DFA14_transition;
}
@Override
public String getDescription() {
return "()+ loopback of 130:4: ( element )+";
}
}
public static final BitSet FOLLOW_RULE_in_rec_rule72 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_RULE_REF_in_rec_rule76 = new BitSet(new long[]{0x0087040200000800L,0x0000000000004000L});
public static final BitSet FOLLOW_ruleModifier_in_rec_rule83 = new BitSet(new long[]{0x0080040200000800L,0x0000000000004000L});
public static final BitSet FOLLOW_RETURNS_in_rec_rule92 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rec_rule96 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LOCALS_in_rec_rule115 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_rec_rule117 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_OPTIONS_in_rec_rule135 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_AT_in_rec_rule152 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_rec_rule154 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_rec_rule156 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ruleBlock_in_rec_rule172 = new BitSet(new long[]{0x0000000000801008L});
public static final BitSet FOLLOW_exceptionGroup_in_rec_rule179 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_exceptionHandler_in_exceptionGroup197 = new BitSet(new long[]{0x0000000000801002L});
public static final BitSet FOLLOW_finallyClause_in_exceptionGroup200 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_exceptionHandler216 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_exceptionHandler218 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_exceptionHandler220 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FINALLY_in_finallyClause233 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_finallyClause235 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BLOCK_in_ruleBlock290 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_outerAlternative_in_ruleBlock303 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000400L});
public static final BitSet FOLLOW_binary_in_outerAlternative362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prefix_in_outerAlternative418 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_suffix_in_outerAlternative474 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nonLeftRecur_in_outerAlternative515 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ALT_in_binary541 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_binary543 = new BitSet(new long[]{0x0200400000000400L});
public static final BitSet FOLLOW_recurse_in_binary546 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_binary548 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_recurse_in_binary551 = new BitSet(new long[]{0x0800000000000018L,0x0000000000080000L});
public static final BitSet FOLLOW_epsilonElement_in_binary553 = new BitSet(new long[]{0x0800000000000018L,0x0000000000080000L});
public static final BitSet FOLLOW_ALT_in_prefix579 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_prefix581 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_prefix587 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_recurse_in_prefix593 = new BitSet(new long[]{0x0800000000000018L,0x0000000000080000L});
public static final BitSet FOLLOW_epsilonElement_in_prefix595 = new BitSet(new long[]{0x0800000000000018L,0x0000000000080000L});
public static final BitSet FOLLOW_ALT_in_suffix630 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_suffix632 = new BitSet(new long[]{0x0200400000000400L});
public static final BitSet FOLLOW_recurse_in_suffix635 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_suffix637 = new BitSet(new long[]{0x4A10408000100418L,0x0000001406094004L});
public static final BitSet FOLLOW_ALT_in_nonLeftRecur671 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_nonLeftRecur673 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_nonLeftRecur676 = new BitSet(new long[]{0x4A10408000100418L,0x0000001406094004L});
public static final BitSet FOLLOW_ASSIGN_in_recurse693 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_recurse695 = new BitSet(new long[]{0x0200000000000000L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse697 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_recurse704 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_recurse706 = new BitSet(new long[]{0x0200000000000000L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse708 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_recurseNoLabel_in_recurse714 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_REF_in_recurseNoLabel726 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGN_in_token740 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_token742 = new BitSet(new long[]{0x4000400000000400L,0x0000000000000004L});
public static final BitSet FOLLOW_token_in_token746 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_token755 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_token757 = new BitSet(new long[]{0x4000400000000400L,0x0000000000000004L});
public static final BitSet FOLLOW_token_in_token761 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_token771 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_token792 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_token794 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_token809 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_token811 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_token823 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOptions853 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOption_in_elementOptions855 = new BitSet(new long[]{0x0000000010000408L});
public static final BitSet FOLLOW_ID_in_elementOption874 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGN_in_elementOption885 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_elementOption887 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_ID_in_elementOption889 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_elementOption901 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_elementOption903 = new BitSet(new long[]{0x4000000000000000L});
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption905 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_elementOption917 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_elementOption919 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ACTION_in_elementOption921 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_elementOption933 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_elementOption935 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_INT_in_elementOption937 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_atom_in_element952 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_element958 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_element_in_element960 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RANGE_in_element967 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_atom_in_element969 = new BitSet(new long[]{0x4200000000100000L,0x0000001000000004L});
public static final BitSet FOLLOW_atom_in_element971 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ASSIGN_in_element978 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element980 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_element982 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PLUS_ASSIGN_in_element989 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_element991 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_element993 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SET_in_element1003 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_setElement_in_element1005 = new BitSet(new long[]{0x4000000000000008L,0x0000000000000004L});
public static final BitSet FOLLOW_RULE_REF_in_element1017 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ebnf_in_element1022 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_epsilonElement_in_element1027 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ACTION_in_epsilonElement1038 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMPRED_in_epsilonElement1043 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EPSILON_in_epsilonElement1048 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ACTION_in_epsilonElement1054 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_epsilonElement1056 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SEMPRED_in_epsilonElement1063 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_epsilonElement1065 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_setElement1078 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_setElement1080 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_setElement1087 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_setElement1089 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_setElement1095 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TOKEN_REF_in_setElement1100 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_ebnf1111 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPTIONAL_in_ebnf1123 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1125 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CLOSURE_in_ebnf1139 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1141 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_POSITIVE_CLOSURE_in_ebnf1155 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_block_in_ebnf1157 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BLOCK_in_block1177 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ACTION_in_block1179 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_alternative_in_block1182 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000400L});
public static final BitSet FOLLOW_ALT_in_alternative1199 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_alternative1201 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_alternative1204 = new BitSet(new long[]{0x4A10408000100418L,0x0000001406094004L});
public static final BitSet FOLLOW_RULE_REF_in_atom1221 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARG_ACTION_in_atom1223 = new BitSet(new long[]{0x0000000000000008L,0x0000000000040000L});
public static final BitSet FOLLOW_elementOptions_in_atom1226 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_atom1238 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_atom1240 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_LITERAL_in_atom1246 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TOKEN_REF_in_atom1255 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_atom1257 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TOKEN_REF_in_atom1263 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WILDCARD_in_atom1272 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_elementOptions_in_atom1274 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_WILDCARD_in_atom1280 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_atom1286 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_atom1288 = new BitSet(new long[]{0x4A10408000100410L,0x0000001406094004L});
public static final BitSet FOLLOW_element_in_atom1290 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_binary_in_synpred1_LeftRecursiveRuleWalker348 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prefix_in_synpred2_LeftRecursiveRuleWalker404 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_suffix_in_synpred3_LeftRecursiveRuleWalker460 = new BitSet(new long[]{0x0000000000000002L});
}