org.usergrid.persistence.query.tree.QueryFilterParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of usergrid-core Show documentation
Show all versions of usergrid-core Show documentation
Core services for Usergrid system.
// $ANTLR 3.4 org/usergrid/persistence/query/tree/QueryFilter.g 2013-01-24 11:24:09
package org.usergrid.persistence.query.tree;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.usergrid.persistence.Query;
import org.usergrid.persistence.Query.FilterPredicate;
import org.usergrid.persistence.Query.SortPredicate;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import org.antlr.runtime.tree.*;
@SuppressWarnings({"all", "warnings", "unchecked"})
public class QueryFilterParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "AND", "ASC", "BOOLEAN", "CONTAINS", "DESC", "EQ", "ESC_SEQ", "EXPONENT", "FALSE", "FLOAT", "GT", "GTE", "HEX_DIGIT", "ID", "LONG", "LT", "LTE", "NOT", "OCTAL_ESC", "OF", "OR", "STRING", "TRUE", "UNICODE_ESC", "UUID", "WITHIN", "WS", "'('", "')'", "'*'", "','", "':'", "'order by'", "'select'", "'where'", "'{'", "'}'"
};
public static final int EOF=-1;
public static final int T__31=31;
public static final int T__32=32;
public static final int T__33=33;
public static final int T__34=34;
public static final int T__35=35;
public static final int T__36=36;
public static final int T__37=37;
public static final int T__38=38;
public static final int T__39=39;
public static final int T__40=40;
public static final int AND=4;
public static final int ASC=5;
public static final int BOOLEAN=6;
public static final int CONTAINS=7;
public static final int DESC=8;
public static final int EQ=9;
public static final int ESC_SEQ=10;
public static final int EXPONENT=11;
public static final int FALSE=12;
public static final int FLOAT=13;
public static final int GT=14;
public static final int GTE=15;
public static final int HEX_DIGIT=16;
public static final int ID=17;
public static final int LONG=18;
public static final int LT=19;
public static final int LTE=20;
public static final int NOT=21;
public static final int OCTAL_ESC=22;
public static final int OF=23;
public static final int OR=24;
public static final int STRING=25;
public static final int TRUE=26;
public static final int UNICODE_ESC=27;
public static final int UUID=28;
public static final int WITHIN=29;
public static final int WS=30;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public QueryFilterParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public QueryFilterParser(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;
}
public String[] getTokenNames() { return QueryFilterParser.tokenNames; }
public String getGrammarFileName() { return "org/usergrid/persistence/query/tree/QueryFilter.g"; }
Query query = new Query();
private static final Logger logger = LoggerFactory
.getLogger(QueryFilterLexer.class);
@Override
public void emitErrorMessage(String msg) {
logger.info(msg);
}
public static class property_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "property"
// org/usergrid/persistence/query/tree/QueryFilter.g:157:1: property : ID ;
public final QueryFilterParser.property_return property() throws RecognitionException {
QueryFilterParser.property_return retval = new QueryFilterParser.property_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ID1=null;
Object ID1_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:157:10: ( ID )
// org/usergrid/persistence/query/tree/QueryFilter.g:157:12: ID
{
root_0 = (Object)adaptor.nil();
ID1=(Token)match(input,ID,FOLLOW_ID_in_property987);
ID1_tree =
new Property(ID1)
;
adaptor.addChild(root_0, ID1_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property"
public static class booleanliteral_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "booleanliteral"
// org/usergrid/persistence/query/tree/QueryFilter.g:159:1: booleanliteral : BOOLEAN ;
public final QueryFilterParser.booleanliteral_return booleanliteral() throws RecognitionException {
QueryFilterParser.booleanliteral_return retval = new QueryFilterParser.booleanliteral_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BOOLEAN2=null;
Object BOOLEAN2_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:159:15: ( BOOLEAN )
// org/usergrid/persistence/query/tree/QueryFilter.g:159:17: BOOLEAN
{
root_0 = (Object)adaptor.nil();
BOOLEAN2=(Token)match(input,BOOLEAN,FOLLOW_BOOLEAN_in_booleanliteral998);
BOOLEAN2_tree =
new BooleanLiteral(BOOLEAN2)
;
adaptor.addChild(root_0, BOOLEAN2_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "booleanliteral"
public static class longliteral_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "longliteral"
// org/usergrid/persistence/query/tree/QueryFilter.g:162:1: longliteral : LONG ;
public final QueryFilterParser.longliteral_return longliteral() throws RecognitionException {
QueryFilterParser.longliteral_return retval = new QueryFilterParser.longliteral_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LONG3=null;
Object LONG3_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:162:13: ( LONG )
// org/usergrid/persistence/query/tree/QueryFilter.g:163:3: LONG
{
root_0 = (Object)adaptor.nil();
LONG3=(Token)match(input,LONG,FOLLOW_LONG_in_longliteral1012);
LONG3_tree =
new LongLiteral(LONG3)
;
adaptor.addChild(root_0, LONG3_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "longliteral"
public static class uuidliteral_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "uuidliteral"
// org/usergrid/persistence/query/tree/QueryFilter.g:165:1: uuidliteral : UUID ;
public final QueryFilterParser.uuidliteral_return uuidliteral() throws RecognitionException {
QueryFilterParser.uuidliteral_return retval = new QueryFilterParser.uuidliteral_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UUID4=null;
Object UUID4_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:165:13: ( UUID )
// org/usergrid/persistence/query/tree/QueryFilter.g:166:3: UUID
{
root_0 = (Object)adaptor.nil();
UUID4=(Token)match(input,UUID,FOLLOW_UUID_in_uuidliteral1026);
UUID4_tree =
new UUIDLiteral(UUID4)
;
adaptor.addChild(root_0, UUID4_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "uuidliteral"
public static class stringliteral_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "stringliteral"
// org/usergrid/persistence/query/tree/QueryFilter.g:168:1: stringliteral : STRING ;
public final QueryFilterParser.stringliteral_return stringliteral() throws RecognitionException {
QueryFilterParser.stringliteral_return retval = new QueryFilterParser.stringliteral_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STRING5=null;
Object STRING5_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:168:15: ( STRING )
// org/usergrid/persistence/query/tree/QueryFilter.g:169:3: STRING
{
root_0 = (Object)adaptor.nil();
STRING5=(Token)match(input,STRING,FOLLOW_STRING_in_stringliteral1039);
STRING5_tree =
new StringLiteral(STRING5)
;
adaptor.addChild(root_0, STRING5_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "stringliteral"
public static class floatliteral_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "floatliteral"
// org/usergrid/persistence/query/tree/QueryFilter.g:171:1: floatliteral : FLOAT ;
public final QueryFilterParser.floatliteral_return floatliteral() throws RecognitionException {
QueryFilterParser.floatliteral_return retval = new QueryFilterParser.floatliteral_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FLOAT6=null;
Object FLOAT6_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:171:14: ( FLOAT )
// org/usergrid/persistence/query/tree/QueryFilter.g:172:3: FLOAT
{
root_0 = (Object)adaptor.nil();
FLOAT6=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_floatliteral1054);
FLOAT6_tree =
new FloatLiteral(FLOAT6)
;
adaptor.addChild(root_0, FLOAT6_tree);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "floatliteral"
public static class value_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "value"
// org/usergrid/persistence/query/tree/QueryFilter.g:175:1: value : ( booleanliteral | longliteral | uuidliteral | stringliteral | floatliteral );
public final QueryFilterParser.value_return value() throws RecognitionException {
QueryFilterParser.value_return retval = new QueryFilterParser.value_return();
retval.start = input.LT(1);
Object root_0 = null;
QueryFilterParser.booleanliteral_return booleanliteral7 =null;
QueryFilterParser.longliteral_return longliteral8 =null;
QueryFilterParser.uuidliteral_return uuidliteral9 =null;
QueryFilterParser.stringliteral_return stringliteral10 =null;
QueryFilterParser.floatliteral_return floatliteral11 =null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:175:7: ( booleanliteral | longliteral | uuidliteral | stringliteral | floatliteral )
int alt1=5;
switch ( input.LA(1) ) {
case BOOLEAN:
{
alt1=1;
}
break;
case LONG:
{
alt1=2;
}
break;
case UUID:
{
alt1=3;
}
break;
case STRING:
{
alt1=4;
}
break;
case FLOAT:
{
alt1=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:176:3: booleanliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_booleanliteral_in_value1070);
booleanliteral7=booleanliteral();
state._fsp--;
adaptor.addChild(root_0, booleanliteral7.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:177:5: longliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_longliteral_in_value1076);
longliteral8=longliteral();
state._fsp--;
adaptor.addChild(root_0, longliteral8.getTree());
}
break;
case 3 :
// org/usergrid/persistence/query/tree/QueryFilter.g:178:5: uuidliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_uuidliteral_in_value1082);
uuidliteral9=uuidliteral();
state._fsp--;
adaptor.addChild(root_0, uuidliteral9.getTree());
}
break;
case 4 :
// org/usergrid/persistence/query/tree/QueryFilter.g:179:5: stringliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_stringliteral_in_value1088);
stringliteral10=stringliteral();
state._fsp--;
adaptor.addChild(root_0, stringliteral10.getTree());
}
break;
case 5 :
// org/usergrid/persistence/query/tree/QueryFilter.g:180:5: floatliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_floatliteral_in_value1094);
floatliteral11=floatliteral();
state._fsp--;
adaptor.addChild(root_0, floatliteral11.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "value"
public static class equalityop_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "equalityop"
// org/usergrid/persistence/query/tree/QueryFilter.g:191:1: equalityop : ( property LT ^ value | property LTE ^ value | property EQ ^ value | property GT ^ value | property GTE ^ value );
public final QueryFilterParser.equalityop_return equalityop() throws RecognitionException {
QueryFilterParser.equalityop_return retval = new QueryFilterParser.equalityop_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT13=null;
Token LTE16=null;
Token EQ19=null;
Token GT22=null;
Token GTE25=null;
QueryFilterParser.property_return property12 =null;
QueryFilterParser.value_return value14 =null;
QueryFilterParser.property_return property15 =null;
QueryFilterParser.value_return value17 =null;
QueryFilterParser.property_return property18 =null;
QueryFilterParser.value_return value20 =null;
QueryFilterParser.property_return property21 =null;
QueryFilterParser.value_return value23 =null;
QueryFilterParser.property_return property24 =null;
QueryFilterParser.value_return value26 =null;
Object LT13_tree=null;
Object LTE16_tree=null;
Object EQ19_tree=null;
Object GT22_tree=null;
Object GTE25_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:191:12: ( property LT ^ value | property LTE ^ value | property EQ ^ value | property GT ^ value | property GTE ^ value )
int alt2=5;
switch ( input.LA(1) ) {
case ID:
{
switch ( input.LA(2) ) {
case LT:
{
alt2=1;
}
break;
case LTE:
{
alt2=2;
}
break;
case EQ:
{
alt2=3;
}
break;
case GT:
{
alt2=4;
}
break;
case GTE:
{
alt2=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 2, 1, input);
throw nvae;
}
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:192:3: property LT ^ value
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_equalityop1119);
property12=property();
state._fsp--;
adaptor.addChild(root_0, property12.getTree());
LT13=(Token)match(input,LT,FOLLOW_LT_in_equalityop1121);
LT13_tree =
new LessThan(LT13)
;
root_0 = (Object)adaptor.becomeRoot(LT13_tree, root_0);
pushFollow(FOLLOW_value_in_equalityop1127);
value14=value();
state._fsp--;
adaptor.addChild(root_0, value14.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:193:4: property LTE ^ value
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_equalityop1132);
property15=property();
state._fsp--;
adaptor.addChild(root_0, property15.getTree());
LTE16=(Token)match(input,LTE,FOLLOW_LTE_in_equalityop1134);
LTE16_tree =
new LessThanEqual(LTE16)
;
root_0 = (Object)adaptor.becomeRoot(LTE16_tree, root_0);
pushFollow(FOLLOW_value_in_equalityop1140);
value17=value();
state._fsp--;
adaptor.addChild(root_0, value17.getTree());
}
break;
case 3 :
// org/usergrid/persistence/query/tree/QueryFilter.g:194:4: property EQ ^ value
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_equalityop1145);
property18=property();
state._fsp--;
adaptor.addChild(root_0, property18.getTree());
EQ19=(Token)match(input,EQ,FOLLOW_EQ_in_equalityop1147);
EQ19_tree =
new Equal(EQ19)
;
root_0 = (Object)adaptor.becomeRoot(EQ19_tree, root_0);
pushFollow(FOLLOW_value_in_equalityop1153);
value20=value();
state._fsp--;
adaptor.addChild(root_0, value20.getTree());
}
break;
case 4 :
// org/usergrid/persistence/query/tree/QueryFilter.g:195:4: property GT ^ value
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_equalityop1158);
property21=property();
state._fsp--;
adaptor.addChild(root_0, property21.getTree());
GT22=(Token)match(input,GT,FOLLOW_GT_in_equalityop1160);
GT22_tree =
new GreaterThan(GT22)
;
root_0 = (Object)adaptor.becomeRoot(GT22_tree, root_0);
pushFollow(FOLLOW_value_in_equalityop1166);
value23=value();
state._fsp--;
adaptor.addChild(root_0, value23.getTree());
}
break;
case 5 :
// org/usergrid/persistence/query/tree/QueryFilter.g:196:4: property GTE ^ value
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_equalityop1171);
property24=property();
state._fsp--;
adaptor.addChild(root_0, property24.getTree());
GTE25=(Token)match(input,GTE,FOLLOW_GTE_in_equalityop1173);
GTE25_tree =
new GreaterThanEqual(GTE25)
;
root_0 = (Object)adaptor.becomeRoot(GTE25_tree, root_0);
pushFollow(FOLLOW_value_in_equalityop1179);
value26=value();
state._fsp--;
adaptor.addChild(root_0, value26.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "equalityop"
public static class locationop_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "locationop"
// org/usergrid/persistence/query/tree/QueryFilter.g:200:1: locationop : property WITHIN ^ ( floatliteral | longliteral ) OF ! ( floatliteral | longliteral ) ',' ! ( floatliteral | longliteral ) ;
public final QueryFilterParser.locationop_return locationop() throws RecognitionException {
QueryFilterParser.locationop_return retval = new QueryFilterParser.locationop_return();
retval.start = input.LT(1);
Object root_0 = null;
Token WITHIN28=null;
Token OF31=null;
Token char_literal34=null;
QueryFilterParser.property_return property27 =null;
QueryFilterParser.floatliteral_return floatliteral29 =null;
QueryFilterParser.longliteral_return longliteral30 =null;
QueryFilterParser.floatliteral_return floatliteral32 =null;
QueryFilterParser.longliteral_return longliteral33 =null;
QueryFilterParser.floatliteral_return floatliteral35 =null;
QueryFilterParser.longliteral_return longliteral36 =null;
Object WITHIN28_tree=null;
Object OF31_tree=null;
Object char_literal34_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:200:12: ( property WITHIN ^ ( floatliteral | longliteral ) OF ! ( floatliteral | longliteral ) ',' ! ( floatliteral | longliteral ) )
// org/usergrid/persistence/query/tree/QueryFilter.g:201:3: property WITHIN ^ ( floatliteral | longliteral ) OF ! ( floatliteral | longliteral ) ',' ! ( floatliteral | longliteral )
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_locationop1194);
property27=property();
state._fsp--;
adaptor.addChild(root_0, property27.getTree());
WITHIN28=(Token)match(input,WITHIN,FOLLOW_WITHIN_in_locationop1196);
WITHIN28_tree =
new WithinOperand(WITHIN28)
;
root_0 = (Object)adaptor.becomeRoot(WITHIN28_tree, root_0);
// org/usergrid/persistence/query/tree/QueryFilter.g:201:35: ( floatliteral | longliteral )
int alt3=2;
switch ( input.LA(1) ) {
case FLOAT:
{
alt3=1;
}
break;
case LONG:
{
alt3=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:36: floatliteral
{
pushFollow(FOLLOW_floatliteral_in_locationop1203);
floatliteral29=floatliteral();
state._fsp--;
adaptor.addChild(root_0, floatliteral29.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:49: longliteral
{
pushFollow(FOLLOW_longliteral_in_locationop1205);
longliteral30=longliteral();
state._fsp--;
adaptor.addChild(root_0, longliteral30.getTree());
}
break;
}
OF31=(Token)match(input,OF,FOLLOW_OF_in_locationop1208);
// org/usergrid/persistence/query/tree/QueryFilter.g:201:66: ( floatliteral | longliteral )
int alt4=2;
switch ( input.LA(1) ) {
case FLOAT:
{
alt4=1;
}
break;
case LONG:
{
alt4=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:67: floatliteral
{
pushFollow(FOLLOW_floatliteral_in_locationop1212);
floatliteral32=floatliteral();
state._fsp--;
adaptor.addChild(root_0, floatliteral32.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:80: longliteral
{
pushFollow(FOLLOW_longliteral_in_locationop1214);
longliteral33=longliteral();
state._fsp--;
adaptor.addChild(root_0, longliteral33.getTree());
}
break;
}
char_literal34=(Token)match(input,34,FOLLOW_34_in_locationop1217);
// org/usergrid/persistence/query/tree/QueryFilter.g:201:98: ( floatliteral | longliteral )
int alt5=2;
switch ( input.LA(1) ) {
case FLOAT:
{
alt5=1;
}
break;
case LONG:
{
alt5=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:99: floatliteral
{
pushFollow(FOLLOW_floatliteral_in_locationop1221);
floatliteral35=floatliteral();
state._fsp--;
adaptor.addChild(root_0, floatliteral35.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:201:112: longliteral
{
pushFollow(FOLLOW_longliteral_in_locationop1223);
longliteral36=longliteral();
state._fsp--;
adaptor.addChild(root_0, longliteral36.getTree());
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "locationop"
public static class containsop_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "containsop"
// org/usergrid/persistence/query/tree/QueryFilter.g:204:1: containsop : property CONTAINS ^ stringliteral ;
public final QueryFilterParser.containsop_return containsop() throws RecognitionException {
QueryFilterParser.containsop_return retval = new QueryFilterParser.containsop_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CONTAINS38=null;
QueryFilterParser.property_return property37 =null;
QueryFilterParser.stringliteral_return stringliteral39 =null;
Object CONTAINS38_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:204:12: ( property CONTAINS ^ stringliteral )
// org/usergrid/persistence/query/tree/QueryFilter.g:205:3: property CONTAINS ^ stringliteral
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_property_in_containsop1237);
property37=property();
state._fsp--;
adaptor.addChild(root_0, property37.getTree());
CONTAINS38=(Token)match(input,CONTAINS,FOLLOW_CONTAINS_in_containsop1239);
CONTAINS38_tree =
new ContainsOperand(CONTAINS38)
;
root_0 = (Object)adaptor.becomeRoot(CONTAINS38_tree, root_0);
pushFollow(FOLLOW_stringliteral_in_containsop1245);
stringliteral39=stringliteral();
state._fsp--;
adaptor.addChild(root_0, stringliteral39.getTree());
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "containsop"
public static class operation_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "operation"
// org/usergrid/persistence/query/tree/QueryFilter.g:207:1: operation : ( '(' ! expression ')' !| equalityop | locationop | containsop );
public final QueryFilterParser.operation_return operation() throws RecognitionException {
QueryFilterParser.operation_return retval = new QueryFilterParser.operation_return();
retval.start = input.LT(1);
Object root_0 = null;
Token char_literal40=null;
Token char_literal42=null;
QueryFilterParser.expression_return expression41 =null;
QueryFilterParser.equalityop_return equalityop43 =null;
QueryFilterParser.locationop_return locationop44 =null;
QueryFilterParser.containsop_return containsop45 =null;
Object char_literal40_tree=null;
Object char_literal42_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:207:11: ( '(' ! expression ')' !| equalityop | locationop | containsop )
int alt6=4;
switch ( input.LA(1) ) {
case 31:
{
alt6=1;
}
break;
case ID:
{
switch ( input.LA(2) ) {
case EQ:
case GT:
case GTE:
case LT:
case LTE:
{
alt6=2;
}
break;
case WITHIN:
{
alt6=3;
}
break;
case CONTAINS:
{
alt6=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 6, 2, input);
throw nvae;
}
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:208:2: '(' ! expression ')' !
{
root_0 = (Object)adaptor.nil();
char_literal40=(Token)match(input,31,FOLLOW_31_in_operation1254);
pushFollow(FOLLOW_expression_in_operation1257);
expression41=expression();
state._fsp--;
adaptor.addChild(root_0, expression41.getTree());
char_literal42=(Token)match(input,32,FOLLOW_32_in_operation1259);
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:209:6: equalityop
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_equalityop_in_operation1267);
equalityop43=equalityop();
state._fsp--;
adaptor.addChild(root_0, equalityop43.getTree());
}
break;
case 3 :
// org/usergrid/persistence/query/tree/QueryFilter.g:210:6: locationop
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_locationop_in_operation1275);
locationop44=locationop();
state._fsp--;
adaptor.addChild(root_0, locationop44.getTree());
}
break;
case 4 :
// org/usergrid/persistence/query/tree/QueryFilter.g:211:6: containsop
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_containsop_in_operation1283);
containsop45=containsop();
state._fsp--;
adaptor.addChild(root_0, containsop45.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operation"
public static class notexp_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "notexp"
// org/usergrid/persistence/query/tree/QueryFilter.g:215:1: notexp : ( NOT ^ operation | operation );
public final QueryFilterParser.notexp_return notexp() throws RecognitionException {
QueryFilterParser.notexp_return retval = new QueryFilterParser.notexp_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NOT46=null;
QueryFilterParser.operation_return operation47 =null;
QueryFilterParser.operation_return operation48 =null;
Object NOT46_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:215:8: ( NOT ^ operation | operation )
int alt7=2;
switch ( input.LA(1) ) {
case NOT:
{
alt7=1;
}
break;
case ID:
case 31:
{
alt7=2;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:217:2: NOT ^ operation
{
root_0 = (Object)adaptor.nil();
NOT46=(Token)match(input,NOT,FOLLOW_NOT_in_notexp1299);
NOT46_tree =
new NotOperand(NOT46)
;
root_0 = (Object)adaptor.becomeRoot(NOT46_tree, root_0);
pushFollow(FOLLOW_operation_in_notexp1305);
operation47=operation();
state._fsp--;
adaptor.addChild(root_0, operation47.getTree());
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:218:3: operation
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_operation_in_notexp1311);
operation48=operation();
state._fsp--;
adaptor.addChild(root_0, operation48.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "notexp"
public static class andexp_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "andexp"
// org/usergrid/persistence/query/tree/QueryFilter.g:223:1: andexp : notexp ( AND ^ notexp )* ;
public final QueryFilterParser.andexp_return andexp() throws RecognitionException {
QueryFilterParser.andexp_return retval = new QueryFilterParser.andexp_return();
retval.start = input.LT(1);
Object root_0 = null;
Token AND50=null;
QueryFilterParser.notexp_return notexp49 =null;
QueryFilterParser.notexp_return notexp51 =null;
Object AND50_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:223:8: ( notexp ( AND ^ notexp )* )
// org/usergrid/persistence/query/tree/QueryFilter.g:224:2: notexp ( AND ^ notexp )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_notexp_in_andexp1325);
notexp49=notexp();
state._fsp--;
adaptor.addChild(root_0, notexp49.getTree());
// org/usergrid/persistence/query/tree/QueryFilter.g:224:9: ( AND ^ notexp )*
loop8:
do {
int alt8=2;
switch ( input.LA(1) ) {
case AND:
{
alt8=1;
}
break;
}
switch (alt8) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:224:10: AND ^ notexp
{
AND50=(Token)match(input,AND,FOLLOW_AND_in_andexp1328);
AND50_tree =
new AndOperand(AND50)
;
root_0 = (Object)adaptor.becomeRoot(AND50_tree, root_0);
pushFollow(FOLLOW_notexp_in_andexp1334);
notexp51=notexp();
state._fsp--;
adaptor.addChild(root_0, notexp51.getTree());
}
break;
default :
break loop8;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "andexp"
public static class expression_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "expression"
// org/usergrid/persistence/query/tree/QueryFilter.g:229:1: expression : andexp ( OR ^ andexp )* ;
public final QueryFilterParser.expression_return expression() throws RecognitionException {
QueryFilterParser.expression_return retval = new QueryFilterParser.expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OR53=null;
QueryFilterParser.andexp_return andexp52 =null;
QueryFilterParser.andexp_return andexp54 =null;
Object OR53_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:229:12: ( andexp ( OR ^ andexp )* )
// org/usergrid/persistence/query/tree/QueryFilter.g:230:2: andexp ( OR ^ andexp )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_andexp_in_expression1351);
andexp52=andexp();
state._fsp--;
adaptor.addChild(root_0, andexp52.getTree());
// org/usergrid/persistence/query/tree/QueryFilter.g:230:9: ( OR ^ andexp )*
loop9:
do {
int alt9=2;
switch ( input.LA(1) ) {
case OR:
{
alt9=1;
}
break;
}
switch (alt9) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:230:10: OR ^ andexp
{
OR53=(Token)match(input,OR,FOLLOW_OR_in_expression1354);
OR53_tree =
new OrOperand(OR53)
;
root_0 = (Object)adaptor.becomeRoot(OR53_tree, root_0);
pushFollow(FOLLOW_andexp_in_expression1360);
andexp54=andexp();
state._fsp--;
adaptor.addChild(root_0, andexp54.getTree());
}
break;
default :
break loop9;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression"
public static class direction_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "direction"
// org/usergrid/persistence/query/tree/QueryFilter.g:239:1: direction : ( ASC | DESC ) ;
public final QueryFilterParser.direction_return direction() throws RecognitionException {
QueryFilterParser.direction_return retval = new QueryFilterParser.direction_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set55=null;
Object set55_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:239:12: ( ( ASC | DESC ) )
// org/usergrid/persistence/query/tree/QueryFilter.g:
{
root_0 = (Object)adaptor.nil();
set55=(Token)input.LT(1);
if ( input.LA(1)==ASC||input.LA(1)==DESC ) {
input.consume();
adaptor.addChild(root_0,
(Object)adaptor.create(set55)
);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "direction"
public static class order_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "order"
// org/usergrid/persistence/query/tree/QueryFilter.g:242:1: order : ( property ( direction )? ) ;
public final QueryFilterParser.order_return order() throws RecognitionException {
QueryFilterParser.order_return retval = new QueryFilterParser.order_return();
retval.start = input.LT(1);
Object root_0 = null;
QueryFilterParser.property_return property56 =null;
QueryFilterParser.direction_return direction57 =null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:243:3: ( ( property ( direction )? ) )
// org/usergrid/persistence/query/tree/QueryFilter.g:243:5: ( property ( direction )? )
{
root_0 = (Object)adaptor.nil();
// org/usergrid/persistence/query/tree/QueryFilter.g:243:5: ( property ( direction )? )
// org/usergrid/persistence/query/tree/QueryFilter.g:243:6: property ( direction )?
{
pushFollow(FOLLOW_property_in_order1397);
property56=property();
state._fsp--;
adaptor.addChild(root_0, property56.getTree());
// org/usergrid/persistence/query/tree/QueryFilter.g:243:15: ( direction )?
int alt10=2;
switch ( input.LA(1) ) {
case ASC:
case DESC:
{
alt10=1;
}
break;
}
switch (alt10) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:243:15: direction
{
pushFollow(FOLLOW_direction_in_order1399);
direction57=direction();
state._fsp--;
adaptor.addChild(root_0, direction57.getTree());
}
break;
}
}
String property = (property56!=null?input.toString(property56.start,property56.stop):null);
String direction = (direction57!=null?input.toString(direction57.start,direction57.stop):null);
query.addSort(new SortPredicate(property, direction));
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "order"
public static class select_subject_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "select_subject"
// org/usergrid/persistence/query/tree/QueryFilter.g:254:1: select_subject : ID ;
public final QueryFilterParser.select_subject_return select_subject() throws RecognitionException {
QueryFilterParser.select_subject_return retval = new QueryFilterParser.select_subject_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ID58=null;
Object ID58_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:255:3: ( ID )
// org/usergrid/persistence/query/tree/QueryFilter.g:255:5: ID
{
root_0 = (Object)adaptor.nil();
ID58=(Token)match(input,ID,FOLLOW_ID_in_select_subject1418);
ID58_tree =
(Object)adaptor.create(ID58)
;
adaptor.addChild(root_0, ID58_tree);
query.addSelect((ID58!=null?ID58.getText():null));
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_subject"
public static class select_assign_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "select_assign"
// org/usergrid/persistence/query/tree/QueryFilter.g:263:1: select_assign : target= ID ':' source= ID ;
public final QueryFilterParser.select_assign_return select_assign() throws RecognitionException {
QueryFilterParser.select_assign_return retval = new QueryFilterParser.select_assign_return();
retval.start = input.LT(1);
Object root_0 = null;
Token target=null;
Token source=null;
Token char_literal59=null;
Object target_tree=null;
Object source_tree=null;
Object char_literal59_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:264:3: (target= ID ':' source= ID )
// org/usergrid/persistence/query/tree/QueryFilter.g:264:5: target= ID ':' source= ID
{
root_0 = (Object)adaptor.nil();
target=(Token)match(input,ID,FOLLOW_ID_in_select_assign1435);
target_tree =
(Object)adaptor.create(target)
;
adaptor.addChild(root_0, target_tree);
char_literal59=(Token)match(input,35,FOLLOW_35_in_select_assign1437);
char_literal59_tree =
(Object)adaptor.create(char_literal59)
;
adaptor.addChild(root_0, char_literal59_tree);
source=(Token)match(input,ID,FOLLOW_ID_in_select_assign1441);
source_tree =
(Object)adaptor.create(source)
;
adaptor.addChild(root_0, source_tree);
query.addSelect((target!=null?target.getText():null), (source!=null?source.getText():null));
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_assign"
public static class select_expr_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "select_expr"
// org/usergrid/persistence/query/tree/QueryFilter.g:270:1: select_expr : ( '*' | select_subject ( ',' select_subject )* | '{' select_assign ( ',' select_assign )* '}' ) ;
public final QueryFilterParser.select_expr_return select_expr() throws RecognitionException {
QueryFilterParser.select_expr_return retval = new QueryFilterParser.select_expr_return();
retval.start = input.LT(1);
Object root_0 = null;
Token char_literal60=null;
Token char_literal62=null;
Token char_literal64=null;
Token char_literal66=null;
Token char_literal68=null;
QueryFilterParser.select_subject_return select_subject61 =null;
QueryFilterParser.select_subject_return select_subject63 =null;
QueryFilterParser.select_assign_return select_assign65 =null;
QueryFilterParser.select_assign_return select_assign67 =null;
Object char_literal60_tree=null;
Object char_literal62_tree=null;
Object char_literal64_tree=null;
Object char_literal66_tree=null;
Object char_literal68_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:271:3: ( ( '*' | select_subject ( ',' select_subject )* | '{' select_assign ( ',' select_assign )* '}' ) )
// org/usergrid/persistence/query/tree/QueryFilter.g:271:5: ( '*' | select_subject ( ',' select_subject )* | '{' select_assign ( ',' select_assign )* '}' )
{
root_0 = (Object)adaptor.nil();
// org/usergrid/persistence/query/tree/QueryFilter.g:271:5: ( '*' | select_subject ( ',' select_subject )* | '{' select_assign ( ',' select_assign )* '}' )
int alt13=3;
switch ( input.LA(1) ) {
case 33:
{
alt13=1;
}
break;
case ID:
{
alt13=2;
}
break;
case 39:
{
alt13=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:271:6: '*'
{
char_literal60=(Token)match(input,33,FOLLOW_33_in_select_expr1455);
char_literal60_tree =
(Object)adaptor.create(char_literal60)
;
adaptor.addChild(root_0, char_literal60_tree);
}
break;
case 2 :
// org/usergrid/persistence/query/tree/QueryFilter.g:271:12: select_subject ( ',' select_subject )*
{
pushFollow(FOLLOW_select_subject_in_select_expr1459);
select_subject61=select_subject();
state._fsp--;
adaptor.addChild(root_0, select_subject61.getTree());
// org/usergrid/persistence/query/tree/QueryFilter.g:271:27: ( ',' select_subject )*
loop11:
do {
int alt11=2;
switch ( input.LA(1) ) {
case 34:
{
alt11=1;
}
break;
}
switch (alt11) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:271:28: ',' select_subject
{
char_literal62=(Token)match(input,34,FOLLOW_34_in_select_expr1462);
char_literal62_tree =
(Object)adaptor.create(char_literal62)
;
adaptor.addChild(root_0, char_literal62_tree);
pushFollow(FOLLOW_select_subject_in_select_expr1464);
select_subject63=select_subject();
state._fsp--;
adaptor.addChild(root_0, select_subject63.getTree());
}
break;
default :
break loop11;
}
} while (true);
}
break;
case 3 :
// org/usergrid/persistence/query/tree/QueryFilter.g:271:52: '{' select_assign ( ',' select_assign )* '}'
{
char_literal64=(Token)match(input,39,FOLLOW_39_in_select_expr1471);
char_literal64_tree =
(Object)adaptor.create(char_literal64)
;
adaptor.addChild(root_0, char_literal64_tree);
pushFollow(FOLLOW_select_assign_in_select_expr1473);
select_assign65=select_assign();
state._fsp--;
adaptor.addChild(root_0, select_assign65.getTree());
// org/usergrid/persistence/query/tree/QueryFilter.g:271:70: ( ',' select_assign )*
loop12:
do {
int alt12=2;
switch ( input.LA(1) ) {
case 34:
{
alt12=1;
}
break;
}
switch (alt12) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:271:71: ',' select_assign
{
char_literal66=(Token)match(input,34,FOLLOW_34_in_select_expr1476);
char_literal66_tree =
(Object)adaptor.create(char_literal66)
;
adaptor.addChild(root_0, char_literal66_tree);
pushFollow(FOLLOW_select_assign_in_select_expr1478);
select_assign67=select_assign();
state._fsp--;
adaptor.addChild(root_0, select_assign67.getTree());
}
break;
default :
break loop12;
}
} while (true);
char_literal68=(Token)match(input,40,FOLLOW_40_in_select_expr1483);
char_literal68_tree =
(Object)adaptor.create(char_literal68)
;
adaptor.addChild(root_0, char_literal68_tree);
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_expr"
public static class ql_return extends ParserRuleReturnScope {
public Query query;
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "ql"
// org/usergrid/persistence/query/tree/QueryFilter.g:275:1: ql returns [Query query] : ( 'select' ! select_expr !)? ( ( 'where' !)? expression )? ( 'order by' ! order ! ( ',' ! order !)* )? ;
public final QueryFilterParser.ql_return ql() throws RecognitionException {
QueryFilterParser.ql_return retval = new QueryFilterParser.ql_return();
retval.start = input.LT(1);
Object root_0 = null;
Token string_literal69=null;
Token string_literal71=null;
Token string_literal73=null;
Token char_literal75=null;
QueryFilterParser.select_expr_return select_expr70 =null;
QueryFilterParser.expression_return expression72 =null;
QueryFilterParser.order_return order74 =null;
QueryFilterParser.order_return order76 =null;
Object string_literal69_tree=null;
Object string_literal71_tree=null;
Object string_literal73_tree=null;
Object char_literal75_tree=null;
try {
// org/usergrid/persistence/query/tree/QueryFilter.g:276:3: ( ( 'select' ! select_expr !)? ( ( 'where' !)? expression )? ( 'order by' ! order ! ( ',' ! order !)* )? )
// org/usergrid/persistence/query/tree/QueryFilter.g:276:5: ( 'select' ! select_expr !)? ( ( 'where' !)? expression )? ( 'order by' ! order ! ( ',' ! order !)* )?
{
root_0 = (Object)adaptor.nil();
// org/usergrid/persistence/query/tree/QueryFilter.g:276:5: ( 'select' ! select_expr !)?
int alt14=2;
switch ( input.LA(1) ) {
case 37:
{
alt14=1;
}
break;
}
switch (alt14) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:276:6: 'select' ! select_expr !
{
string_literal69=(Token)match(input,37,FOLLOW_37_in_ql1506);
pushFollow(FOLLOW_select_expr_in_ql1509);
select_expr70=select_expr();
state._fsp--;
}
break;
}
// org/usergrid/persistence/query/tree/QueryFilter.g:276:31: ( ( 'where' !)? expression )?
int alt16=2;
switch ( input.LA(1) ) {
case ID:
case NOT:
case 31:
case 38:
{
alt16=1;
}
break;
}
switch (alt16) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:276:32: ( 'where' !)? expression
{
// org/usergrid/persistence/query/tree/QueryFilter.g:276:39: ( 'where' !)?
int alt15=2;
switch ( input.LA(1) ) {
case 38:
{
alt15=1;
}
break;
}
switch (alt15) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:276:39: 'where' !
{
string_literal71=(Token)match(input,38,FOLLOW_38_in_ql1515);
}
break;
}
pushFollow(FOLLOW_expression_in_ql1519);
expression72=expression();
state._fsp--;
adaptor.addChild(root_0, expression72.getTree());
}
break;
}
// org/usergrid/persistence/query/tree/QueryFilter.g:276:55: ( 'order by' ! order ! ( ',' ! order !)* )?
int alt18=2;
switch ( input.LA(1) ) {
case 36:
{
alt18=1;
}
break;
}
switch (alt18) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:276:56: 'order by' ! order ! ( ',' ! order !)*
{
string_literal73=(Token)match(input,36,FOLLOW_36_in_ql1524);
pushFollow(FOLLOW_order_in_ql1527);
order74=order();
state._fsp--;
// org/usergrid/persistence/query/tree/QueryFilter.g:276:75: ( ',' ! order !)*
loop17:
do {
int alt17=2;
switch ( input.LA(1) ) {
case 34:
{
alt17=1;
}
break;
}
switch (alt17) {
case 1 :
// org/usergrid/persistence/query/tree/QueryFilter.g:276:76: ',' ! order !
{
char_literal75=(Token)match(input,34,FOLLOW_34_in_ql1531);
pushFollow(FOLLOW_order_in_ql1534);
order76=order();
state._fsp--;
}
break;
default :
break loop17;
}
} while (true);
}
break;
}
if((expression72!=null?((Object)expression72.tree):null) instanceof Operand){
query.setRootOperand((Operand)(expression72!=null?((Object)expression72.tree):null));
}
retval.query = query;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ql"
// Delegated rules
public static final BitSet FOLLOW_ID_in_property987 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BOOLEAN_in_booleanliteral998 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LONG_in_longliteral1012 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UUID_in_uuidliteral1026 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_stringliteral1039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FLOAT_in_floatliteral1054 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_booleanliteral_in_value1070 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_longliteral_in_value1076 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_uuidliteral_in_value1082 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_stringliteral_in_value1088 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_floatliteral_in_value1094 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_equalityop1119 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_LT_in_equalityop1121 = new BitSet(new long[]{0x0000000012042040L});
public static final BitSet FOLLOW_value_in_equalityop1127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_equalityop1132 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_LTE_in_equalityop1134 = new BitSet(new long[]{0x0000000012042040L});
public static final BitSet FOLLOW_value_in_equalityop1140 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_equalityop1145 = new BitSet(new long[]{0x0000000000000200L});
public static final BitSet FOLLOW_EQ_in_equalityop1147 = new BitSet(new long[]{0x0000000012042040L});
public static final BitSet FOLLOW_value_in_equalityop1153 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_equalityop1158 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_GT_in_equalityop1160 = new BitSet(new long[]{0x0000000012042040L});
public static final BitSet FOLLOW_value_in_equalityop1166 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_equalityop1171 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_GTE_in_equalityop1173 = new BitSet(new long[]{0x0000000012042040L});
public static final BitSet FOLLOW_value_in_equalityop1179 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_locationop1194 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_WITHIN_in_locationop1196 = new BitSet(new long[]{0x0000000000042000L});
public static final BitSet FOLLOW_floatliteral_in_locationop1203 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_longliteral_in_locationop1205 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_OF_in_locationop1208 = new BitSet(new long[]{0x0000000000042000L});
public static final BitSet FOLLOW_floatliteral_in_locationop1212 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_longliteral_in_locationop1214 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_34_in_locationop1217 = new BitSet(new long[]{0x0000000000042000L});
public static final BitSet FOLLOW_floatliteral_in_locationop1221 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_longliteral_in_locationop1223 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_containsop1237 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_CONTAINS_in_containsop1239 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_stringliteral_in_containsop1245 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_31_in_operation1254 = new BitSet(new long[]{0x0000000080220000L});
public static final BitSet FOLLOW_expression_in_operation1257 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_32_in_operation1259 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_equalityop_in_operation1267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_locationop_in_operation1275 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_containsop_in_operation1283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_notexp1299 = new BitSet(new long[]{0x0000000080020000L});
public static final BitSet FOLLOW_operation_in_notexp1305 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_operation_in_notexp1311 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_notexp_in_andexp1325 = new BitSet(new long[]{0x0000000000000012L});
public static final BitSet FOLLOW_AND_in_andexp1328 = new BitSet(new long[]{0x0000000080220000L});
public static final BitSet FOLLOW_notexp_in_andexp1334 = new BitSet(new long[]{0x0000000000000012L});
public static final BitSet FOLLOW_andexp_in_expression1351 = new BitSet(new long[]{0x0000000001000002L});
public static final BitSet FOLLOW_OR_in_expression1354 = new BitSet(new long[]{0x0000000080220000L});
public static final BitSet FOLLOW_andexp_in_expression1360 = new BitSet(new long[]{0x0000000001000002L});
public static final BitSet FOLLOW_property_in_order1397 = new BitSet(new long[]{0x0000000000000122L});
public static final BitSet FOLLOW_direction_in_order1399 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_select_subject1418 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_select_assign1435 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_select_assign1437 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_ID_in_select_assign1441 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_33_in_select_expr1455 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_select_subject_in_select_expr1459 = new BitSet(new long[]{0x0000000400000002L});
public static final BitSet FOLLOW_34_in_select_expr1462 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_select_subject_in_select_expr1464 = new BitSet(new long[]{0x0000000400000002L});
public static final BitSet FOLLOW_39_in_select_expr1471 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_select_assign_in_select_expr1473 = new BitSet(new long[]{0x0000010400000000L});
public static final BitSet FOLLOW_34_in_select_expr1476 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_select_assign_in_select_expr1478 = new BitSet(new long[]{0x0000010400000000L});
public static final BitSet FOLLOW_40_in_select_expr1483 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_37_in_ql1506 = new BitSet(new long[]{0x0000008200020000L});
public static final BitSet FOLLOW_select_expr_in_ql1509 = new BitSet(new long[]{0x0000005080220002L});
public static final BitSet FOLLOW_38_in_ql1515 = new BitSet(new long[]{0x0000000080220000L});
public static final BitSet FOLLOW_expression_in_ql1519 = new BitSet(new long[]{0x0000001000000002L});
public static final BitSet FOLLOW_36_in_ql1524 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_order_in_ql1527 = new BitSet(new long[]{0x0000000400000002L});
public static final BitSet FOLLOW_34_in_ql1531 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_order_in_ql1534 = new BitSet(new long[]{0x0000000400000002L});
}