com.google.appengine.api.search.query.ExpressionParser Maven / Gradle / Ivy
// $ANTLR 3.5.3 com/google/appengine/api/search/query/Expression.g 2024-06-06 12:43:20
package com.google.appengine.api.search.query;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import org.antlr.runtime.tree.*;
@SuppressWarnings("all")
public class ExpressionParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ABS", "AND", "ASCII_LETTER",
"ATOM", "COMMA", "COND", "COUNT", "DATE", "DIGIT", "DISTANCE", "DIV",
"DOLLAR", "DOT", "EQ", "ESC_SEQ", "EXPONENT", "FLOAT", "GE", "GEO", "GEOPOINT",
"GT", "HEX_DIGIT", "HTML", "INDEX", "INT", "LE", "LOG", "LPAREN", "LSQUARE",
"LT", "MAX", "MIN", "MINUS", "NAME", "NAME_START", "NE", "NEG", "NOT",
"NUMBER", "OCTAL_ESC", "OR", "PHRASE", "PLUS", "POW", "QUOTE", "RPAREN",
"RSQUARE", "SNIPPET", "SWITCH", "TEXT", "TIMES", "UNDERSCORE", "UNICODE_ESC",
"VECTOR", "WS", "XOR", "'.'"
};
public static final int EOF=-1;
public static final int T__60=60;
public static final int ABS=4;
public static final int AND=5;
public static final int ASCII_LETTER=6;
public static final int ATOM=7;
public static final int COMMA=8;
public static final int COND=9;
public static final int COUNT=10;
public static final int DATE=11;
public static final int DIGIT=12;
public static final int DISTANCE=13;
public static final int DIV=14;
public static final int DOLLAR=15;
public static final int DOT=16;
public static final int EQ=17;
public static final int ESC_SEQ=18;
public static final int EXPONENT=19;
public static final int FLOAT=20;
public static final int GE=21;
public static final int GEO=22;
public static final int GEOPOINT=23;
public static final int GT=24;
public static final int HEX_DIGIT=25;
public static final int HTML=26;
public static final int INDEX=27;
public static final int INT=28;
public static final int LE=29;
public static final int LOG=30;
public static final int LPAREN=31;
public static final int LSQUARE=32;
public static final int LT=33;
public static final int MAX=34;
public static final int MIN=35;
public static final int MINUS=36;
public static final int NAME=37;
public static final int NAME_START=38;
public static final int NE=39;
public static final int NEG=40;
public static final int NOT=41;
public static final int NUMBER=42;
public static final int OCTAL_ESC=43;
public static final int OR=44;
public static final int PHRASE=45;
public static final int PLUS=46;
public static final int POW=47;
public static final int QUOTE=48;
public static final int RPAREN=49;
public static final int RSQUARE=50;
public static final int SNIPPET=51;
public static final int SWITCH=52;
public static final int TEXT=53;
public static final int TIMES=54;
public static final int UNDERSCORE=55;
public static final int UNICODE_ESC=56;
public static final int VECTOR=57;
public static final int WS=58;
public static final int XOR=59;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public ExpressionParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public ExpressionParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
public void setTreeAdaptor(TreeAdaptor adaptor) {
this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
return adaptor;
}
@Override public String[] getTokenNames() { return ExpressionParser.tokenNames; }
@Override public String getGrammarFileName() { return "com/google/appengine/api/search/query/Expression.g"; }
@Override
public Object recoverFromMismatchedSet(IntStream input,
RecognitionException e, BitSet follow) throws RecognitionException {
throw e;
}
@Override
protected Object recoverFromMismatchedToken(
IntStream input, int ttype, BitSet follow) throws RecognitionException {
throw new MismatchedTokenException(ttype, input);
}
public static class expression_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "expression"
// com/google/appengine/api/search/query/Expression.g:64:1: expression : conjunction EOF ;
public final ExpressionParser.expression_return expression() throws RecognitionException {
ExpressionParser.expression_return retval = new ExpressionParser.expression_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token EOF2=null;
ParserRuleReturnScope conjunction1 =null;
CommonTree EOF2_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:65:3: ( conjunction EOF )
// com/google/appengine/api/search/query/Expression.g:65:5: conjunction EOF
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_conjunction_in_expression82);
conjunction1=conjunction();
state._fsp--;
adaptor.addChild(root_0, conjunction1.getTree());
EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_expression84);
EOF2_tree = (CommonTree)adaptor.create(EOF2);
adaptor.addChild(root_0, EOF2_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression"
public static class condExpr_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "condExpr"
// com/google/appengine/api/search/query/Expression.g:68:1: condExpr : conjunction ( COND ^ addExpr )? ;
public final ExpressionParser.condExpr_return condExpr() throws RecognitionException {
ExpressionParser.condExpr_return retval = new ExpressionParser.condExpr_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token COND4=null;
ParserRuleReturnScope conjunction3 =null;
ParserRuleReturnScope addExpr5 =null;
CommonTree COND4_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:69:3: ( conjunction ( COND ^ addExpr )? )
// com/google/appengine/api/search/query/Expression.g:69:5: conjunction ( COND ^ addExpr )?
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_conjunction_in_condExpr97);
conjunction3=conjunction();
state._fsp--;
adaptor.addChild(root_0, conjunction3.getTree());
// com/google/appengine/api/search/query/Expression.g:69:17: ( COND ^ addExpr )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==COND) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:69:18: COND ^ addExpr
{
COND4=(Token)match(input,COND,FOLLOW_COND_in_condExpr100);
COND4_tree = (CommonTree)adaptor.create(COND4);
root_0 = (CommonTree)adaptor.becomeRoot(COND4_tree, root_0);
pushFollow(FOLLOW_addExpr_in_condExpr103);
addExpr5=addExpr();
state._fsp--;
adaptor.addChild(root_0, addExpr5.getTree());
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "condExpr"
public static class conjunction_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "conjunction"
// com/google/appengine/api/search/query/Expression.g:72:1: conjunction : disjunction ( AND ^ disjunction )* ;
public final ExpressionParser.conjunction_return conjunction() throws RecognitionException {
ExpressionParser.conjunction_return retval = new ExpressionParser.conjunction_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token AND7=null;
ParserRuleReturnScope disjunction6 =null;
ParserRuleReturnScope disjunction8 =null;
CommonTree AND7_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:73:3: ( disjunction ( AND ^ disjunction )* )
// com/google/appengine/api/search/query/Expression.g:73:5: disjunction ( AND ^ disjunction )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_disjunction_in_conjunction118);
disjunction6=disjunction();
state._fsp--;
adaptor.addChild(root_0, disjunction6.getTree());
// com/google/appengine/api/search/query/Expression.g:73:17: ( AND ^ disjunction )*
loop2:
while (true) {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==AND) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:73:18: AND ^ disjunction
{
AND7=(Token)match(input,AND,FOLLOW_AND_in_conjunction121);
AND7_tree = (CommonTree)adaptor.create(AND7);
root_0 = (CommonTree)adaptor.becomeRoot(AND7_tree, root_0);
pushFollow(FOLLOW_disjunction_in_conjunction124);
disjunction8=disjunction();
state._fsp--;
adaptor.addChild(root_0, disjunction8.getTree());
}
break;
default :
break loop2;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conjunction"
public static class disjunction_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "disjunction"
// com/google/appengine/api/search/query/Expression.g:76:1: disjunction : negation ( ( OR | XOR ) ^ negation )* ;
public final ExpressionParser.disjunction_return disjunction() throws RecognitionException {
ExpressionParser.disjunction_return retval = new ExpressionParser.disjunction_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set10=null;
ParserRuleReturnScope negation9 =null;
ParserRuleReturnScope negation11 =null;
CommonTree set10_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:77:3: ( negation ( ( OR | XOR ) ^ negation )* )
// com/google/appengine/api/search/query/Expression.g:77:5: negation ( ( OR | XOR ) ^ negation )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_negation_in_disjunction139);
negation9=negation();
state._fsp--;
adaptor.addChild(root_0, negation9.getTree());
// com/google/appengine/api/search/query/Expression.g:77:14: ( ( OR | XOR ) ^ negation )*
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==OR||LA3_0==XOR) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:77:15: ( OR | XOR ) ^ negation
{
set10=input.LT(1);
set10=input.LT(1);
if ( input.LA(1)==OR||input.LA(1)==XOR ) {
input.consume();
root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set10), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_negation_in_disjunction151);
negation11=negation();
state._fsp--;
adaptor.addChild(root_0, negation11.getTree());
}
break;
default :
break loop3;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "disjunction"
public static class negation_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "negation"
// com/google/appengine/api/search/query/Expression.g:80:1: negation : ( cmpExpr | NOT ^ cmpExpr );
public final ExpressionParser.negation_return negation() throws RecognitionException {
ExpressionParser.negation_return retval = new ExpressionParser.negation_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token NOT13=null;
ParserRuleReturnScope cmpExpr12 =null;
ParserRuleReturnScope cmpExpr14 =null;
CommonTree NOT13_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:81:3: ( cmpExpr | NOT ^ cmpExpr )
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==ABS||LA4_0==ATOM||(LA4_0 >= COUNT && LA4_0 <= DATE)||LA4_0==DISTANCE||LA4_0==DOT||LA4_0==FLOAT||(LA4_0 >= GEO && LA4_0 <= GEOPOINT)||LA4_0==HTML||LA4_0==INT||(LA4_0 >= LOG && LA4_0 <= LPAREN)||(LA4_0 >= MAX && LA4_0 <= NAME)||LA4_0==NUMBER||LA4_0==PHRASE||LA4_0==POW||(LA4_0 >= SNIPPET && LA4_0 <= TEXT)||LA4_0==VECTOR) ) {
alt4=1;
}
else if ( (LA4_0==NOT) ) {
alt4=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:81:5: cmpExpr
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_cmpExpr_in_negation166);
cmpExpr12=cmpExpr();
state._fsp--;
adaptor.addChild(root_0, cmpExpr12.getTree());
}
break;
case 2 :
// com/google/appengine/api/search/query/Expression.g:82:5: NOT ^ cmpExpr
{
root_0 = (CommonTree)adaptor.nil();
NOT13=(Token)match(input,NOT,FOLLOW_NOT_in_negation172);
NOT13_tree = (CommonTree)adaptor.create(NOT13);
root_0 = (CommonTree)adaptor.becomeRoot(NOT13_tree, root_0);
pushFollow(FOLLOW_cmpExpr_in_negation175);
cmpExpr14=cmpExpr();
state._fsp--;
adaptor.addChild(root_0, cmpExpr14.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "negation"
public static class cmpExpr_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "cmpExpr"
// com/google/appengine/api/search/query/Expression.g:85:1: cmpExpr : addExpr ( cmpOp ^ addExpr )? ;
public final ExpressionParser.cmpExpr_return cmpExpr() throws RecognitionException {
ExpressionParser.cmpExpr_return retval = new ExpressionParser.cmpExpr_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
ParserRuleReturnScope addExpr15 =null;
ParserRuleReturnScope cmpOp16 =null;
ParserRuleReturnScope addExpr17 =null;
try {
// com/google/appengine/api/search/query/Expression.g:86:3: ( addExpr ( cmpOp ^ addExpr )? )
// com/google/appengine/api/search/query/Expression.g:86:5: addExpr ( cmpOp ^ addExpr )?
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_addExpr_in_cmpExpr188);
addExpr15=addExpr();
state._fsp--;
adaptor.addChild(root_0, addExpr15.getTree());
// com/google/appengine/api/search/query/Expression.g:86:13: ( cmpOp ^ addExpr )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==EQ||LA5_0==GE||LA5_0==GT||LA5_0==LE||LA5_0==LT||LA5_0==NE) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:86:14: cmpOp ^ addExpr
{
pushFollow(FOLLOW_cmpOp_in_cmpExpr191);
cmpOp16=cmpOp();
state._fsp--;
root_0 = (CommonTree)adaptor.becomeRoot(cmpOp16.getTree(), root_0);
pushFollow(FOLLOW_addExpr_in_cmpExpr194);
addExpr17=addExpr();
state._fsp--;
adaptor.addChild(root_0, addExpr17.getTree());
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "cmpExpr"
public static class cmpOp_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "cmpOp"
// com/google/appengine/api/search/query/Expression.g:89:1: cmpOp : ( LT | LE | GT | GE | EQ | NE );
public final ExpressionParser.cmpOp_return cmpOp() throws RecognitionException {
ExpressionParser.cmpOp_return retval = new ExpressionParser.cmpOp_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set18=null;
CommonTree set18_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:90:3: ( LT | LE | GT | GE | EQ | NE )
// com/google/appengine/api/search/query/Expression.g:
{
root_0 = (CommonTree)adaptor.nil();
set18=input.LT(1);
if ( input.LA(1)==EQ||input.LA(1)==GE||input.LA(1)==GT||input.LA(1)==LE||input.LA(1)==LT||input.LA(1)==NE ) {
input.consume();
adaptor.addChild(root_0, (CommonTree)adaptor.create(set18));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "cmpOp"
public static class addExpr_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "addExpr"
// com/google/appengine/api/search/query/Expression.g:98:1: addExpr : multExpr ( addOp ^ multExpr )* ;
public final ExpressionParser.addExpr_return addExpr() throws RecognitionException {
ExpressionParser.addExpr_return retval = new ExpressionParser.addExpr_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
ParserRuleReturnScope multExpr19 =null;
ParserRuleReturnScope addOp20 =null;
ParserRuleReturnScope multExpr21 =null;
try {
// com/google/appengine/api/search/query/Expression.g:99:3: ( multExpr ( addOp ^ multExpr )* )
// com/google/appengine/api/search/query/Expression.g:99:5: multExpr ( addOp ^ multExpr )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_multExpr_in_addExpr252);
multExpr19=multExpr();
state._fsp--;
adaptor.addChild(root_0, multExpr19.getTree());
// com/google/appengine/api/search/query/Expression.g:99:14: ( addOp ^ multExpr )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==MINUS||LA6_0==PLUS) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:99:15: addOp ^ multExpr
{
pushFollow(FOLLOW_addOp_in_addExpr255);
addOp20=addOp();
state._fsp--;
root_0 = (CommonTree)adaptor.becomeRoot(addOp20.getTree(), root_0);
pushFollow(FOLLOW_multExpr_in_addExpr258);
multExpr21=multExpr();
state._fsp--;
adaptor.addChild(root_0, multExpr21.getTree());
}
break;
default :
break loop6;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "addExpr"
public static class addOp_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "addOp"
// com/google/appengine/api/search/query/Expression.g:102:1: addOp : ( PLUS | MINUS );
public final ExpressionParser.addOp_return addOp() throws RecognitionException {
ExpressionParser.addOp_return retval = new ExpressionParser.addOp_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set22=null;
CommonTree set22_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:103:3: ( PLUS | MINUS )
// com/google/appengine/api/search/query/Expression.g:
{
root_0 = (CommonTree)adaptor.nil();
set22=input.LT(1);
if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
input.consume();
adaptor.addChild(root_0, (CommonTree)adaptor.create(set22));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "addOp"
public static class multExpr_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "multExpr"
// com/google/appengine/api/search/query/Expression.g:107:1: multExpr : unary ( multOp ^ unary )* ;
public final ExpressionParser.multExpr_return multExpr() throws RecognitionException {
ExpressionParser.multExpr_return retval = new ExpressionParser.multExpr_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
ParserRuleReturnScope unary23 =null;
ParserRuleReturnScope multOp24 =null;
ParserRuleReturnScope unary25 =null;
try {
// com/google/appengine/api/search/query/Expression.g:108:3: ( unary ( multOp ^ unary )* )
// com/google/appengine/api/search/query/Expression.g:108:5: unary ( multOp ^ unary )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_unary_in_multExpr292);
unary23=unary();
state._fsp--;
adaptor.addChild(root_0, unary23.getTree());
// com/google/appengine/api/search/query/Expression.g:108:11: ( multOp ^ unary )*
loop7:
while (true) {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==DIV||LA7_0==TIMES) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:108:12: multOp ^ unary
{
pushFollow(FOLLOW_multOp_in_multExpr295);
multOp24=multOp();
state._fsp--;
root_0 = (CommonTree)adaptor.becomeRoot(multOp24.getTree(), root_0);
pushFollow(FOLLOW_unary_in_multExpr298);
unary25=unary();
state._fsp--;
adaptor.addChild(root_0, unary25.getTree());
}
break;
default :
break loop7;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "multExpr"
public static class multOp_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "multOp"
// com/google/appengine/api/search/query/Expression.g:111:1: multOp : ( TIMES | DIV );
public final ExpressionParser.multOp_return multOp() throws RecognitionException {
ExpressionParser.multOp_return retval = new ExpressionParser.multOp_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set26=null;
CommonTree set26_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:112:3: ( TIMES | DIV )
// com/google/appengine/api/search/query/Expression.g:
{
root_0 = (CommonTree)adaptor.nil();
set26=input.LT(1);
if ( input.LA(1)==DIV||input.LA(1)==TIMES ) {
input.consume();
adaptor.addChild(root_0, (CommonTree)adaptor.create(set26));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "multOp"
public static class unary_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "unary"
// com/google/appengine/api/search/query/Expression.g:116:1: unary : ( MINUS atom -> ^( NEG[\"-\"] atom ) | atom );
public final ExpressionParser.unary_return unary() throws RecognitionException {
ExpressionParser.unary_return retval = new ExpressionParser.unary_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token MINUS27=null;
ParserRuleReturnScope atom28 =null;
ParserRuleReturnScope atom29 =null;
CommonTree MINUS27_tree=null;
RewriteRuleTokenStream stream_MINUS=new RewriteRuleTokenStream(adaptor,"token MINUS");
RewriteRuleSubtreeStream stream_atom=new RewriteRuleSubtreeStream(adaptor,"rule atom");
try {
// com/google/appengine/api/search/query/Expression.g:117:3: ( MINUS atom -> ^( NEG[\"-\"] atom ) | atom )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==MINUS) ) {
alt8=1;
}
else if ( (LA8_0==ABS||LA8_0==ATOM||(LA8_0 >= COUNT && LA8_0 <= DATE)||LA8_0==DISTANCE||LA8_0==DOT||LA8_0==FLOAT||(LA8_0 >= GEO && LA8_0 <= GEOPOINT)||LA8_0==HTML||LA8_0==INT||(LA8_0 >= LOG && LA8_0 <= LPAREN)||(LA8_0 >= MAX && LA8_0 <= MIN)||LA8_0==NAME||LA8_0==NUMBER||LA8_0==PHRASE||LA8_0==POW||(LA8_0 >= SNIPPET && LA8_0 <= TEXT)||LA8_0==VECTOR) ) {
alt8=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:117:5: MINUS atom
{
MINUS27=(Token)match(input,MINUS,FOLLOW_MINUS_in_unary332);
stream_MINUS.add(MINUS27);
pushFollow(FOLLOW_atom_in_unary334);
atom28=atom();
state._fsp--;
stream_atom.add(atom28.getTree());
// AST REWRITE
// elements: atom
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 117:16: -> ^( NEG[\"-\"] atom )
{
// com/google/appengine/api/search/query/Expression.g:117:19: ^( NEG[\"-\"] atom )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(NEG, "-"), root_1);
adaptor.addChild(root_1, stream_atom.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
break;
case 2 :
// com/google/appengine/api/search/query/Expression.g:118:5: atom
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_atom_in_unary349);
atom29=atom();
state._fsp--;
adaptor.addChild(root_0, atom29.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary"
public static class atom_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "atom"
// com/google/appengine/api/search/query/Expression.g:121:1: atom : ( var | num | str | fn | LPAREN conjunction RPAREN -> conjunction );
public final ExpressionParser.atom_return atom() throws RecognitionException {
ExpressionParser.atom_return retval = new ExpressionParser.atom_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token LPAREN34=null;
Token RPAREN36=null;
ParserRuleReturnScope var30 =null;
ParserRuleReturnScope num31 =null;
ParserRuleReturnScope str32 =null;
ParserRuleReturnScope fn33 =null;
ParserRuleReturnScope conjunction35 =null;
CommonTree LPAREN34_tree=null;
CommonTree RPAREN36_tree=null;
RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
RewriteRuleSubtreeStream stream_conjunction=new RewriteRuleSubtreeStream(adaptor,"rule conjunction");
try {
// com/google/appengine/api/search/query/Expression.g:122:3: ( var | num | str | fn | LPAREN conjunction RPAREN -> conjunction )
int alt9=5;
switch ( input.LA(1) ) {
case NAME:
{
alt9=1;
}
break;
case TEXT:
{
int LA9_2 = input.LA(2);
if ( (LA9_2==EOF||LA9_2==AND||(LA9_2 >= COMMA && LA9_2 <= COND)||LA9_2==DIV||LA9_2==EQ||LA9_2==GE||LA9_2==GT||LA9_2==LE||(LA9_2 >= LSQUARE && LA9_2 <= LT)||LA9_2==MINUS||LA9_2==NE||LA9_2==OR||LA9_2==PLUS||LA9_2==RPAREN||LA9_2==TIMES||LA9_2==XOR) ) {
alt9=1;
}
else if ( (LA9_2==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case HTML:
{
int LA9_3 = input.LA(2);
if ( (LA9_3==EOF||LA9_3==AND||(LA9_3 >= COMMA && LA9_3 <= COND)||LA9_3==DIV||LA9_3==EQ||LA9_3==GE||LA9_3==GT||LA9_3==LE||(LA9_3 >= LSQUARE && LA9_3 <= LT)||LA9_3==MINUS||LA9_3==NE||LA9_3==OR||LA9_3==PLUS||LA9_3==RPAREN||LA9_3==TIMES||LA9_3==XOR) ) {
alt9=1;
}
else if ( (LA9_3==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case ATOM:
{
int LA9_4 = input.LA(2);
if ( (LA9_4==EOF||LA9_4==AND||(LA9_4 >= COMMA && LA9_4 <= COND)||LA9_4==DIV||LA9_4==EQ||LA9_4==GE||LA9_4==GT||LA9_4==LE||(LA9_4 >= LSQUARE && LA9_4 <= LT)||LA9_4==MINUS||LA9_4==NE||LA9_4==OR||LA9_4==PLUS||LA9_4==RPAREN||LA9_4==TIMES||LA9_4==XOR) ) {
alt9=1;
}
else if ( (LA9_4==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case DATE:
{
int LA9_5 = input.LA(2);
if ( (LA9_5==EOF||LA9_5==AND||(LA9_5 >= COMMA && LA9_5 <= COND)||LA9_5==DIV||LA9_5==EQ||LA9_5==GE||LA9_5==GT||LA9_5==LE||(LA9_5 >= LSQUARE && LA9_5 <= LT)||LA9_5==MINUS||LA9_5==NE||LA9_5==OR||LA9_5==PLUS||LA9_5==RPAREN||LA9_5==TIMES||LA9_5==XOR) ) {
alt9=1;
}
else if ( (LA9_5==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 5, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case NUMBER:
{
int LA9_6 = input.LA(2);
if ( (LA9_6==EOF||LA9_6==AND||(LA9_6 >= COMMA && LA9_6 <= COND)||LA9_6==DIV||LA9_6==EQ||LA9_6==GE||LA9_6==GT||LA9_6==LE||(LA9_6 >= LSQUARE && LA9_6 <= LT)||LA9_6==MINUS||LA9_6==NE||LA9_6==OR||LA9_6==PLUS||LA9_6==RPAREN||LA9_6==TIMES||LA9_6==XOR) ) {
alt9=1;
}
else if ( (LA9_6==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 6, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case GEO:
{
int LA9_7 = input.LA(2);
if ( (LA9_7==EOF||LA9_7==AND||(LA9_7 >= COMMA && LA9_7 <= COND)||LA9_7==DIV||LA9_7==EQ||LA9_7==GE||LA9_7==GT||LA9_7==LE||(LA9_7 >= LSQUARE && LA9_7 <= LT)||LA9_7==MINUS||LA9_7==NE||LA9_7==OR||LA9_7==PLUS||LA9_7==RPAREN||LA9_7==TIMES||LA9_7==XOR) ) {
alt9=1;
}
else if ( (LA9_7==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 7, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case GEOPOINT:
{
int LA9_8 = input.LA(2);
if ( (LA9_8==EOF||LA9_8==AND||(LA9_8 >= COMMA && LA9_8 <= COND)||LA9_8==DIV||LA9_8==EQ||LA9_8==GE||LA9_8==GT||LA9_8==LE||(LA9_8 >= LSQUARE && LA9_8 <= LT)||LA9_8==MINUS||LA9_8==NE||LA9_8==OR||LA9_8==PLUS||LA9_8==RPAREN||LA9_8==TIMES||LA9_8==XOR) ) {
alt9=1;
}
else if ( (LA9_8==LPAREN) ) {
alt9=4;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 9, 8, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case FLOAT:
case INT:
{
alt9=2;
}
break;
case PHRASE:
{
alt9=3;
}
break;
case ABS:
case COUNT:
case DISTANCE:
case DOT:
case LOG:
case MAX:
case MIN:
case POW:
case SNIPPET:
case SWITCH:
case VECTOR:
{
alt9=4;
}
break;
case LPAREN:
{
alt9=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:122:5: var
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_var_in_atom362);
var30=var();
state._fsp--;
adaptor.addChild(root_0, var30.getTree());
}
break;
case 2 :
// com/google/appengine/api/search/query/Expression.g:123:5: num
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_num_in_atom368);
num31=num();
state._fsp--;
adaptor.addChild(root_0, num31.getTree());
}
break;
case 3 :
// com/google/appengine/api/search/query/Expression.g:124:5: str
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_str_in_atom374);
str32=str();
state._fsp--;
adaptor.addChild(root_0, str32.getTree());
}
break;
case 4 :
// com/google/appengine/api/search/query/Expression.g:125:5: fn
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_fn_in_atom380);
fn33=fn();
state._fsp--;
adaptor.addChild(root_0, fn33.getTree());
}
break;
case 5 :
// com/google/appengine/api/search/query/Expression.g:126:5: LPAREN conjunction RPAREN
{
LPAREN34=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_atom386);
stream_LPAREN.add(LPAREN34);
pushFollow(FOLLOW_conjunction_in_atom388);
conjunction35=conjunction();
state._fsp--;
stream_conjunction.add(conjunction35.getTree());
RPAREN36=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_atom390);
stream_RPAREN.add(RPAREN36);
// AST REWRITE
// elements: conjunction
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 126:31: -> conjunction
{
adaptor.addChild(root_0, stream_conjunction.nextTree());
}
retval.tree = root_0;
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "atom"
public static class var_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "var"
// com/google/appengine/api/search/query/Expression.g:129:1: var : ( name | name index -> ^( INDEX[$index.text] name ) );
public final ExpressionParser.var_return var() throws RecognitionException {
ExpressionParser.var_return retval = new ExpressionParser.var_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
ParserRuleReturnScope name37 =null;
ParserRuleReturnScope name38 =null;
ParserRuleReturnScope index39 =null;
RewriteRuleSubtreeStream stream_name=new RewriteRuleSubtreeStream(adaptor,"rule name");
RewriteRuleSubtreeStream stream_index=new RewriteRuleSubtreeStream(adaptor,"rule index");
try {
// com/google/appengine/api/search/query/Expression.g:130:3: ( name | name index -> ^( INDEX[$index.text] name ) )
int alt10=2;
alt10 = dfa10.predict(input);
switch (alt10) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:130:5: name
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_name_in_var407);
name37=name();
state._fsp--;
adaptor.addChild(root_0, name37.getTree());
}
break;
case 2 :
// com/google/appengine/api/search/query/Expression.g:131:5: name index
{
pushFollow(FOLLOW_name_in_var413);
name38=name();
state._fsp--;
stream_name.add(name38.getTree());
pushFollow(FOLLOW_index_in_var415);
index39=index();
state._fsp--;
stream_index.add(index39.getTree());
// AST REWRITE
// elements: name
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 131:16: -> ^( INDEX[$index.text] name )
{
// com/google/appengine/api/search/query/Expression.g:131:19: ^( INDEX[$index.text] name )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INDEX, (index39!=null?input.toString(index39.start,index39.stop):null)), root_1);
adaptor.addChild(root_1, stream_name.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "var"
public static class index_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "index"
// com/google/appengine/api/search/query/Expression.g:134:1: index : LSQUARE x= INT RSQUARE -> $x;
public final ExpressionParser.index_return index() throws RecognitionException {
ExpressionParser.index_return retval = new ExpressionParser.index_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token x=null;
Token LSQUARE40=null;
Token RSQUARE41=null;
CommonTree x_tree=null;
CommonTree LSQUARE40_tree=null;
CommonTree RSQUARE41_tree=null;
RewriteRuleTokenStream stream_LSQUARE=new RewriteRuleTokenStream(adaptor,"token LSQUARE");
RewriteRuleTokenStream stream_RSQUARE=new RewriteRuleTokenStream(adaptor,"token RSQUARE");
RewriteRuleTokenStream stream_INT=new RewriteRuleTokenStream(adaptor,"token INT");
try {
// com/google/appengine/api/search/query/Expression.g:135:3: ( LSQUARE x= INT RSQUARE -> $x)
// com/google/appengine/api/search/query/Expression.g:135:5: LSQUARE x= INT RSQUARE
{
LSQUARE40=(Token)match(input,LSQUARE,FOLLOW_LSQUARE_in_index437);
stream_LSQUARE.add(LSQUARE40);
x=(Token)match(input,INT,FOLLOW_INT_in_index441);
stream_INT.add(x);
RSQUARE41=(Token)match(input,RSQUARE,FOLLOW_RSQUARE_in_index443);
stream_RSQUARE.add(RSQUARE41);
// AST REWRITE
// elements: x
// token labels: x
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleTokenStream stream_x=new RewriteRuleTokenStream(adaptor,"token x",x);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 135:27: -> $x
{
adaptor.addChild(root_0, stream_x.nextNode());
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "index"
public static class name_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "name"
// com/google/appengine/api/search/query/Expression.g:138:1: name : ( NAME ( '.' ^ NAME )* |t= TEXT -> NAME[$t] |t= HTML -> NAME[$t] |t= ATOM -> NAME[$t] |t= DATE -> NAME[$t] |t= NUMBER -> NAME[$t] |t= GEO -> NAME[$t] |t= GEOPOINT -> NAME[$t] );
public final ExpressionParser.name_return name() throws RecognitionException {
ExpressionParser.name_return retval = new ExpressionParser.name_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token t=null;
Token NAME42=null;
Token char_literal43=null;
Token NAME44=null;
CommonTree t_tree=null;
CommonTree NAME42_tree=null;
CommonTree char_literal43_tree=null;
CommonTree NAME44_tree=null;
RewriteRuleTokenStream stream_GEO=new RewriteRuleTokenStream(adaptor,"token GEO");
RewriteRuleTokenStream stream_DATE=new RewriteRuleTokenStream(adaptor,"token DATE");
RewriteRuleTokenStream stream_NUMBER=new RewriteRuleTokenStream(adaptor,"token NUMBER");
RewriteRuleTokenStream stream_GEOPOINT=new RewriteRuleTokenStream(adaptor,"token GEOPOINT");
RewriteRuleTokenStream stream_TEXT=new RewriteRuleTokenStream(adaptor,"token TEXT");
RewriteRuleTokenStream stream_HTML=new RewriteRuleTokenStream(adaptor,"token HTML");
RewriteRuleTokenStream stream_ATOM=new RewriteRuleTokenStream(adaptor,"token ATOM");
try {
// com/google/appengine/api/search/query/Expression.g:139:3: ( NAME ( '.' ^ NAME )* |t= TEXT -> NAME[$t] |t= HTML -> NAME[$t] |t= ATOM -> NAME[$t] |t= DATE -> NAME[$t] |t= NUMBER -> NAME[$t] |t= GEO -> NAME[$t] |t= GEOPOINT -> NAME[$t] )
int alt12=8;
switch ( input.LA(1) ) {
case NAME:
{
alt12=1;
}
break;
case TEXT:
{
alt12=2;
}
break;
case HTML:
{
alt12=3;
}
break;
case ATOM:
{
alt12=4;
}
break;
case DATE:
{
alt12=5;
}
break;
case NUMBER:
{
alt12=6;
}
break;
case GEO:
{
alt12=7;
}
break;
case GEOPOINT:
{
alt12=8;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:139:5: NAME ( '.' ^ NAME )*
{
root_0 = (CommonTree)adaptor.nil();
NAME42=(Token)match(input,NAME,FOLLOW_NAME_in_name461);
NAME42_tree = (CommonTree)adaptor.create(NAME42);
adaptor.addChild(root_0, NAME42_tree);
// com/google/appengine/api/search/query/Expression.g:139:10: ( '.' ^ NAME )*
loop11:
while (true) {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==60) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:139:11: '.' ^ NAME
{
char_literal43=(Token)match(input,60,FOLLOW_60_in_name464);
char_literal43_tree = (CommonTree)adaptor.create(char_literal43);
root_0 = (CommonTree)adaptor.becomeRoot(char_literal43_tree, root_0);
NAME44=(Token)match(input,NAME,FOLLOW_NAME_in_name467);
NAME44_tree = (CommonTree)adaptor.create(NAME44);
adaptor.addChild(root_0, NAME44_tree);
}
break;
default :
break loop11;
}
}
}
break;
case 2 :
// com/google/appengine/api/search/query/Expression.g:142:5: t= TEXT
{
t=(Token)match(input,TEXT,FOLLOW_TEXT_in_name483);
stream_TEXT.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 142:12: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 3 :
// com/google/appengine/api/search/query/Expression.g:143:5: t= HTML
{
t=(Token)match(input,HTML,FOLLOW_HTML_in_name496);
stream_HTML.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 143:12: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 4 :
// com/google/appengine/api/search/query/Expression.g:144:5: t= ATOM
{
t=(Token)match(input,ATOM,FOLLOW_ATOM_in_name509);
stream_ATOM.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 144:12: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 5 :
// com/google/appengine/api/search/query/Expression.g:145:5: t= DATE
{
t=(Token)match(input,DATE,FOLLOW_DATE_in_name522);
stream_DATE.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 145:12: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 6 :
// com/google/appengine/api/search/query/Expression.g:146:5: t= NUMBER
{
t=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_name535);
stream_NUMBER.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 146:14: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 7 :
// com/google/appengine/api/search/query/Expression.g:147:5: t= GEO
{
t=(Token)match(input,GEO,FOLLOW_GEO_in_name548);
stream_GEO.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 147:11: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
case 8 :
// com/google/appengine/api/search/query/Expression.g:148:5: t= GEOPOINT
{
t=(Token)match(input,GEOPOINT,FOLLOW_GEOPOINT_in_name561);
stream_GEOPOINT.add(t);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 148:16: -> NAME[$t]
{
adaptor.addChild(root_0, (CommonTree)adaptor.create(NAME, t));
}
retval.tree = root_0;
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "name"
public static class num_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "num"
// com/google/appengine/api/search/query/Expression.g:151:1: num : ( INT | FLOAT );
public final ExpressionParser.num_return num() throws RecognitionException {
ExpressionParser.num_return retval = new ExpressionParser.num_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set45=null;
CommonTree set45_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:152:3: ( INT | FLOAT )
// com/google/appengine/api/search/query/Expression.g:
{
root_0 = (CommonTree)adaptor.nil();
set45=input.LT(1);
if ( input.LA(1)==FLOAT||input.LA(1)==INT ) {
input.consume();
adaptor.addChild(root_0, (CommonTree)adaptor.create(set45));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "num"
public static class str_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "str"
// com/google/appengine/api/search/query/Expression.g:156:1: str : PHRASE ;
public final ExpressionParser.str_return str() throws RecognitionException {
ExpressionParser.str_return retval = new ExpressionParser.str_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token PHRASE46=null;
CommonTree PHRASE46_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:157:3: ( PHRASE )
// com/google/appengine/api/search/query/Expression.g:157:5: PHRASE
{
root_0 = (CommonTree)adaptor.nil();
PHRASE46=(Token)match(input,PHRASE,FOLLOW_PHRASE_in_str598);
PHRASE46_tree = (CommonTree)adaptor.create(PHRASE46);
adaptor.addChild(root_0, PHRASE46_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "str"
public static class fn_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "fn"
// com/google/appengine/api/search/query/Expression.g:160:1: fn : fnName LPAREN condExpr ( COMMA condExpr )* RPAREN -> ^( fnName ( condExpr )+ ) ;
public final ExpressionParser.fn_return fn() throws RecognitionException {
ExpressionParser.fn_return retval = new ExpressionParser.fn_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token LPAREN48=null;
Token COMMA50=null;
Token RPAREN52=null;
ParserRuleReturnScope fnName47 =null;
ParserRuleReturnScope condExpr49 =null;
ParserRuleReturnScope condExpr51 =null;
CommonTree LPAREN48_tree=null;
CommonTree COMMA50_tree=null;
CommonTree RPAREN52_tree=null;
RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
RewriteRuleSubtreeStream stream_fnName=new RewriteRuleSubtreeStream(adaptor,"rule fnName");
RewriteRuleSubtreeStream stream_condExpr=new RewriteRuleSubtreeStream(adaptor,"rule condExpr");
try {
// com/google/appengine/api/search/query/Expression.g:161:3: ( fnName LPAREN condExpr ( COMMA condExpr )* RPAREN -> ^( fnName ( condExpr )+ ) )
// com/google/appengine/api/search/query/Expression.g:161:5: fnName LPAREN condExpr ( COMMA condExpr )* RPAREN
{
pushFollow(FOLLOW_fnName_in_fn611);
fnName47=fnName();
state._fsp--;
stream_fnName.add(fnName47.getTree());
LPAREN48=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_fn613);
stream_LPAREN.add(LPAREN48);
pushFollow(FOLLOW_condExpr_in_fn615);
condExpr49=condExpr();
state._fsp--;
stream_condExpr.add(condExpr49.getTree());
// com/google/appengine/api/search/query/Expression.g:161:28: ( COMMA condExpr )*
loop13:
while (true) {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==COMMA) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// com/google/appengine/api/search/query/Expression.g:161:29: COMMA condExpr
{
COMMA50=(Token)match(input,COMMA,FOLLOW_COMMA_in_fn618);
stream_COMMA.add(COMMA50);
pushFollow(FOLLOW_condExpr_in_fn620);
condExpr51=condExpr();
state._fsp--;
stream_condExpr.add(condExpr51.getTree());
}
break;
default :
break loop13;
}
}
RPAREN52=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_fn624);
stream_RPAREN.add(RPAREN52);
// AST REWRITE
// elements: condExpr, fnName
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (CommonTree)adaptor.nil();
// 162:7: -> ^( fnName ( condExpr )+ )
{
// com/google/appengine/api/search/query/Expression.g:162:10: ^( fnName ( condExpr )+ )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(stream_fnName.nextNode(), root_1);
if ( !(stream_condExpr.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_condExpr.hasNext() ) {
adaptor.addChild(root_1, stream_condExpr.nextTree());
}
stream_condExpr.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fn"
public static class fnName_return extends ParserRuleReturnScope {
CommonTree tree;
@Override
public CommonTree getTree() { return tree; }
};
// $ANTLR start "fnName"
// com/google/appengine/api/search/query/Expression.g:165:1: fnName : ( ABS | COUNT | DISTANCE | GEOPOINT | LOG | MAX | MIN | POW | SNIPPET | SWITCH | TEXT | HTML | ATOM | DATE | NUMBER | GEO | DOT | VECTOR );
public final ExpressionParser.fnName_return fnName() throws RecognitionException {
ExpressionParser.fnName_return retval = new ExpressionParser.fnName_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token set53=null;
CommonTree set53_tree=null;
try {
// com/google/appengine/api/search/query/Expression.g:166:2: ( ABS | COUNT | DISTANCE | GEOPOINT | LOG | MAX | MIN | POW | SNIPPET | SWITCH | TEXT | HTML | ATOM | DATE | NUMBER | GEO | DOT | VECTOR )
// com/google/appengine/api/search/query/Expression.g:
{
root_0 = (CommonTree)adaptor.nil();
set53=input.LT(1);
if ( input.LA(1)==ABS||input.LA(1)==ATOM||(input.LA(1) >= COUNT && input.LA(1) <= DATE)||input.LA(1)==DISTANCE||input.LA(1)==DOT||(input.LA(1) >= GEO && input.LA(1) <= GEOPOINT)||input.LA(1)==HTML||input.LA(1)==LOG||(input.LA(1) >= MAX && input.LA(1) <= MIN)||input.LA(1)==NUMBER||input.LA(1)==POW||(input.LA(1) >= SNIPPET && input.LA(1) <= TEXT)||input.LA(1)==VECTOR ) {
input.consume();
adaptor.addChild(root_0, (CommonTree)adaptor.create(set53));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException e) {
reportError(e);
throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fnName"
// Delegated rules
protected DFA10 dfa10 = new DFA10(this);
static final String DFA10_eotS =
"\15\uffff";
static final String DFA10_eofS =
"\1\uffff\10\12\3\uffff\1\12";
static final String DFA10_minS =
"\1\7\10\5\1\45\2\uffff\1\5";
static final String DFA10_maxS =
"\1\65\1\74\7\73\1\45\2\uffff\1\74";
static final String DFA10_acceptS =
"\12\uffff\1\1\1\2\1\uffff";
static final String DFA10_specialS =
"\15\uffff}>";
static final String[] DFA10_transitionS = {
"\1\4\3\uffff\1\5\12\uffff\1\7\1\10\2\uffff\1\3\12\uffff\1\1\4\uffff\1"+
"\6\12\uffff\1\2",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12\1\11",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12",
"\1\14",
"",
"",
"\1\12\2\uffff\2\12\4\uffff\1\12\2\uffff\1\12\3\uffff\1\12\2\uffff\1"+
"\12\4\uffff\1\12\2\uffff\1\13\1\12\2\uffff\1\12\2\uffff\1\12\4\uffff"+
"\1\12\1\uffff\1\12\2\uffff\1\12\4\uffff\1\12\4\uffff\1\12\1\11"
};
static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS);
static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS);
static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS);
static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS);
static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS);
static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS);
static final short[][] DFA10_transition;
static {
int numStates = DFA10_transitionS.length;
DFA10_transition = new short[numStates][];
for (int i=0; i ^( INDEX[$index.text] name ) );";
}
}
public static final BitSet FOLLOW_conjunction_in_expression82 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_expression84 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conjunction_in_condExpr97 = new BitSet(new long[]{0x0000000000000202L});
public static final BitSet FOLLOW_COND_in_condExpr100 = new BitSet(new long[]{0x0238A43CD4D12C90L});
public static final BitSet FOLLOW_addExpr_in_condExpr103 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_disjunction_in_conjunction118 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_AND_in_conjunction121 = new BitSet(new long[]{0x0238A63CD4D12C90L});
public static final BitSet FOLLOW_disjunction_in_conjunction124 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_negation_in_disjunction139 = new BitSet(new long[]{0x0800100000000002L});
public static final BitSet FOLLOW_set_in_disjunction142 = new BitSet(new long[]{0x0238A63CD4D12C90L});
public static final BitSet FOLLOW_negation_in_disjunction151 = new BitSet(new long[]{0x0800100000000002L});
public static final BitSet FOLLOW_cmpExpr_in_negation166 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_negation172 = new BitSet(new long[]{0x0238A43CD4D12C90L});
public static final BitSet FOLLOW_cmpExpr_in_negation175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_addExpr_in_cmpExpr188 = new BitSet(new long[]{0x0000008221220002L});
public static final BitSet FOLLOW_cmpOp_in_cmpExpr191 = new BitSet(new long[]{0x0238A43CD4D12C90L});
public static final BitSet FOLLOW_addExpr_in_cmpExpr194 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_multExpr_in_addExpr252 = new BitSet(new long[]{0x0000401000000002L});
public static final BitSet FOLLOW_addOp_in_addExpr255 = new BitSet(new long[]{0x0238A43CD4D12C90L});
public static final BitSet FOLLOW_multExpr_in_addExpr258 = new BitSet(new long[]{0x0000401000000002L});
public static final BitSet FOLLOW_unary_in_multExpr292 = new BitSet(new long[]{0x0040000000004002L});
public static final BitSet FOLLOW_multOp_in_multExpr295 = new BitSet(new long[]{0x0238A43CD4D12C90L});
public static final BitSet FOLLOW_unary_in_multExpr298 = new BitSet(new long[]{0x0040000000004002L});
public static final BitSet FOLLOW_MINUS_in_unary332 = new BitSet(new long[]{0x0238A42CD4D12C90L});
public static final BitSet FOLLOW_atom_in_unary334 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_atom_in_unary349 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_var_in_atom362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_num_in_atom368 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_str_in_atom374 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fn_in_atom380 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LPAREN_in_atom386 = new BitSet(new long[]{0x0238A63CD4D12C90L});
public static final BitSet FOLLOW_conjunction_in_atom388 = new BitSet(new long[]{0x0002000000000000L});
public static final BitSet FOLLOW_RPAREN_in_atom390 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_name_in_var407 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_name_in_var413 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_index_in_var415 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LSQUARE_in_index437 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_INT_in_index441 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_RSQUARE_in_index443 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NAME_in_name461 = new BitSet(new long[]{0x1000000000000002L});
public static final BitSet FOLLOW_60_in_name464 = new BitSet(new long[]{0x0000002000000000L});
public static final BitSet FOLLOW_NAME_in_name467 = new BitSet(new long[]{0x1000000000000002L});
public static final BitSet FOLLOW_TEXT_in_name483 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_HTML_in_name496 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ATOM_in_name509 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DATE_in_name522 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NUMBER_in_name535 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GEO_in_name548 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GEOPOINT_in_name561 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PHRASE_in_str598 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fnName_in_fn611 = new BitSet(new long[]{0x0000000080000000L});
public static final BitSet FOLLOW_LPAREN_in_fn613 = new BitSet(new long[]{0x0238A63CD4D12C90L});
public static final BitSet FOLLOW_condExpr_in_fn615 = new BitSet(new long[]{0x0002000000000100L});
public static final BitSet FOLLOW_COMMA_in_fn618 = new BitSet(new long[]{0x0238A63CD4D12C90L});
public static final BitSet FOLLOW_condExpr_in_fn620 = new BitSet(new long[]{0x0002000000000100L});
public static final BitSet FOLLOW_RPAREN_in_fn624 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy