org.datayoo.moql.antlr.SelectorParser Maven / Gradle / Ivy
// $ANTLR 3.2 Sep 23, 2009 14:05:07 org/datayoo/moql/antlr/Selector.g 2018-11-05 23:41:03
package org.datayoo.moql.antlr;
import java.util.LinkedList;
import org.datayoo.moql.*;
import org.datayoo.moql.metadata.*;
import org.datayoo.moql.util.StringFormater;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
public class SelectorParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "A_", "L_", "ALL", "N_", "D_", "AND", "S_", "AS", "C_", "ASCENDING", "B_", "E_", "T_", "W_", "BETWEEN", "Y_", "BY", "H_", "CACHE", "O_", "M_", "P_", "I_", "COMPLEMENTATION", "R_", "DECORATE", "DESCENDING", "DISTINCT", "X_", "EXCEPT", "EXISTS", "F_", "FALSE", "FIFO", "FILO", "FROM", "U_", "FULL", "G_", "GROUP", "V_", "HAVING", "IN", "INNER", "INTERSECT", "IS", "J_", "JOIN", "LEFT", "LFU", "K_", "LIKE", "LRU", "NOT", "NULL", "ON", "OR", "ORDER", "OUTER", "RIGHT", "SELECT", "SYMEXCEPT", "LIMIT", "TRUE", "UNION", "WHERE", "IntegerLiteral", "Identifier", "FloatingPointLiteral", "StringLiteral", "DecimalLiteral", "HexLiteral", "OctalLiteral", "HexDigit", "Exponent", "Escape", "Letter", "Digital", "Q_", "Z_", "WS", "'('", "')'", "','", "'%'", "'.*'", "'='", "'<'", "'<='", "'>'", "'>='", "'<>'", "'!='", "'|'", "'^'", "'&'", "'<<'", "'>>'", "'+'", "'-'", "'*'", "'/'", "'~'", "'['", "']'", "'.'", "'as'"
};
public static final int X_=32;
public static final int JOIN=51;
public static final int BETWEEN=18;
public static final int P_=25;
public static final int H_=21;
public static final int LFU=53;
public static final int INNER=47;
public static final int LEFT=52;
public static final int IN=46;
public static final int Y_=19;
public static final int DISTINCT=31;
public static final int IS=49;
public static final int WHERE=69;
public static final int HexDigit=77;
public static final int Q_=82;
public static final int Letter=80;
public static final int AS=11;
public static final int StringLiteral=73;
public static final int I_=26;
public static final int A_=4;
public static final int Z_=83;
public static final int R_=28;
public static final int GROUP=43;
public static final int ORDER=61;
public static final int J_=50;
public static final int BY=20;
public static final int DecimalLiteral=74;
public static final int RIGHT=63;
public static final int B_=14;
public static final int S_=10;
public static final int SELECT=64;
public static final int ASCENDING=13;
public static final int K_=54;
public static final int FloatingPointLiteral=72;
public static final int HexLiteral=75;
public static final int C_=12;
public static final int UNION=68;
public static final int T__91=91;
public static final int T__100=100;
public static final int T__92=92;
public static final int ALL=6;
public static final int T__93=93;
public static final int T__102=102;
public static final int T__94=94;
public static final int T__101=101;
public static final int T__90=90;
public static final int T_=16;
public static final int FROM=39;
public static final int LRU=56;
public static final int L_=5;
public static final int Identifier=71;
public static final int OctalLiteral=76;
public static final int COMPLEMENTATION=27;
public static final int T__99=99;
public static final int DESCENDING=30;
public static final int D_=8;
public static final int T__95=95;
public static final int T__96=96;
public static final int T__97=97;
public static final int IntegerLiteral=70;
public static final int T__98=98;
public static final int NULL=58;
public static final int FILO=38;
public static final int TRUE=67;
public static final int U_=40;
public static final int CACHE=22;
public static final int EXCEPT=33;
public static final int FULL=41;
public static final int M_=24;
public static final int NOT=57;
public static final int LIKE=55;
public static final int AND=9;
public static final int E_=15;
public static final int HAVING=45;
public static final int DECORATE=29;
public static final int Exponent=78;
public static final int V_=44;
public static final int Digital=81;
public static final int LIMIT=66;
public static final int N_=7;
public static final int F_=35;
public static final int OUTER=62;
public static final int WS=84;
public static final int EOF=-1;
public static final int ON=59;
public static final int Escape=79;
public static final int T__110=110;
public static final int OR=60;
public static final int EXISTS=34;
public static final int W_=17;
public static final int FIFO=37;
public static final int INTERSECT=48;
public static final int SYMEXCEPT=65;
public static final int O_=23;
public static final int T__88=88;
public static final int T__108=108;
public static final int G_=42;
public static final int T__89=89;
public static final int T__107=107;
public static final int FALSE=36;
public static final int T__109=109;
public static final int T__104=104;
public static final int T__85=85;
public static final int T__103=103;
public static final int T__86=86;
public static final int T__106=106;
public static final int T__87=87;
public static final int T__105=105;
// delegates
// delegators
public SelectorParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public SelectorParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return SelectorParser.tokenNames; }
public String getGrammarFileName() { return "org/datayoo/moql/antlr/Selector.g"; }
// $ANTLR start "selector"
// org/datayoo/moql/antlr/Selector.g:67:1: selector returns [SelectorDefinition selectorDefinition] : queryMetadata= queryExpression ;
public final SelectorDefinition selector() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
SelectorDefinition queryMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:68:2: (queryMetadata= queryExpression )
// org/datayoo/moql/antlr/Selector.g:68:4: queryMetadata= queryExpression
{
pushFollow(FOLLOW_queryExpression_in_selector704);
queryMetadata=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = queryMetadata;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "selector"
// $ANTLR start "queryExpression"
// org/datayoo/moql/antlr/Selector.g:71:1: queryExpression returns [SelectorDefinition selectorDefinition] : (unionMetadata= unionExpression | exceptMetadata= exceptExpression | symexceptMetadata= symexceptExpression | complementationMetadata= complementationExpression | selectorMetadata= queryTerm );
public final SelectorDefinition queryExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
SelectorDefinition unionMetadata = null;
SelectorDefinition exceptMetadata = null;
SelectorDefinition symexceptMetadata = null;
SelectorDefinition complementationMetadata = null;
SelectorDefinition selectorMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:72:2: (unionMetadata= unionExpression | exceptMetadata= exceptExpression | symexceptMetadata= symexceptExpression | complementationMetadata= complementationExpression | selectorMetadata= queryTerm )
int alt1=5;
switch ( input.LA(1) ) {
case 85:
{
int LA1_1 = input.LA(2);
if ( (synpred1_Selector()) ) {
alt1=1;
}
else if ( (synpred2_Selector()) ) {
alt1=2;
}
else if ( (synpred3_Selector()) ) {
alt1=3;
}
else if ( (synpred4_Selector()) ) {
alt1=4;
}
else if ( (true) ) {
alt1=5;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 1, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
int LA1_2 = input.LA(2);
if ( (synpred1_Selector()) ) {
alt1=1;
}
else if ( (synpred2_Selector()) ) {
alt1=2;
}
else if ( (synpred3_Selector()) ) {
alt1=3;
}
else if ( (synpred4_Selector()) ) {
alt1=4;
}
else if ( (true) ) {
alt1=5;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 1, 2, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:72:4: unionMetadata= unionExpression
{
pushFollow(FOLLOW_unionExpression_in_queryExpression725);
unionMetadata=unionExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = unionMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:73:4: exceptMetadata= exceptExpression
{
pushFollow(FOLLOW_exceptExpression_in_queryExpression736);
exceptMetadata=exceptExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = exceptMetadata;
}
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:74:4: symexceptMetadata= symexceptExpression
{
pushFollow(FOLLOW_symexceptExpression_in_queryExpression747);
symexceptMetadata=symexceptExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = symexceptMetadata;
}
}
break;
case 4 :
// org/datayoo/moql/antlr/Selector.g:75:4: complementationMetadata= complementationExpression
{
pushFollow(FOLLOW_complementationExpression_in_queryExpression758);
complementationMetadata=complementationExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = complementationMetadata;
}
}
break;
case 5 :
// org/datayoo/moql/antlr/Selector.g:76:4: selectorMetadata= queryTerm
{
pushFollow(FOLLOW_queryTerm_in_queryExpression769);
selectorMetadata=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = selectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "queryExpression"
// $ANTLR start "unionExpression"
// org/datayoo/moql/antlr/Selector.g:79:1: unionExpression returns [SelectorDefinition selectorDefinition] : ( '(' lSelectorDefinition2= queryTerm ')' UNION (unionAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm UNION (unionAll= ALL )? rSelectorDefinition1= queryExpression );
public final SelectorDefinition unionExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
Token unionAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
SelectorDefinition lSelectorDefinition1 = null;
SelectorDefinition rSelectorDefinition1 = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:85:2: ( '(' lSelectorDefinition2= queryTerm ')' UNION (unionAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm UNION (unionAll= ALL )? rSelectorDefinition1= queryExpression )
int alt7=2;
switch ( input.LA(1) ) {
case 85:
{
int LA7_1 = input.LA(2);
if ( (synpred9_Selector()) ) {
alt7=1;
}
else if ( (true) ) {
alt7=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 7, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt7=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:85:4: '(' lSelectorDefinition2= queryTerm ')' UNION (unionAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_unionExpression790); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryTerm_in_unionExpression795);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_unionExpression797); if (state.failed) return selectorDefinition;
match(input,UNION,FOLLOW_UNION_in_unionExpression799); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:85:59: (unionAll= ALL )?
int alt2=2;
switch ( input.LA(1) ) {
case ALL:
{
alt2=1;
}
break;
}
switch (alt2) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: unionAll= ALL
{
unionAll=(Token)match(input,ALL,FOLLOW_ALL_in_unionExpression805); if (state.failed) return selectorDefinition;
}
break;
}
match(input,85,FOLLOW_85_in_unionExpression809); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryExpression_in_unionExpression815);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_unionExpression817); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:85:122: (orderBy= orderByClause )?
int alt3=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt3=1;
}
break;
}
switch (alt3) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_unionExpression823);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:85:153: (limitMetadata= limitClause )?
int alt4=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt4=1;
}
break;
}
switch (alt4) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_unionExpression830);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:85:179: (decorateBy= decorateByClause )?
int alt5=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt5=1;
}
break;
}
switch (alt5) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_unionExpression837);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
if ( state.backtracking==0 ) {
if (unionAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition2);
sets.add(rSelectorDefinition2);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.UNION);
if (orderBy != null) {
setlectorMetadata.setOrderBy(orderBy);
}
if (limitMetadata != null) {
setlectorMetadata.setLimit(limitMetadata);
}
if (decorateBy != null) {
setlectorMetadata.setDecorateBy(decorateBy);
}
selectorDefinition = setlectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:106:4: lSelectorDefinition1= queryTerm UNION (unionAll= ALL )? rSelectorDefinition1= queryExpression
{
pushFollow(FOLLOW_queryTerm_in_unionExpression850);
lSelectorDefinition1=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,UNION,FOLLOW_UNION_in_unionExpression852); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:106:52: (unionAll= ALL )?
int alt6=2;
switch ( input.LA(1) ) {
case ALL:
{
alt6=1;
}
break;
}
switch (alt6) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: unionAll= ALL
{
unionAll=(Token)match(input,ALL,FOLLOW_ALL_in_unionExpression858); if (state.failed) return selectorDefinition;
}
break;
}
pushFollow(FOLLOW_queryExpression_in_unionExpression865);
rSelectorDefinition1=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
if (unionAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition1);
sets.add(rSelectorDefinition1);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.UNION);
selectorDefinition = setlectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "unionExpression"
// $ANTLR start "exceptExpression"
// org/datayoo/moql/antlr/Selector.g:120:1: exceptExpression returns [SelectorDefinition selectorDefinition] : ( '(' lSelectorDefinition2= queryTerm ')' EXCEPT (exceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm EXCEPT (exceptAll= ALL )? rSelectorDefinition1= queryExpression );
public final SelectorDefinition exceptExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
Token exceptAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
SelectorDefinition lSelectorDefinition1 = null;
SelectorDefinition rSelectorDefinition1 = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:126:2: ( '(' lSelectorDefinition2= queryTerm ')' EXCEPT (exceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm EXCEPT (exceptAll= ALL )? rSelectorDefinition1= queryExpression )
int alt13=2;
switch ( input.LA(1) ) {
case 85:
{
int LA13_1 = input.LA(2);
if ( (synpred15_Selector()) ) {
alt13=1;
}
else if ( (true) ) {
alt13=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 13, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt13=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:126:4: '(' lSelectorDefinition2= queryTerm ')' EXCEPT (exceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_exceptExpression887); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryTerm_in_exceptExpression892);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_exceptExpression894); if (state.failed) return selectorDefinition;
match(input,EXCEPT,FOLLOW_EXCEPT_in_exceptExpression896); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:126:61: (exceptAll= ALL )?
int alt8=2;
switch ( input.LA(1) ) {
case ALL:
{
alt8=1;
}
break;
}
switch (alt8) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: exceptAll= ALL
{
exceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_exceptExpression902); if (state.failed) return selectorDefinition;
}
break;
}
match(input,85,FOLLOW_85_in_exceptExpression905); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryExpression_in_exceptExpression911);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_exceptExpression913); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:126:123: (orderBy= orderByClause )?
int alt9=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt9=1;
}
break;
}
switch (alt9) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_exceptExpression919);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:126:154: (limitMetadata= limitClause )?
int alt10=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt10=1;
}
break;
}
switch (alt10) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_exceptExpression926);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:126:180: (decorateBy= decorateByClause )?
int alt11=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt11=1;
}
break;
}
switch (alt11) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_exceptExpression933);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
if ( state.backtracking==0 ) {
if (exceptAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition2);
sets.add(rSelectorDefinition2);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.EXCEPT);
if (orderBy != null) {
setlectorMetadata.setOrderBy(orderBy);
}
if (limitMetadata != null) {
setlectorMetadata.setLimit(limitMetadata);
}
if (decorateBy != null) {
setlectorMetadata.setDecorateBy(decorateBy);
}
selectorDefinition = setlectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:147:4: lSelectorDefinition1= queryTerm EXCEPT (exceptAll= ALL )? rSelectorDefinition1= queryExpression
{
pushFollow(FOLLOW_queryTerm_in_exceptExpression947);
lSelectorDefinition1=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,EXCEPT,FOLLOW_EXCEPT_in_exceptExpression949); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:147:54: (exceptAll= ALL )?
int alt12=2;
switch ( input.LA(1) ) {
case ALL:
{
alt12=1;
}
break;
}
switch (alt12) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: exceptAll= ALL
{
exceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_exceptExpression955); if (state.failed) return selectorDefinition;
}
break;
}
pushFollow(FOLLOW_queryExpression_in_exceptExpression962);
rSelectorDefinition1=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
if (exceptAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition1);
sets.add(rSelectorDefinition1);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.EXCEPT);
selectorDefinition = setlectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "exceptExpression"
// $ANTLR start "symexceptExpression"
// org/datayoo/moql/antlr/Selector.g:161:1: symexceptExpression returns [SelectorDefinition selectorDefinition] : ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm SYMEXCEPT (symexceptAll= ALL )? rSelectorDefinition1= queryExpression );
public final SelectorDefinition symexceptExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
Token symexceptAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
SelectorDefinition lSelectorDefinition1 = null;
SelectorDefinition rSelectorDefinition1 = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:167:2: ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm SYMEXCEPT (symexceptAll= ALL )? rSelectorDefinition1= queryExpression )
int alt19=2;
switch ( input.LA(1) ) {
case 85:
{
int LA19_1 = input.LA(2);
if ( (synpred21_Selector()) ) {
alt19=1;
}
else if ( (true) ) {
alt19=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 19, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt19=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:167:4: '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_symexceptExpression984); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryTerm_in_symexceptExpression989);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_symexceptExpression991); if (state.failed) return selectorDefinition;
match(input,SYMEXCEPT,FOLLOW_SYMEXCEPT_in_symexceptExpression993); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:167:67: (symexceptAll= ALL )?
int alt14=2;
switch ( input.LA(1) ) {
case ALL:
{
alt14=1;
}
break;
}
switch (alt14) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: symexceptAll= ALL
{
symexceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_symexceptExpression999); if (state.failed) return selectorDefinition;
}
break;
}
match(input,85,FOLLOW_85_in_symexceptExpression1002); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryExpression_in_symexceptExpression1008);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_symexceptExpression1010); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:167:129: (orderBy= orderByClause )?
int alt15=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt15=1;
}
break;
}
switch (alt15) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_symexceptExpression1016);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:167:160: (limitMetadata= limitClause )?
int alt16=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt16=1;
}
break;
}
switch (alt16) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_symexceptExpression1023);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:167:186: (decorateBy= decorateByClause )?
int alt17=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt17=1;
}
break;
}
switch (alt17) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_symexceptExpression1030);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
if ( state.backtracking==0 ) {
if (symexceptAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition2);
sets.add(rSelectorDefinition2);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.SYMEXCEPT);
if (orderBy != null) {
setlectorMetadata.setOrderBy(orderBy);
}
if (limitMetadata != null) {
setlectorMetadata.setLimit(limitMetadata);
}
if (decorateBy != null) {
setlectorMetadata.setDecorateBy(decorateBy);
}
selectorDefinition = setlectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:188:4: lSelectorDefinition1= queryTerm SYMEXCEPT (symexceptAll= ALL )? rSelectorDefinition1= queryExpression
{
pushFollow(FOLLOW_queryTerm_in_symexceptExpression1043);
lSelectorDefinition1=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,SYMEXCEPT,FOLLOW_SYMEXCEPT_in_symexceptExpression1045); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:188:60: (symexceptAll= ALL )?
int alt18=2;
switch ( input.LA(1) ) {
case ALL:
{
alt18=1;
}
break;
}
switch (alt18) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: symexceptAll= ALL
{
symexceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_symexceptExpression1051); if (state.failed) return selectorDefinition;
}
break;
}
pushFollow(FOLLOW_queryExpression_in_symexceptExpression1058);
rSelectorDefinition1=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
if (symexceptAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition1);
sets.add(rSelectorDefinition1);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.SYMEXCEPT);
selectorDefinition = setlectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "symexceptExpression"
// $ANTLR start "complementationExpression"
// org/datayoo/moql/antlr/Selector.g:202:1: complementationExpression returns [SelectorDefinition selectorDefinition] : ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm COMPLEMENTATION (complementationAll= ALL )? rSelectorDefinition1= queryExpression );
public final SelectorDefinition complementationExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
Token symexceptAll=null;
Token complementationAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
SelectorDefinition lSelectorDefinition1 = null;
SelectorDefinition rSelectorDefinition1 = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:208:2: ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryTerm COMPLEMENTATION (complementationAll= ALL )? rSelectorDefinition1= queryExpression )
int alt25=2;
switch ( input.LA(1) ) {
case 85:
{
int LA25_1 = input.LA(2);
if ( (synpred27_Selector()) ) {
alt25=1;
}
else if ( (true) ) {
alt25=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 25, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt25=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:208:4: '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_complementationExpression1081); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryTerm_in_complementationExpression1086);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_complementationExpression1088); if (state.failed) return selectorDefinition;
match(input,SYMEXCEPT,FOLLOW_SYMEXCEPT_in_complementationExpression1090); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:208:67: (symexceptAll= ALL )?
int alt20=2;
switch ( input.LA(1) ) {
case ALL:
{
alt20=1;
}
break;
}
switch (alt20) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: symexceptAll= ALL
{
symexceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_complementationExpression1096); if (state.failed) return selectorDefinition;
}
break;
}
match(input,85,FOLLOW_85_in_complementationExpression1099); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryExpression_in_complementationExpression1105);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_complementationExpression1107); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:208:129: (orderBy= orderByClause )?
int alt21=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt21=1;
}
break;
}
switch (alt21) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_complementationExpression1113);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:208:160: (limitMetadata= limitClause )?
int alt22=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt22=1;
}
break;
}
switch (alt22) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_complementationExpression1120);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:208:186: (decorateBy= decorateByClause )?
int alt23=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt23=1;
}
break;
}
switch (alt23) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_complementationExpression1127);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
if ( state.backtracking==0 ) {
if (complementationAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition2);
sets.add(rSelectorDefinition2);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.COMPLEMENTATION);
if (orderBy != null) {
setlectorMetadata.setOrderBy(orderBy);
}
if (limitMetadata != null) {
setlectorMetadata.setLimit(limitMetadata);
}
if (decorateBy != null) {
setlectorMetadata.setDecorateBy(decorateBy);
}
selectorDefinition = setlectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:229:4: lSelectorDefinition1= queryTerm COMPLEMENTATION (complementationAll= ALL )? rSelectorDefinition1= queryExpression
{
pushFollow(FOLLOW_queryTerm_in_complementationExpression1140);
lSelectorDefinition1=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,COMPLEMENTATION,FOLLOW_COMPLEMENTATION_in_complementationExpression1142); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:229:72: (complementationAll= ALL )?
int alt24=2;
switch ( input.LA(1) ) {
case ALL:
{
alt24=1;
}
break;
}
switch (alt24) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: complementationAll= ALL
{
complementationAll=(Token)match(input,ALL,FOLLOW_ALL_in_complementationExpression1148); if (state.failed) return selectorDefinition;
}
break;
}
pushFollow(FOLLOW_queryExpression_in_complementationExpression1155);
rSelectorDefinition1=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
if (complementationAll == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition1);
sets.add(rSelectorDefinition1);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.COMPLEMENTATION);
selectorDefinition = setlectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "complementationExpression"
// $ANTLR start "orderByClause"
// org/datayoo/moql/antlr/Selector.g:242:1: orderByClause returns [List orders] : ORDER BY order= sortSpecification ( ',' order= sortSpecification )* ;
public final List orderByClause() throws RecognitionException {
List orders = null;
OrderMetadata order = null;
orders = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:246:2: ( ORDER BY order= sortSpecification ( ',' order= sortSpecification )* )
// org/datayoo/moql/antlr/Selector.g:246:4: ORDER BY order= sortSpecification ( ',' order= sortSpecification )*
{
match(input,ORDER,FOLLOW_ORDER_in_orderByClause1175); if (state.failed) return orders;
match(input,BY,FOLLOW_BY_in_orderByClause1177); if (state.failed) return orders;
pushFollow(FOLLOW_sortSpecification_in_orderByClause1183);
order=sortSpecification();
state._fsp--;
if (state.failed) return orders;
if ( state.backtracking==0 ) {
orders.add(order);
}
// org/datayoo/moql/antlr/Selector.g:246:60: ( ',' order= sortSpecification )*
loop26:
do {
int alt26=2;
switch ( input.LA(1) ) {
case 87:
{
alt26=1;
}
break;
}
switch (alt26) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:246:61: ',' order= sortSpecification
{
match(input,87,FOLLOW_87_in_orderByClause1188); if (state.failed) return orders;
pushFollow(FOLLOW_sortSpecification_in_orderByClause1194);
order=sortSpecification();
state._fsp--;
if (state.failed) return orders;
if ( state.backtracking==0 ) {
orders.add(order);
}
}
break;
default :
break loop26;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return orders;
}
// $ANTLR end "orderByClause"
// $ANTLR start "sortSpecification"
// org/datayoo/moql/antlr/Selector.g:249:1: sortSpecification returns [OrderMetadata order] : expr= expression (type= orderingSpecification )? ;
public final OrderMetadata sortSpecification() throws RecognitionException {
OrderMetadata order = null;
SelectorParser.expression_return expr = null;
OrderType type = null;
try {
// org/datayoo/moql/antlr/Selector.g:257:2: (expr= expression (type= orderingSpecification )? )
// org/datayoo/moql/antlr/Selector.g:257:4: expr= expression (type= orderingSpecification )?
{
pushFollow(FOLLOW_expression_in_sortSpecification1221);
expr=expression();
state._fsp--;
if (state.failed) return order;
// org/datayoo/moql/antlr/Selector.g:257:27: (type= orderingSpecification )?
int alt27=2;
switch ( input.LA(1) ) {
case ASCENDING:
case DESCENDING:
{
alt27=1;
}
break;
}
switch (alt27) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: type= orderingSpecification
{
pushFollow(FOLLOW_orderingSpecification_in_sortSpecification1227);
type=orderingSpecification();
state._fsp--;
if (state.failed) return order;
}
break;
}
}
if ( state.backtracking==0 ) {
if (type == null) {
order = new OrderMetadata(expr.expressionText);
} else {
order = new OrderMetadata(expr.expressionText, type);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return order;
}
// $ANTLR end "sortSpecification"
// $ANTLR start "orderingSpecification"
// org/datayoo/moql/antlr/Selector.g:260:1: orderingSpecification returns [OrderType type] : (t= ASCENDING | t= DESCENDING );
public final OrderType orderingSpecification() throws RecognitionException {
OrderType type = null;
Token t=null;
try {
// org/datayoo/moql/antlr/Selector.g:264:2: (t= ASCENDING | t= DESCENDING )
int alt28=2;
switch ( input.LA(1) ) {
case ASCENDING:
{
alt28=1;
}
break;
case DESCENDING:
{
alt28=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return type;}
NoViableAltException nvae =
new NoViableAltException("", 28, 0, input);
throw nvae;
}
switch (alt28) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:264:4: t= ASCENDING
{
t=(Token)match(input,ASCENDING,FOLLOW_ASCENDING_in_orderingSpecification1251); if (state.failed) return type;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:264:20: t= DESCENDING
{
t=(Token)match(input,DESCENDING,FOLLOW_DESCENDING_in_orderingSpecification1259); if (state.failed) return type;
}
break;
}
if ( state.backtracking==0 ) {
type = OrderType.valueOf(t.getText().toUpperCase());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return type;
}
// $ANTLR end "orderingSpecification"
// $ANTLR start "queryTerm"
// org/datayoo/moql/antlr/Selector.g:267:1: queryTerm returns [SelectorDefinition selectorDefinition] : (intersectMetadata= intersectExpression | queryMetadata= queryPrimary );
public final SelectorDefinition queryTerm() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
SelectorDefinition intersectMetadata = null;
SelectorDefinition queryMetadata = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:273:2: (intersectMetadata= intersectExpression | queryMetadata= queryPrimary )
int alt29=2;
switch ( input.LA(1) ) {
case 85:
{
int LA29_1 = input.LA(2);
if ( (synpred32_Selector()) ) {
alt29=1;
}
else if ( (true) ) {
alt29=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 29, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
int LA29_2 = input.LA(2);
if ( (synpred32_Selector()) ) {
alt29=1;
}
else if ( (true) ) {
alt29=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 29, 2, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 29, 0, input);
throw nvae;
}
switch (alt29) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:273:4: intersectMetadata= intersectExpression
{
pushFollow(FOLLOW_intersectExpression_in_queryTerm1283);
intersectMetadata=intersectExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = intersectMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:274:4: queryMetadata= queryPrimary
{
pushFollow(FOLLOW_queryPrimary_in_queryTerm1294);
queryMetadata=queryPrimary();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = queryMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "queryTerm"
// $ANTLR start "intersectExpression"
// org/datayoo/moql/antlr/Selector.g:277:1: intersectExpression returns [SelectorDefinition selectorDefinition] : ( '(' lSelectorDefinition2= queryPrimary ')' INTERSECT (all= ALL )? '(' rSelectorDefinition2= queryTerm ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryPrimary INTERSECT (all= ALL )? rSelectorDefinition1= queryTerm );
public final SelectorDefinition intersectExpression() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
Token all=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
SelectorDefinition lSelectorDefinition1 = null;
SelectorDefinition rSelectorDefinition1 = null;
SetlectorMetadata setlectorMetadata = new SetlectorMetadata();
ColumnsMetadata columns = new ColumnsMetadata();
List sets = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:283:2: ( '(' lSelectorDefinition2= queryPrimary ')' INTERSECT (all= ALL )? '(' rSelectorDefinition2= queryTerm ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? | lSelectorDefinition1= queryPrimary INTERSECT (all= ALL )? rSelectorDefinition1= queryTerm )
int alt35=2;
switch ( input.LA(1) ) {
case 85:
{
int LA35_1 = input.LA(2);
if ( (synpred37_Selector()) ) {
alt35=1;
}
else if ( (true) ) {
alt35=2;
}
else {
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 35, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt35=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:283:4: '(' lSelectorDefinition2= queryPrimary ')' INTERSECT (all= ALL )? '(' rSelectorDefinition2= queryTerm ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_intersectExpression1315); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryPrimary_in_intersectExpression1320);
lSelectorDefinition2=queryPrimary();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_intersectExpression1322); if (state.failed) return selectorDefinition;
match(input,INTERSECT,FOLLOW_INTERSECT_in_intersectExpression1324); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:283:61: (all= ALL )?
int alt30=2;
switch ( input.LA(1) ) {
case ALL:
{
alt30=1;
}
break;
}
switch (alt30) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: all= ALL
{
all=(Token)match(input,ALL,FOLLOW_ALL_in_intersectExpression1330); if (state.failed) return selectorDefinition;
}
break;
}
match(input,85,FOLLOW_85_in_intersectExpression1333); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryTerm_in_intersectExpression1339);
rSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,86,FOLLOW_86_in_intersectExpression1341); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:283:117: (orderBy= orderByClause )?
int alt31=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt31=1;
}
break;
}
switch (alt31) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_intersectExpression1347);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:283:148: (limitMetadata= limitClause )?
int alt32=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt32=1;
}
break;
}
switch (alt32) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_intersectExpression1354);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:283:174: (decorateBy= decorateByClause )?
int alt33=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt33=1;
}
break;
}
switch (alt33) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_intersectExpression1361);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorDefinition;
}
break;
}
if ( state.backtracking==0 ) {
if (all == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition2);
sets.add(rSelectorDefinition2);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.INTERSECT);
if (orderBy != null) {
setlectorMetadata.setOrderBy(orderBy);
}
if (limitMetadata != null) {
setlectorMetadata.setLimit(limitMetadata);
}
if (decorateBy != null) {
setlectorMetadata.setDecorateBy(decorateBy);
}
selectorDefinition = setlectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:304:4: lSelectorDefinition1= queryPrimary INTERSECT (all= ALL )? rSelectorDefinition1= queryTerm
{
pushFollow(FOLLOW_queryPrimary_in_intersectExpression1374);
lSelectorDefinition1=queryPrimary();
state._fsp--;
if (state.failed) return selectorDefinition;
match(input,INTERSECT,FOLLOW_INTERSECT_in_intersectExpression1376); if (state.failed) return selectorDefinition;
// org/datayoo/moql/antlr/Selector.g:304:54: (all= ALL )?
int alt34=2;
switch ( input.LA(1) ) {
case ALL:
{
alt34=1;
}
break;
}
switch (alt34) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: all= ALL
{
all=(Token)match(input,ALL,FOLLOW_ALL_in_intersectExpression1382); if (state.failed) return selectorDefinition;
}
break;
}
pushFollow(FOLLOW_queryTerm_in_intersectExpression1389);
rSelectorDefinition1=queryTerm();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
if (all == null) {
columns.setDistinct(true);
}
setlectorMetadata.setColumns(columns);
sets.add(lSelectorDefinition1);
sets.add(rSelectorDefinition1);
setlectorMetadata.setSets(sets);
setlectorMetadata.setCombinationType(CombinationType.INTERSECT);
selectorDefinition = setlectorMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "intersectExpression"
// $ANTLR start "queryPrimary"
// org/datayoo/moql/antlr/Selector.g:319:1: queryPrimary returns [SelectorDefinition selectorDefinition] : (selectorMetadata= querySpecification | '(' queryMetadata= queryExpression ')' );
public final SelectorDefinition queryPrimary() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
SelectorMetadata selectorMetadata = null;
SelectorDefinition queryMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:320:2: (selectorMetadata= querySpecification | '(' queryMetadata= queryExpression ')' )
int alt36=2;
switch ( input.LA(1) ) {
case SELECT:
{
alt36=1;
}
break;
case 85:
{
alt36=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return selectorDefinition;}
NoViableAltException nvae =
new NoViableAltException("", 36, 0, input);
throw nvae;
}
switch (alt36) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:320:4: selectorMetadata= querySpecification
{
pushFollow(FOLLOW_querySpecification_in_queryPrimary1411);
selectorMetadata=querySpecification();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = selectorMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:321:4: '(' queryMetadata= queryExpression ')'
{
match(input,85,FOLLOW_85_in_queryPrimary1418); if (state.failed) return selectorDefinition;
pushFollow(FOLLOW_queryExpression_in_queryPrimary1424);
queryMetadata=queryExpression();
state._fsp--;
if (state.failed) return selectorDefinition;
if ( state.backtracking==0 ) {
selectorDefinition = queryMetadata;
}
match(input,86,FOLLOW_86_in_queryPrimary1427); if (state.failed) return selectorDefinition;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorDefinition;
}
// $ANTLR end "queryPrimary"
// $ANTLR start "querySpecification"
// org/datayoo/moql/antlr/Selector.g:324:1: querySpecification returns [SelectorMetadata selectorMetadata] : SELECT (cacheMetadata= cache )? (distinct= setQuantifier )? columnsMetadata= selectList tablesMetadata= fromClause (whereMetadata= whereClause )? (groupBy= groupByClause )? (havingMetadata= havingClause )? (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? ;
public final SelectorMetadata querySpecification() throws RecognitionException {
SelectorMetadata selectorMetadata = null;
CacheMetadata cacheMetadata = null;
boolean distinct = false;
ColumnsMetadata columnsMetadata = null;
TablesMetadata tablesMetadata = null;
ConditionMetadata whereMetadata = null;
List groupBy = null;
ConditionMetadata havingMetadata = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
selectorMetadata = new SelectorMetadata();
try {
// org/datayoo/moql/antlr/Selector.g:347:2: ( SELECT (cacheMetadata= cache )? (distinct= setQuantifier )? columnsMetadata= selectList tablesMetadata= fromClause (whereMetadata= whereClause )? (groupBy= groupByClause )? (havingMetadata= havingClause )? (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:347:4: SELECT (cacheMetadata= cache )? (distinct= setQuantifier )? columnsMetadata= selectList tablesMetadata= fromClause (whereMetadata= whereClause )? (groupBy= groupByClause )? (havingMetadata= havingClause )? (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,SELECT,FOLLOW_SELECT_in_querySpecification1453); if (state.failed) return selectorMetadata;
// org/datayoo/moql/antlr/Selector.g:347:25: (cacheMetadata= cache )?
int alt37=2;
switch ( input.LA(1) ) {
case CACHE:
{
alt37=1;
}
break;
}
switch (alt37) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: cacheMetadata= cache
{
pushFollow(FOLLOW_cache_in_querySpecification1459);
cacheMetadata=cache();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:347:43: (distinct= setQuantifier )?
int alt38=2;
switch ( input.LA(1) ) {
case ALL:
case DISTINCT:
{
alt38=1;
}
break;
}
switch (alt38) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: distinct= setQuantifier
{
pushFollow(FOLLOW_setQuantifier_in_querySpecification1466);
distinct=setQuantifier();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
pushFollow(FOLLOW_selectList_in_querySpecification1473);
columnsMetadata=selectList();
state._fsp--;
if (state.failed) return selectorMetadata;
pushFollow(FOLLOW_fromClause_in_querySpecification1481);
tablesMetadata=fromClause();
state._fsp--;
if (state.failed) return selectorMetadata;
// org/datayoo/moql/antlr/Selector.g:348:44: (whereMetadata= whereClause )?
int alt39=2;
switch ( input.LA(1) ) {
case WHERE:
{
alt39=1;
}
break;
}
switch (alt39) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: whereMetadata= whereClause
{
pushFollow(FOLLOW_whereClause_in_querySpecification1487);
whereMetadata=whereClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:348:67: (groupBy= groupByClause )?
int alt40=2;
switch ( input.LA(1) ) {
case GROUP:
{
alt40=1;
}
break;
}
switch (alt40) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: groupBy= groupByClause
{
pushFollow(FOLLOW_groupByClause_in_querySpecification1494);
groupBy=groupByClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:348:99: (havingMetadata= havingClause )?
int alt41=2;
switch ( input.LA(1) ) {
case HAVING:
{
alt41=1;
}
break;
}
switch (alt41) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: havingMetadata= havingClause
{
pushFollow(FOLLOW_havingClause_in_querySpecification1501);
havingMetadata=havingClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:349:11: (orderBy= orderByClause )?
int alt42=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt42=1;
}
break;
}
switch (alt42) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_querySpecification1510);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:349:42: (limitMetadata= limitClause )?
int alt43=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt43=1;
}
break;
}
switch (alt43) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_querySpecification1517);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:349:68: (decorateBy= decorateByClause )?
int alt44=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt44=1;
}
break;
}
switch (alt44) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_querySpecification1524);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return selectorMetadata;
}
break;
}
}
if ( state.backtracking==0 ) {
if (cacheMetadata != null)
selectorMetadata.setCache(cacheMetadata);
columnsMetadata.setDistinct(distinct);
selectorMetadata.setColumns(columnsMetadata);
selectorMetadata.setTables(tablesMetadata);
if (whereMetadata != null)
selectorMetadata.setWhere(whereMetadata);
if (groupBy != null)
selectorMetadata.setGroupBy(groupBy);
if (havingMetadata != null)
selectorMetadata.setHaving(havingMetadata);
if (orderBy != null)
selectorMetadata.setOrderBy(orderBy);
if (limitMetadata != null)
selectorMetadata.setLimit(limitMetadata);
if (decorateBy != null)
selectorMetadata.setDecorateBy(decorateBy);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return selectorMetadata;
}
// $ANTLR end "querySpecification"
// $ANTLR start "cache"
// org/datayoo/moql/antlr/Selector.g:352:1: cache returns [CacheMetadata cache] : CACHE '(' size= IntegerLiteral ( ',' strategy= washoutStrategy )? ')' ;
public final CacheMetadata cache() throws RecognitionException {
CacheMetadata cache = null;
Token size=null;
WashoutStrategy strategy = null;
try {
// org/datayoo/moql/antlr/Selector.g:360:2: ( CACHE '(' size= IntegerLiteral ( ',' strategy= washoutStrategy )? ')' )
// org/datayoo/moql/antlr/Selector.g:360:4: CACHE '(' size= IntegerLiteral ( ',' strategy= washoutStrategy )? ')'
{
match(input,CACHE,FOLLOW_CACHE_in_cache1544); if (state.failed) return cache;
match(input,85,FOLLOW_85_in_cache1546); if (state.failed) return cache;
size=(Token)match(input,IntegerLiteral,FOLLOW_IntegerLiteral_in_cache1552); if (state.failed) return cache;
// org/datayoo/moql/antlr/Selector.g:360:36: ( ',' strategy= washoutStrategy )?
int alt45=2;
switch ( input.LA(1) ) {
case 87:
{
alt45=1;
}
break;
}
switch (alt45) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:360:37: ',' strategy= washoutStrategy
{
match(input,87,FOLLOW_87_in_cache1555); if (state.failed) return cache;
pushFollow(FOLLOW_washoutStrategy_in_cache1561);
strategy=washoutStrategy();
state._fsp--;
if (state.failed) return cache;
}
break;
}
match(input,86,FOLLOW_86_in_cache1565); if (state.failed) return cache;
}
if ( state.backtracking==0 ) {
if (strategy == null) {
cache = new CacheMetadata(Integer.valueOf(size.getText()));
} else {
cache = new CacheMetadata(Integer.valueOf(size.getText()), strategy);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return cache;
}
// $ANTLR end "cache"
// $ANTLR start "washoutStrategy"
// org/datayoo/moql/antlr/Selector.g:363:1: washoutStrategy returns [WashoutStrategy strategy] : (t= FIFO | t= FILO | t= LRU | t= LFU );
public final WashoutStrategy washoutStrategy() throws RecognitionException {
WashoutStrategy strategy = null;
Token t=null;
try {
// org/datayoo/moql/antlr/Selector.g:367:2: (t= FIFO | t= FILO | t= LRU | t= LFU )
int alt46=4;
switch ( input.LA(1) ) {
case FIFO:
{
alt46=1;
}
break;
case FILO:
{
alt46=2;
}
break;
case LRU:
{
alt46=3;
}
break;
case LFU:
{
alt46=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return strategy;}
NoViableAltException nvae =
new NoViableAltException("", 46, 0, input);
throw nvae;
}
switch (alt46) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:367:4: t= FIFO
{
t=(Token)match(input,FIFO,FOLLOW_FIFO_in_washoutStrategy1588); if (state.failed) return strategy;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:367:15: t= FILO
{
t=(Token)match(input,FILO,FOLLOW_FILO_in_washoutStrategy1596); if (state.failed) return strategy;
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:367:26: t= LRU
{
t=(Token)match(input,LRU,FOLLOW_LRU_in_washoutStrategy1604); if (state.failed) return strategy;
}
break;
case 4 :
// org/datayoo/moql/antlr/Selector.g:367:36: t= LFU
{
t=(Token)match(input,LFU,FOLLOW_LFU_in_washoutStrategy1612); if (state.failed) return strategy;
}
break;
}
if ( state.backtracking==0 ) {
strategy = WashoutStrategy.valueOf(t.getText().toUpperCase());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return strategy;
}
// $ANTLR end "washoutStrategy"
// $ANTLR start "setQuantifier"
// org/datayoo/moql/antlr/Selector.g:370:1: setQuantifier returns [boolean distinct] : ( DISTINCT | ALL );
public final boolean setQuantifier() throws RecognitionException {
boolean distinct = false;
try {
// org/datayoo/moql/antlr/Selector.g:371:2: ( DISTINCT | ALL )
int alt47=2;
switch ( input.LA(1) ) {
case DISTINCT:
{
alt47=1;
}
break;
case ALL:
{
alt47=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return distinct;}
NoViableAltException nvae =
new NoViableAltException("", 47, 0, input);
throw nvae;
}
switch (alt47) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:371:4: DISTINCT
{
match(input,DISTINCT,FOLLOW_DISTINCT_in_setQuantifier1627); if (state.failed) return distinct;
if ( state.backtracking==0 ) {
distinct = true;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:371:34: ALL
{
match(input,ALL,FOLLOW_ALL_in_setQuantifier1633); if (state.failed) return distinct;
if ( state.backtracking==0 ) {
distinct = false;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return distinct;
}
// $ANTLR end "setQuantifier"
// $ANTLR start "limitClause"
// org/datayoo/moql/antlr/Selector.g:374:1: limitClause returns [LimitMetadata limit] : LIMIT (startPos= IntegerLiteral ',' )? size= IntegerLiteral (percent= '%' )? ;
public final LimitMetadata limitClause() throws RecognitionException {
LimitMetadata limit = null;
Token startPos=null;
Token size=null;
Token percent=null;
try {
// org/datayoo/moql/antlr/Selector.g:387:2: ( LIMIT (startPos= IntegerLiteral ',' )? size= IntegerLiteral (percent= '%' )? )
// org/datayoo/moql/antlr/Selector.g:387:4: LIMIT (startPos= IntegerLiteral ',' )? size= IntegerLiteral (percent= '%' )?
{
match(input,LIMIT,FOLLOW_LIMIT_in_limitClause1655); if (state.failed) return limit;
// org/datayoo/moql/antlr/Selector.g:387:10: (startPos= IntegerLiteral ',' )?
int alt48=2;
switch ( input.LA(1) ) {
case IntegerLiteral:
{
switch ( input.LA(2) ) {
case 87:
{
alt48=1;
}
break;
}
}
break;
}
switch (alt48) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:387:11: startPos= IntegerLiteral ','
{
startPos=(Token)match(input,IntegerLiteral,FOLLOW_IntegerLiteral_in_limitClause1662); if (state.failed) return limit;
match(input,87,FOLLOW_87_in_limitClause1664); if (state.failed) return limit;
}
break;
}
size=(Token)match(input,IntegerLiteral,FOLLOW_IntegerLiteral_in_limitClause1672); if (state.failed) return limit;
// org/datayoo/moql/antlr/Selector.g:387:65: (percent= '%' )?
int alt49=2;
switch ( input.LA(1) ) {
case 88:
{
alt49=1;
}
break;
}
switch (alt49) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:387:66: percent= '%'
{
percent=(Token)match(input,88,FOLLOW_88_in_limitClause1679); if (state.failed) return limit;
}
break;
}
}
if ( state.backtracking==0 ) {
int nStartPos = 0;
if (startPos != null) {
nStartPos = Integer.valueOf(startPos.getText()).intValue();
}
String text = size.getText();
if (percent == null)
limit = new LimitMetadata(nStartPos, Integer.valueOf(text), false);
else {
limit = new LimitMetadata(nStartPos, Integer.valueOf(text), true);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return limit;
}
// $ANTLR end "limitClause"
// $ANTLR start "selectList"
// org/datayoo/moql/antlr/Selector.g:390:1: selectList returns [ColumnsMetadata columns] : col= column ( ',' col= column )* ;
public final ColumnsMetadata selectList() throws RecognitionException {
ColumnsMetadata columns = null;
ColumnMetadata col = null;
columns = new ColumnsMetadata();
List columnList = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:398:2: (col= column ( ',' col= column )* )
// org/datayoo/moql/antlr/Selector.g:398:4: col= column ( ',' col= column )*
{
pushFollow(FOLLOW_column_in_selectList1708);
col=column();
state._fsp--;
if (state.failed) return columns;
if ( state.backtracking==0 ) {
columnList.add(col);
}
// org/datayoo/moql/antlr/Selector.g:398:40: ( ',' col= column )*
loop50:
do {
int alt50=2;
switch ( input.LA(1) ) {
case 87:
{
alt50=1;
}
break;
}
switch (alt50) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:398:41: ',' col= column
{
match(input,87,FOLLOW_87_in_selectList1713); if (state.failed) return columns;
pushFollow(FOLLOW_column_in_selectList1719);
col=column();
state._fsp--;
if (state.failed) return columns;
if ( state.backtracking==0 ) {
columnList.add(col);
}
}
break;
default :
break loop50;
}
} while (true);
}
if ( state.backtracking==0 ) {
columns.setColumns(columnList);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return columns;
}
// $ANTLR end "selectList"
// $ANTLR start "column"
// org/datayoo/moql/antlr/Selector.g:401:1: column returns [ColumnMetadata column] : (expr= expression ( ( AS )? t= Identifier )? | expr2= Identifier '.*' | selectorDefinition= queryExpression ( AS )? t= Identifier );
public final ColumnMetadata column() throws RecognitionException {
ColumnMetadata column = null;
Token t=null;
Token expr2=null;
SelectorParser.expression_return expr = null;
SelectorDefinition selectorDefinition = null;
String name = null;
try {
// org/datayoo/moql/antlr/Selector.g:405:2: (expr= expression ( ( AS )? t= Identifier )? | expr2= Identifier '.*' | selectorDefinition= queryExpression ( AS )? t= Identifier )
int alt54=3;
switch ( input.LA(1) ) {
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case FloatingPointLiteral:
case StringLiteral:
case 106:
{
alt54=1;
}
break;
case 85:
{
int LA54_2 = input.LA(2);
if ( (synpred58_Selector()) ) {
alt54=1;
}
else if ( (true) ) {
alt54=3;
}
else {
if (state.backtracking>0) {state.failed=true; return column;}
NoViableAltException nvae =
new NoViableAltException("", 54, 2, input);
throw nvae;
}
}
break;
case Identifier:
{
int LA54_3 = input.LA(2);
if ( (synpred58_Selector()) ) {
alt54=1;
}
else if ( (synpred59_Selector()) ) {
alt54=2;
}
else {
if (state.backtracking>0) {state.failed=true; return column;}
NoViableAltException nvae =
new NoViableAltException("", 54, 3, input);
throw nvae;
}
}
break;
case SELECT:
{
alt54=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return column;}
NoViableAltException nvae =
new NoViableAltException("", 54, 0, input);
throw nvae;
}
switch (alt54) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:405:4: expr= expression ( ( AS )? t= Identifier )?
{
pushFollow(FOLLOW_expression_in_column1747);
expr=expression();
state._fsp--;
if (state.failed) return column;
// org/datayoo/moql/antlr/Selector.g:405:22: ( ( AS )? t= Identifier )?
int alt52=2;
switch ( input.LA(1) ) {
case AS:
case Identifier:
{
alt52=1;
}
break;
}
switch (alt52) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:405:23: ( AS )? t= Identifier
{
// org/datayoo/moql/antlr/Selector.g:405:23: ( AS )?
int alt51=2;
switch ( input.LA(1) ) {
case AS:
{
alt51=1;
}
break;
}
switch (alt51) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: AS
{
match(input,AS,FOLLOW_AS_in_column1750); if (state.failed) return column;
}
break;
}
t=(Token)match(input,Identifier,FOLLOW_Identifier_in_column1757); if (state.failed) return column;
}
break;
}
if ( state.backtracking==0 ) {
if (t != null) {
name = t.getText();
} else {
name = expr.expressionText;
}
column = new ColumnMetadata(name, expr.expressionText);
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:414:4: expr2= Identifier '.*'
{
expr2=(Token)match(input,Identifier,FOLLOW_Identifier_in_column1771); if (state.failed) return column;
match(input,89,FOLLOW_89_in_column1772); if (state.failed) return column;
if ( state.backtracking==0 ) {
column = new ColumnMetadata(expr2.getText()+".*", expr2.getText()+".*");
}
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:418:4: selectorDefinition= queryExpression ( AS )? t= Identifier
{
pushFollow(FOLLOW_queryExpression_in_column1784);
selectorDefinition=queryExpression();
state._fsp--;
if (state.failed) return column;
// org/datayoo/moql/antlr/Selector.g:418:41: ( AS )?
int alt53=2;
switch ( input.LA(1) ) {
case AS:
{
alt53=1;
}
break;
}
switch (alt53) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: AS
{
match(input,AS,FOLLOW_AS_in_column1786); if (state.failed) return column;
}
break;
}
t=(Token)match(input,Identifier,FOLLOW_Identifier_in_column1793); if (state.failed) return column;
if ( state.backtracking==0 ) {
column = new ColumnMetadata(t.getText(), selectorDefinition);
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return column;
}
// $ANTLR end "column"
// $ANTLR start "fromClause"
// org/datayoo/moql/antlr/Selector.g:424:1: fromClause returns [TablesMetadata tablesMetadata] : FROM queryableMetadata= tableReference ( ',' queryableMetadata= tableReference )* ;
public final TablesMetadata fromClause() throws RecognitionException {
TablesMetadata tablesMetadata = null;
QueryableMetadata queryableMetadata = null;
List queryableMetadatas = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:431:2: ( FROM queryableMetadata= tableReference ( ',' queryableMetadata= tableReference )* )
// org/datayoo/moql/antlr/Selector.g:431:4: FROM queryableMetadata= tableReference ( ',' queryableMetadata= tableReference )*
{
match(input,FROM,FOLLOW_FROM_in_fromClause1822); if (state.failed) return tablesMetadata;
pushFollow(FOLLOW_tableReference_in_fromClause1828);
queryableMetadata=tableReference();
state._fsp--;
if (state.failed) return tablesMetadata;
if ( state.backtracking==0 ) {
queryableMetadatas.add(queryableMetadata);
}
// org/datayoo/moql/antlr/Selector.g:432:2: ( ',' queryableMetadata= tableReference )*
loop55:
do {
int alt55=2;
switch ( input.LA(1) ) {
case 87:
{
alt55=1;
}
break;
}
switch (alt55) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:432:3: ',' queryableMetadata= tableReference
{
match(input,87,FOLLOW_87_in_fromClause1835); if (state.failed) return tablesMetadata;
pushFollow(FOLLOW_tableReference_in_fromClause1841);
queryableMetadata=tableReference();
state._fsp--;
if (state.failed) return tablesMetadata;
if ( state.backtracking==0 ) {
queryableMetadatas.add(queryableMetadata);
}
}
break;
default :
break loop55;
}
} while (true);
}
if ( state.backtracking==0 ) {
tablesMetadata = new TablesMetadata(queryableMetadatas);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return tablesMetadata;
}
// $ANTLR end "fromClause"
// $ANTLR start "tableReference"
// org/datayoo/moql/antlr/Selector.g:435:1: tableReference returns [QueryableMetadata queryableMetadata] : (joinMetadata1= qualifiedJoin | '(' joinMetadata2= qualifiedJoin ')' | tableMetadata= nonJoinTableReference );
public final QueryableMetadata tableReference() throws RecognitionException {
QueryableMetadata queryableMetadata = null;
JoinMetadata joinMetadata1 = null;
JoinMetadata joinMetadata2 = null;
TableMetadata tableMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:436:2: (joinMetadata1= qualifiedJoin | '(' joinMetadata2= qualifiedJoin ')' | tableMetadata= nonJoinTableReference )
int alt56=3;
switch ( input.LA(1) ) {
case Identifier:
{
int LA56_1 = input.LA(2);
if ( (synpred62_Selector()) ) {
alt56=1;
}
else if ( (true) ) {
alt56=3;
}
else {
if (state.backtracking>0) {state.failed=true; return queryableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 56, 1, input);
throw nvae;
}
}
break;
case 85:
{
int LA56_2 = input.LA(2);
if ( (synpred62_Selector()) ) {
alt56=1;
}
else if ( (synpred63_Selector()) ) {
alt56=2;
}
else if ( (true) ) {
alt56=3;
}
else {
if (state.backtracking>0) {state.failed=true; return queryableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 56, 2, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return queryableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 56, 0, input);
throw nvae;
}
switch (alt56) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:436:4: joinMetadata1= qualifiedJoin
{
pushFollow(FOLLOW_qualifiedJoin_in_tableReference1864);
joinMetadata1=qualifiedJoin();
state._fsp--;
if (state.failed) return queryableMetadata;
if ( state.backtracking==0 ) {
queryableMetadata = joinMetadata1;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:437:4: '(' joinMetadata2= qualifiedJoin ')'
{
match(input,85,FOLLOW_85_in_tableReference1871); if (state.failed) return queryableMetadata;
pushFollow(FOLLOW_qualifiedJoin_in_tableReference1877);
joinMetadata2=qualifiedJoin();
state._fsp--;
if (state.failed) return queryableMetadata;
if ( state.backtracking==0 ) {
queryableMetadata = joinMetadata2;
}
match(input,86,FOLLOW_86_in_tableReference1880); if (state.failed) return queryableMetadata;
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:438:4: tableMetadata= nonJoinTableReference
{
pushFollow(FOLLOW_nonJoinTableReference_in_tableReference1889);
tableMetadata=nonJoinTableReference();
state._fsp--;
if (state.failed) return queryableMetadata;
if ( state.backtracking==0 ) {
queryableMetadata = tableMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return queryableMetadata;
}
// $ANTLR end "tableReference"
// $ANTLR start "nonJoinTableReference"
// org/datayoo/moql/antlr/Selector.g:441:1: nonJoinTableReference returns [TableMetadata tableMetadata] : (value= Identifier ( AS )? name= Identifier | '(' queryMetadata= queryExpression ')' ( AS )? name= Identifier );
public final TableMetadata nonJoinTableReference() throws RecognitionException {
TableMetadata tableMetadata = null;
Token value=null;
Token name=null;
SelectorDefinition queryMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:442:2: (value= Identifier ( AS )? name= Identifier | '(' queryMetadata= queryExpression ')' ( AS )? name= Identifier )
int alt59=2;
switch ( input.LA(1) ) {
case Identifier:
{
alt59=1;
}
break;
case 85:
{
alt59=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return tableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 59, 0, input);
throw nvae;
}
switch (alt59) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:442:4: value= Identifier ( AS )? name= Identifier
{
value=(Token)match(input,Identifier,FOLLOW_Identifier_in_nonJoinTableReference1909); if (state.failed) return tableMetadata;
// org/datayoo/moql/antlr/Selector.g:442:23: ( AS )?
int alt57=2;
switch ( input.LA(1) ) {
case AS:
{
alt57=1;
}
break;
}
switch (alt57) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: AS
{
match(input,AS,FOLLOW_AS_in_nonJoinTableReference1911); if (state.failed) return tableMetadata;
}
break;
}
name=(Token)match(input,Identifier,FOLLOW_Identifier_in_nonJoinTableReference1918); if (state.failed) return tableMetadata;
if ( state.backtracking==0 ) {
tableMetadata = new TableMetadata(name.getText(),value.getText());
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:443:4: '(' queryMetadata= queryExpression ')' ( AS )? name= Identifier
{
match(input,85,FOLLOW_85_in_nonJoinTableReference1925); if (state.failed) return tableMetadata;
pushFollow(FOLLOW_queryExpression_in_nonJoinTableReference1931);
queryMetadata=queryExpression();
state._fsp--;
if (state.failed) return tableMetadata;
match(input,86,FOLLOW_86_in_nonJoinTableReference1933); if (state.failed) return tableMetadata;
// org/datayoo/moql/antlr/Selector.g:443:44: ( AS )?
int alt58=2;
switch ( input.LA(1) ) {
case AS:
{
alt58=1;
}
break;
}
switch (alt58) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: AS
{
match(input,AS,FOLLOW_AS_in_nonJoinTableReference1935); if (state.failed) return tableMetadata;
}
break;
}
name=(Token)match(input,Identifier,FOLLOW_Identifier_in_nonJoinTableReference1942); if (state.failed) return tableMetadata;
if ( state.backtracking==0 ) {
tableMetadata = new TableMetadata(name.getText(), queryMetadata);
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return tableMetadata;
}
// $ANTLR end "nonJoinTableReference"
// $ANTLR start "whereClause"
// org/datayoo/moql/antlr/Selector.g:446:1: whereClause returns [ConditionMetadata whereMetadata] : WHERE operationMetadata= searchCondition ;
public final ConditionMetadata whereClause() throws RecognitionException {
ConditionMetadata whereMetadata = null;
OperationMetadata operationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:447:2: ( WHERE operationMetadata= searchCondition )
// org/datayoo/moql/antlr/Selector.g:447:4: WHERE operationMetadata= searchCondition
{
match(input,WHERE,FOLLOW_WHERE_in_whereClause1958); if (state.failed) return whereMetadata;
pushFollow(FOLLOW_searchCondition_in_whereClause1964);
operationMetadata=searchCondition();
state._fsp--;
if (state.failed) return whereMetadata;
if ( state.backtracking==0 ) {
whereMetadata = new ConditionMetadata(operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return whereMetadata;
}
// $ANTLR end "whereClause"
// $ANTLR start "groupByClause"
// org/datayoo/moql/antlr/Selector.g:450:1: groupByClause returns [List groupBy] : GROUP BY expr= expression ( ',' expr= expression )* ;
public final List groupByClause() throws RecognitionException {
List groupBy = null;
SelectorParser.expression_return expr = null;
groupBy = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:454:2: ( GROUP BY expr= expression ( ',' expr= expression )* )
// org/datayoo/moql/antlr/Selector.g:454:4: GROUP BY expr= expression ( ',' expr= expression )*
{
match(input,GROUP,FOLLOW_GROUP_in_groupByClause1985); if (state.failed) return groupBy;
match(input,BY,FOLLOW_BY_in_groupByClause1987); if (state.failed) return groupBy;
pushFollow(FOLLOW_expression_in_groupByClause1993);
expr=expression();
state._fsp--;
if (state.failed) return groupBy;
if ( state.backtracking==0 ) {
groupBy.add(new GroupMetadata(expr.expressionText));
}
// org/datayoo/moql/antlr/Selector.g:454:85: ( ',' expr= expression )*
loop60:
do {
int alt60=2;
switch ( input.LA(1) ) {
case 87:
{
alt60=1;
}
break;
}
switch (alt60) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:454:86: ',' expr= expression
{
match(input,87,FOLLOW_87_in_groupByClause1997); if (state.failed) return groupBy;
pushFollow(FOLLOW_expression_in_groupByClause2003);
expr=expression();
state._fsp--;
if (state.failed) return groupBy;
if ( state.backtracking==0 ) {
groupBy.add(new GroupMetadata(expr.expressionText));
}
}
break;
default :
break loop60;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return groupBy;
}
// $ANTLR end "groupByClause"
// $ANTLR start "havingClause"
// org/datayoo/moql/antlr/Selector.g:457:1: havingClause returns [ConditionMetadata havingMetadata] : HAVING operationMetadata= searchCondition ;
public final ConditionMetadata havingClause() throws RecognitionException {
ConditionMetadata havingMetadata = null;
OperationMetadata operationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:458:2: ( HAVING operationMetadata= searchCondition )
// org/datayoo/moql/antlr/Selector.g:458:4: HAVING operationMetadata= searchCondition
{
match(input,HAVING,FOLLOW_HAVING_in_havingClause2022); if (state.failed) return havingMetadata;
pushFollow(FOLLOW_searchCondition_in_havingClause2028);
operationMetadata=searchCondition();
state._fsp--;
if (state.failed) return havingMetadata;
if ( state.backtracking==0 ) {
havingMetadata = new ConditionMetadata(operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return havingMetadata;
}
// $ANTLR end "havingClause"
// $ANTLR start "decorateByClause"
// org/datayoo/moql/antlr/Selector.g:461:1: decorateByClause returns [List decorateBy] : DECORATE BY dec= decorator ( ',' dec= decorator )* ;
public final List decorateByClause() throws RecognitionException {
List decorateBy = null;
SelectorParser.decorator_return dec = null;
decorateBy = new LinkedList();
try {
// org/datayoo/moql/antlr/Selector.g:465:2: ( DECORATE BY dec= decorator ( ',' dec= decorator )* )
// org/datayoo/moql/antlr/Selector.g:465:4: DECORATE BY dec= decorator ( ',' dec= decorator )*
{
match(input,DECORATE,FOLLOW_DECORATE_in_decorateByClause2050); if (state.failed) return decorateBy;
match(input,BY,FOLLOW_BY_in_decorateByClause2052); if (state.failed) return decorateBy;
pushFollow(FOLLOW_decorator_in_decorateByClause2058);
dec=decorator();
state._fsp--;
if (state.failed) return decorateBy;
if ( state.backtracking==0 ) {
decorateBy.add(new DecorateMetadata(dec.expressionText));
}
// org/datayoo/moql/antlr/Selector.g:465:91: ( ',' dec= decorator )*
loop61:
do {
int alt61=2;
switch ( input.LA(1) ) {
case 87:
{
alt61=1;
}
break;
}
switch (alt61) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:465:92: ',' dec= decorator
{
match(input,87,FOLLOW_87_in_decorateByClause2062); if (state.failed) return decorateBy;
pushFollow(FOLLOW_decorator_in_decorateByClause2068);
dec=decorator();
state._fsp--;
if (state.failed) return decorateBy;
if ( state.backtracking==0 ) {
decorateBy.add(new DecorateMetadata(dec.expressionText));
}
}
break;
default :
break loop61;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return decorateBy;
}
// $ANTLR end "decorateByClause"
public static class decorator_return extends ParserRuleReturnScope {
public String expressionText;
};
// $ANTLR start "decorator"
// org/datayoo/moql/antlr/Selector.g:468:1: decorator returns [String expressionText] : function ;
public final SelectorParser.decorator_return decorator() throws RecognitionException {
SelectorParser.decorator_return retval = new SelectorParser.decorator_return();
retval.start = input.LT(1);
try {
// org/datayoo/moql/antlr/Selector.g:469:2: ( function )
// org/datayoo/moql/antlr/Selector.g:469:4: function
{
pushFollow(FOLLOW_function_in_decorator2087);
function();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) {
retval.expressionText = input.toString(retval.start,input.LT(-1));
}
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "decorator"
// $ANTLR start "qualifiedJoin"
// org/datayoo/moql/antlr/Selector.g:472:1: qualifiedJoin returns [JoinMetadata joinMetadata] : tableMetadata= nonJoinTableReference ( (type= joinType )? JOIN rQueryableMetadata= joinReference (on= joinCondition )? )+ ;
public final JoinMetadata qualifiedJoin() throws RecognitionException {
JoinMetadata joinMetadata = null;
TableMetadata tableMetadata = null;
JoinType type = null;
QueryableMetadata rQueryableMetadata = null;
ConditionMetadata on = null;
QueryableMetadata lQueryableMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:476:2: (tableMetadata= nonJoinTableReference ( (type= joinType )? JOIN rQueryableMetadata= joinReference (on= joinCondition )? )+ )
// org/datayoo/moql/antlr/Selector.g:476:4: tableMetadata= nonJoinTableReference ( (type= joinType )? JOIN rQueryableMetadata= joinReference (on= joinCondition )? )+
{
pushFollow(FOLLOW_nonJoinTableReference_in_qualifiedJoin2113);
tableMetadata=nonJoinTableReference();
state._fsp--;
if (state.failed) return joinMetadata;
if ( state.backtracking==0 ) {
lQueryableMetadata = tableMetadata;
}
// org/datayoo/moql/antlr/Selector.g:476:80: ( (type= joinType )? JOIN rQueryableMetadata= joinReference (on= joinCondition )? )+
int cnt64=0;
loop64:
do {
int alt64=2;
switch ( input.LA(1) ) {
case FULL:
case INNER:
case JOIN:
case LEFT:
case RIGHT:
{
alt64=1;
}
break;
}
switch (alt64) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:476:81: (type= joinType )? JOIN rQueryableMetadata= joinReference (on= joinCondition )?
{
// org/datayoo/moql/antlr/Selector.g:476:86: (type= joinType )?
int alt62=2;
switch ( input.LA(1) ) {
case FULL:
case INNER:
case LEFT:
case RIGHT:
{
alt62=1;
}
break;
}
switch (alt62) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: type= joinType
{
pushFollow(FOLLOW_joinType_in_qualifiedJoin2122);
type=joinType();
state._fsp--;
if (state.failed) return joinMetadata;
}
break;
}
match(input,JOIN,FOLLOW_JOIN_in_qualifiedJoin2125); if (state.failed) return joinMetadata;
pushFollow(FOLLOW_joinReference_in_qualifiedJoin2131);
rQueryableMetadata=joinReference();
state._fsp--;
if (state.failed) return joinMetadata;
// org/datayoo/moql/antlr/Selector.g:476:141: (on= joinCondition )?
int alt63=2;
switch ( input.LA(1) ) {
case ON:
{
alt63=1;
}
break;
}
switch (alt63) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: on= joinCondition
{
pushFollow(FOLLOW_joinCondition_in_qualifiedJoin2137);
on=joinCondition();
state._fsp--;
if (state.failed) return joinMetadata;
}
break;
}
if ( state.backtracking==0 ) {
if (type == null) {
type = JoinType.INNER;
}
joinMetadata = new JoinMetadata(type, lQueryableMetadata, rQueryableMetadata);
if (on != null) {
joinMetadata.setOn(on);
}
lQueryableMetadata = joinMetadata;
}
}
break;
default :
if ( cnt64 >= 1 ) break loop64;
if (state.backtracking>0) {state.failed=true; return joinMetadata;}
EarlyExitException eee =
new EarlyExitException(64, input);
throw eee;
}
cnt64++;
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return joinMetadata;
}
// $ANTLR end "qualifiedJoin"
// $ANTLR start "joinType"
// org/datayoo/moql/antlr/Selector.g:490:1: joinType returns [JoinType type] : (t= INNER | outType= outJoinType ( OUTER )? );
public final JoinType joinType() throws RecognitionException {
JoinType type = null;
Token t=null;
JoinType outType = null;
try {
// org/datayoo/moql/antlr/Selector.g:491:2: (t= INNER | outType= outJoinType ( OUTER )? )
int alt66=2;
switch ( input.LA(1) ) {
case INNER:
{
alt66=1;
}
break;
case FULL:
case LEFT:
case RIGHT:
{
alt66=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return type;}
NoViableAltException nvae =
new NoViableAltException("", 66, 0, input);
throw nvae;
}
switch (alt66) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:491:4: t= INNER
{
t=(Token)match(input,INNER,FOLLOW_INNER_in_joinType2163); if (state.failed) return type;
if ( state.backtracking==0 ) {
type = JoinType.valueOf(t.getText().toUpperCase());
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:492:4: outType= outJoinType ( OUTER )?
{
pushFollow(FOLLOW_outJoinType_in_joinType2174);
outType=outJoinType();
state._fsp--;
if (state.failed) return type;
// org/datayoo/moql/antlr/Selector.g:492:26: ( OUTER )?
int alt65=2;
switch ( input.LA(1) ) {
case OUTER:
{
alt65=1;
}
break;
}
switch (alt65) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: OUTER
{
match(input,OUTER,FOLLOW_OUTER_in_joinType2176); if (state.failed) return type;
}
break;
}
if ( state.backtracking==0 ) {
type = outType;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return type;
}
// $ANTLR end "joinType"
// $ANTLR start "outJoinType"
// org/datayoo/moql/antlr/Selector.g:495:1: outJoinType returns [JoinType type] : (t= LEFT | t= RIGHT | t= FULL );
public final JoinType outJoinType() throws RecognitionException {
JoinType type = null;
Token t=null;
try {
// org/datayoo/moql/antlr/Selector.g:499:2: (t= LEFT | t= RIGHT | t= FULL )
int alt67=3;
switch ( input.LA(1) ) {
case LEFT:
{
alt67=1;
}
break;
case RIGHT:
{
alt67=2;
}
break;
case FULL:
{
alt67=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return type;}
NoViableAltException nvae =
new NoViableAltException("", 67, 0, input);
throw nvae;
}
switch (alt67) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:499:4: t= LEFT
{
t=(Token)match(input,LEFT,FOLLOW_LEFT_in_outJoinType2202); if (state.failed) return type;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:499:15: t= RIGHT
{
t=(Token)match(input,RIGHT,FOLLOW_RIGHT_in_outJoinType2210); if (state.failed) return type;
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:499:27: t= FULL
{
t=(Token)match(input,FULL,FOLLOW_FULL_in_outJoinType2218); if (state.failed) return type;
}
break;
}
if ( state.backtracking==0 ) {
type = JoinType.valueOf(t.getText().toUpperCase());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return type;
}
// $ANTLR end "outJoinType"
// $ANTLR start "joinReference"
// org/datayoo/moql/antlr/Selector.g:502:1: joinReference returns [QueryableMetadata queryableMetadata] : ( '(' joinMetadata= qualifiedJoin ')' | tableMetadata= nonJoinTableReference );
public final QueryableMetadata joinReference() throws RecognitionException {
QueryableMetadata queryableMetadata = null;
JoinMetadata joinMetadata = null;
TableMetadata tableMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:503:2: ( '(' joinMetadata= qualifiedJoin ')' | tableMetadata= nonJoinTableReference )
int alt68=2;
switch ( input.LA(1) ) {
case 85:
{
int LA68_1 = input.LA(2);
if ( (synpred76_Selector()) ) {
alt68=1;
}
else if ( (true) ) {
alt68=2;
}
else {
if (state.backtracking>0) {state.failed=true; return queryableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 68, 1, input);
throw nvae;
}
}
break;
case Identifier:
{
alt68=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return queryableMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 68, 0, input);
throw nvae;
}
switch (alt68) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:503:5: '(' joinMetadata= qualifiedJoin ')'
{
match(input,85,FOLLOW_85_in_joinReference2233); if (state.failed) return queryableMetadata;
pushFollow(FOLLOW_qualifiedJoin_in_joinReference2239);
joinMetadata=qualifiedJoin();
state._fsp--;
if (state.failed) return queryableMetadata;
match(input,86,FOLLOW_86_in_joinReference2241); if (state.failed) return queryableMetadata;
if ( state.backtracking==0 ) {
queryableMetadata = joinMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:504:4: tableMetadata= nonJoinTableReference
{
pushFollow(FOLLOW_nonJoinTableReference_in_joinReference2252);
tableMetadata=nonJoinTableReference();
state._fsp--;
if (state.failed) return queryableMetadata;
if ( state.backtracking==0 ) {
queryableMetadata = tableMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return queryableMetadata;
}
// $ANTLR end "joinReference"
// $ANTLR start "joinCondition"
// org/datayoo/moql/antlr/Selector.g:507:1: joinCondition returns [ConditionMetadata onMetadata] : ON operationMetadata= searchCondition ;
public final ConditionMetadata joinCondition() throws RecognitionException {
ConditionMetadata onMetadata = null;
OperationMetadata operationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:508:2: ( ON operationMetadata= searchCondition )
// org/datayoo/moql/antlr/Selector.g:508:4: ON operationMetadata= searchCondition
{
match(input,ON,FOLLOW_ON_in_joinCondition2268); if (state.failed) return onMetadata;
pushFollow(FOLLOW_searchCondition_in_joinCondition2274);
operationMetadata=searchCondition();
state._fsp--;
if (state.failed) return onMetadata;
if ( state.backtracking==0 ) {
onMetadata = new ConditionMetadata(operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return onMetadata;
}
// $ANTLR end "joinCondition"
// $ANTLR start "searchCondition"
// org/datayoo/moql/antlr/Selector.g:511:1: searchCondition returns [OperationMetadata operationMetadata] : lOperationMetadata= booleanTerm (op= OR rOperationMetadata= searchCondition )? ;
public final OperationMetadata searchCondition() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token op=null;
OperationMetadata lOperationMetadata = null;
OperationMetadata rOperationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:519:2: (lOperationMetadata= booleanTerm (op= OR rOperationMetadata= searchCondition )? )
// org/datayoo/moql/antlr/Selector.g:519:4: lOperationMetadata= booleanTerm (op= OR rOperationMetadata= searchCondition )?
{
pushFollow(FOLLOW_booleanTerm_in_searchCondition2299);
lOperationMetadata=booleanTerm();
state._fsp--;
if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:519:37: (op= OR rOperationMetadata= searchCondition )?
int alt69=2;
switch ( input.LA(1) ) {
case OR:
{
alt69=1;
}
break;
}
switch (alt69) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:519:38: op= OR rOperationMetadata= searchCondition
{
op=(Token)match(input,OR,FOLLOW_OR_in_searchCondition2306); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_searchCondition_in_searchCondition2312);
rOperationMetadata=searchCondition();
state._fsp--;
if (state.failed) return operationMetadata;
}
break;
}
}
if ( state.backtracking==0 ) {
if (rOperationMetadata != null) {
operationMetadata = new LogicOperationMetadata(op.getText(), lOperationMetadata, rOperationMetadata);
} else {
operationMetadata = lOperationMetadata;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "searchCondition"
// $ANTLR start "booleanTerm"
// org/datayoo/moql/antlr/Selector.g:522:1: booleanTerm returns [OperationMetadata operationMetadata] : lOperationMetadata= booleanFactor (op= AND rOperationMetadata= booleanTerm )? ;
public final OperationMetadata booleanTerm() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token op=null;
OperationMetadata lOperationMetadata = null;
OperationMetadata rOperationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:530:2: (lOperationMetadata= booleanFactor (op= AND rOperationMetadata= booleanTerm )? )
// org/datayoo/moql/antlr/Selector.g:530:4: lOperationMetadata= booleanFactor (op= AND rOperationMetadata= booleanTerm )?
{
pushFollow(FOLLOW_booleanFactor_in_booleanTerm2338);
lOperationMetadata=booleanFactor();
state._fsp--;
if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:530:39: (op= AND rOperationMetadata= booleanTerm )?
int alt70=2;
switch ( input.LA(1) ) {
case AND:
{
alt70=1;
}
break;
}
switch (alt70) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:530:40: op= AND rOperationMetadata= booleanTerm
{
op=(Token)match(input,AND,FOLLOW_AND_in_booleanTerm2345); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_booleanTerm_in_booleanTerm2351);
rOperationMetadata=booleanTerm();
state._fsp--;
if (state.failed) return operationMetadata;
}
break;
}
}
if ( state.backtracking==0 ) {
if (rOperationMetadata != null) {
operationMetadata = new LogicOperationMetadata(op.getText(), lOperationMetadata, rOperationMetadata);
} else {
operationMetadata = lOperationMetadata;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "booleanTerm"
// $ANTLR start "booleanFactor"
// org/datayoo/moql/antlr/Selector.g:533:1: booleanFactor returns [OperationMetadata operationMetadata] : (not= NOT )? rOperationMetadata= booleanPrimary ;
public final OperationMetadata booleanFactor() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token not=null;
OperationMetadata rOperationMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:541:2: ( (not= NOT )? rOperationMetadata= booleanPrimary )
// org/datayoo/moql/antlr/Selector.g:541:4: (not= NOT )? rOperationMetadata= booleanPrimary
{
// org/datayoo/moql/antlr/Selector.g:541:8: (not= NOT )?
int alt71=2;
switch ( input.LA(1) ) {
case NOT:
{
alt71=1;
}
break;
}
switch (alt71) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: not= NOT
{
not=(Token)match(input,NOT,FOLLOW_NOT_in_booleanFactor2376); if (state.failed) return operationMetadata;
}
break;
}
pushFollow(FOLLOW_booleanPrimary_in_booleanFactor2383);
rOperationMetadata=booleanPrimary();
state._fsp--;
if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
if (not != null) {
operationMetadata = new LogicOperationMetadata(not.getText(), rOperationMetadata);
} else {
operationMetadata = rOperationMetadata;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "booleanFactor"
// $ANTLR start "booleanPrimary"
// org/datayoo/moql/antlr/Selector.g:544:1: booleanPrimary returns [OperationMetadata operationMetadata] : (predicateMetadata= predicate | '(' conditionMetadata= searchCondition ')' | expr= expression );
public final OperationMetadata booleanPrimary() throws RecognitionException {
OperationMetadata operationMetadata = null;
OperationMetadata predicateMetadata = null;
OperationMetadata conditionMetadata = null;
SelectorParser.expression_return expr = null;
try {
// org/datayoo/moql/antlr/Selector.g:545:2: (predicateMetadata= predicate | '(' conditionMetadata= searchCondition ')' | expr= expression )
int alt72=3;
switch ( input.LA(1) ) {
case 106:
{
int LA72_1 = input.LA(2);
if ( (synpred80_Selector()) ) {
alt72=1;
}
else if ( (true) ) {
alt72=3;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 72, 1, input);
throw nvae;
}
}
break;
case 85:
{
int LA72_2 = input.LA(2);
if ( (synpred80_Selector()) ) {
alt72=1;
}
else if ( (synpred81_Selector()) ) {
alt72=2;
}
else if ( (true) ) {
alt72=3;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 72, 2, input);
throw nvae;
}
}
break;
case Identifier:
{
int LA72_3 = input.LA(2);
if ( (synpred80_Selector()) ) {
alt72=1;
}
else if ( (true) ) {
alt72=3;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 72, 3, input);
throw nvae;
}
}
break;
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case FloatingPointLiteral:
case StringLiteral:
{
int LA72_4 = input.LA(2);
if ( (synpred80_Selector()) ) {
alt72=1;
}
else if ( (true) ) {
alt72=3;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 72, 4, input);
throw nvae;
}
}
break;
case EXISTS:
{
alt72=1;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 72, 0, input);
throw nvae;
}
switch (alt72) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:545:4: predicateMetadata= predicate
{
pushFollow(FOLLOW_predicate_in_booleanPrimary2402);
predicateMetadata=predicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = predicateMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:546:4: '(' conditionMetadata= searchCondition ')'
{
match(input,85,FOLLOW_85_in_booleanPrimary2409); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_searchCondition_in_booleanPrimary2415);
conditionMetadata=searchCondition();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = new ParenMetadata(conditionMetadata);
}
match(input,86,FOLLOW_86_in_booleanPrimary2418); if (state.failed) return operationMetadata;
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:547:4: expr= expression
{
pushFollow(FOLLOW_expression_in_booleanPrimary2427);
expr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = new RelationOperationMetadata(SelectorConstants.EXPR, expr.expressionText);
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "booleanPrimary"
// $ANTLR start "predicate"
// org/datayoo/moql/antlr/Selector.g:550:1: predicate returns [OperationMetadata operationMetadata] : (comparisonMetadata= comparisonPredicate | betweenMetadata= betweenPredicate | inMetadata= inPredicate | likeMetadata= likePredicate | nullMetadata= nullPredicate | existsMetadata= existsPredicate );
public final OperationMetadata predicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
OperationMetadata comparisonMetadata = null;
OperationMetadata betweenMetadata = null;
OperationMetadata inMetadata = null;
OperationMetadata likeMetadata = null;
OperationMetadata nullMetadata = null;
OperationMetadata existsMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:551:2: (comparisonMetadata= comparisonPredicate | betweenMetadata= betweenPredicate | inMetadata= inPredicate | likeMetadata= likePredicate | nullMetadata= nullPredicate | existsMetadata= existsPredicate )
int alt73=6;
alt73 = dfa73.predict(input);
switch (alt73) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:551:4: comparisonMetadata= comparisonPredicate
{
pushFollow(FOLLOW_comparisonPredicate_in_predicate2448);
comparisonMetadata=comparisonPredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = comparisonMetadata;
}
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:552:4: betweenMetadata= betweenPredicate
{
pushFollow(FOLLOW_betweenPredicate_in_predicate2459);
betweenMetadata=betweenPredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = betweenMetadata;
}
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:553:4: inMetadata= inPredicate
{
pushFollow(FOLLOW_inPredicate_in_predicate2470);
inMetadata=inPredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = inMetadata;
}
}
break;
case 4 :
// org/datayoo/moql/antlr/Selector.g:554:4: likeMetadata= likePredicate
{
pushFollow(FOLLOW_likePredicate_in_predicate2481);
likeMetadata=likePredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = likeMetadata;
}
}
break;
case 5 :
// org/datayoo/moql/antlr/Selector.g:555:4: nullMetadata= nullPredicate
{
pushFollow(FOLLOW_nullPredicate_in_predicate2492);
nullMetadata=nullPredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = nullMetadata;
}
}
break;
case 6 :
// org/datayoo/moql/antlr/Selector.g:556:4: existsMetadata= existsPredicate
{
pushFollow(FOLLOW_existsPredicate_in_predicate2503);
existsMetadata=existsPredicate();
state._fsp--;
if (state.failed) return operationMetadata;
if ( state.backtracking==0 ) {
operationMetadata = existsMetadata;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "predicate"
// $ANTLR start "comparisonPredicate"
// org/datayoo/moql/antlr/Selector.g:559:1: comparisonPredicate returns [OperationMetadata operationMetadata] : lExpr= expression op= ( '=' | '<' | '<=' | '>' | '>=' | '<>' | '!=' ) rExpr= expression ;
public final OperationMetadata comparisonPredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token op=null;
SelectorParser.expression_return lExpr = null;
SelectorParser.expression_return rExpr = null;
try {
// org/datayoo/moql/antlr/Selector.g:563:2: (lExpr= expression op= ( '=' | '<' | '<=' | '>' | '>=' | '<>' | '!=' ) rExpr= expression )
// org/datayoo/moql/antlr/Selector.g:563:4: lExpr= expression op= ( '=' | '<' | '<=' | '>' | '>=' | '<>' | '!=' ) rExpr= expression
{
pushFollow(FOLLOW_expression_in_comparisonPredicate2529);
lExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
op=(Token)input.LT(1);
if ( (input.LA(1)>=90 && input.LA(1)<=96) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_expression_in_comparisonPredicate2566);
rExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
operationMetadata = new RelationOperationMetadata(op.getText(), lExpr.expressionText, rExpr.expressionText);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "comparisonPredicate"
// $ANTLR start "betweenPredicate"
// org/datayoo/moql/antlr/Selector.g:566:1: betweenPredicate returns [OperationMetadata operationMetadata] : lExpr= expression (not= NOT )? BETWEEN rExpr1= expression AND rExpr2= expression ;
public final OperationMetadata betweenPredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token not=null;
SelectorParser.expression_return lExpr = null;
SelectorParser.expression_return rExpr1 = null;
SelectorParser.expression_return rExpr2 = null;
try {
// org/datayoo/moql/antlr/Selector.g:574:2: (lExpr= expression (not= NOT )? BETWEEN rExpr1= expression AND rExpr2= expression )
// org/datayoo/moql/antlr/Selector.g:574:4: lExpr= expression (not= NOT )? BETWEEN rExpr1= expression AND rExpr2= expression
{
pushFollow(FOLLOW_expression_in_betweenPredicate2590);
lExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:574:27: (not= NOT )?
int alt74=2;
switch ( input.LA(1) ) {
case NOT:
{
alt74=1;
}
break;
}
switch (alt74) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: not= NOT
{
not=(Token)match(input,NOT,FOLLOW_NOT_in_betweenPredicate2596); if (state.failed) return operationMetadata;
}
break;
}
match(input,BETWEEN,FOLLOW_BETWEEN_in_betweenPredicate2599); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_expression_in_betweenPredicate2605);
rExpr1=expression();
state._fsp--;
if (state.failed) return operationMetadata;
match(input,AND,FOLLOW_AND_in_betweenPredicate2607); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_expression_in_betweenPredicate2613);
rExpr2=expression();
state._fsp--;
if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
String rExpr = StringFormater.format("({},{})", rExpr1.expressionText, rExpr2.expressionText);
operationMetadata = new RelationOperationMetadata(SelectorConstants.BETWEEN, lExpr.expressionText, rExpr);
if (not != null) {
operationMetadata = new LogicOperationMetadata(not.getText(), operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "betweenPredicate"
// $ANTLR start "inPredicate"
// org/datayoo/moql/antlr/Selector.g:577:1: inPredicate returns [OperationMetadata operationMetadata] : lExpr= expression (not= NOT )? IN '(' (selectorDefinition= queryExpression | rExpr= expressionList ) ')' ;
public final OperationMetadata inPredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token not=null;
SelectorParser.expression_return lExpr = null;
SelectorDefinition selectorDefinition = null;
SelectorParser.expressionList_return rExpr = null;
try {
// org/datayoo/moql/antlr/Selector.g:589:2: (lExpr= expression (not= NOT )? IN '(' (selectorDefinition= queryExpression | rExpr= expressionList ) ')' )
// org/datayoo/moql/antlr/Selector.g:589:4: lExpr= expression (not= NOT )? IN '(' (selectorDefinition= queryExpression | rExpr= expressionList ) ')'
{
pushFollow(FOLLOW_expression_in_inPredicate2637);
lExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:589:27: (not= NOT )?
int alt75=2;
switch ( input.LA(1) ) {
case NOT:
{
alt75=1;
}
break;
}
switch (alt75) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: not= NOT
{
not=(Token)match(input,NOT,FOLLOW_NOT_in_inPredicate2643); if (state.failed) return operationMetadata;
}
break;
}
match(input,IN,FOLLOW_IN_in_inPredicate2646); if (state.failed) return operationMetadata;
match(input,85,FOLLOW_85_in_inPredicate2648); if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:589:41: (selectorDefinition= queryExpression | rExpr= expressionList )
int alt76=2;
switch ( input.LA(1) ) {
case 85:
{
int LA76_1 = input.LA(2);
if ( (synpred95_Selector()) ) {
alt76=1;
}
else if ( (true) ) {
alt76=2;
}
else {
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 76, 1, input);
throw nvae;
}
}
break;
case SELECT:
{
alt76=1;
}
break;
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case Identifier:
case FloatingPointLiteral:
case StringLiteral:
case 106:
{
alt76=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return operationMetadata;}
NoViableAltException nvae =
new NoViableAltException("", 76, 0, input);
throw nvae;
}
switch (alt76) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:589:42: selectorDefinition= queryExpression
{
pushFollow(FOLLOW_queryExpression_in_inPredicate2655);
selectorDefinition=queryExpression();
state._fsp--;
if (state.failed) return operationMetadata;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:589:81: rExpr= expressionList
{
pushFollow(FOLLOW_expressionList_in_inPredicate2663);
rExpr=expressionList();
state._fsp--;
if (state.failed) return operationMetadata;
}
break;
}
match(input,86,FOLLOW_86_in_inPredicate2666); if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
if (selectorDefinition != null) {
operationMetadata = new RelationOperationMetadata(SelectorConstants.IN, lExpr.expressionText, selectorDefinition);
} else {
String inExpressionText = StringFormater.format("({})", rExpr.expressionText);
operationMetadata = new RelationOperationMetadata(SelectorConstants.IN, lExpr.expressionText, inExpressionText);
}
if (not != null) {
operationMetadata = new LogicOperationMetadata(not.getText(), operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "inPredicate"
// $ANTLR start "likePredicate"
// org/datayoo/moql/antlr/Selector.g:592:1: likePredicate returns [OperationMetadata operationMetadata] : lExpr= expression (not= NOT )? LIKE rExpr= expression ;
public final OperationMetadata likePredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token not=null;
SelectorParser.expression_return lExpr = null;
SelectorParser.expression_return rExpr = null;
try {
// org/datayoo/moql/antlr/Selector.g:599:2: (lExpr= expression (not= NOT )? LIKE rExpr= expression )
// org/datayoo/moql/antlr/Selector.g:599:4: lExpr= expression (not= NOT )? LIKE rExpr= expression
{
pushFollow(FOLLOW_expression_in_likePredicate2689);
lExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:599:26: (not= NOT )?
int alt77=2;
switch ( input.LA(1) ) {
case NOT:
{
alt77=1;
}
break;
}
switch (alt77) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: not= NOT
{
not=(Token)match(input,NOT,FOLLOW_NOT_in_likePredicate2693); if (state.failed) return operationMetadata;
}
break;
}
match(input,LIKE,FOLLOW_LIKE_in_likePredicate2696); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_expression_in_likePredicate2702);
rExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
operationMetadata = new RelationOperationMetadata(SelectorConstants.LIKE, lExpr.expressionText, rExpr.expressionText);
if (not != null) {
operationMetadata = new LogicOperationMetadata(not.getText(), operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "likePredicate"
// $ANTLR start "nullPredicate"
// org/datayoo/moql/antlr/Selector.g:602:1: nullPredicate returns [OperationMetadata operationMetadata] : lExpr= expression IS (not= NOT )? rExpr= NULL ;
public final OperationMetadata nullPredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
Token not=null;
Token rExpr=null;
SelectorParser.expression_return lExpr = null;
try {
// org/datayoo/moql/antlr/Selector.g:609:2: (lExpr= expression IS (not= NOT )? rExpr= NULL )
// org/datayoo/moql/antlr/Selector.g:609:4: lExpr= expression IS (not= NOT )? rExpr= NULL
{
pushFollow(FOLLOW_expression_in_nullPredicate2726);
lExpr=expression();
state._fsp--;
if (state.failed) return operationMetadata;
match(input,IS,FOLLOW_IS_in_nullPredicate2728); if (state.failed) return operationMetadata;
// org/datayoo/moql/antlr/Selector.g:609:30: (not= NOT )?
int alt78=2;
switch ( input.LA(1) ) {
case NOT:
{
alt78=1;
}
break;
}
switch (alt78) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: not= NOT
{
not=(Token)match(input,NOT,FOLLOW_NOT_in_nullPredicate2734); if (state.failed) return operationMetadata;
}
break;
}
rExpr=(Token)match(input,NULL,FOLLOW_NULL_in_nullPredicate2741); if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
operationMetadata = new RelationOperationMetadata(SelectorConstants.IS, lExpr.expressionText, rExpr.getText());
if (not != null) {
operationMetadata = new LogicOperationMetadata(not.getText(), operationMetadata);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "nullPredicate"
// $ANTLR start "existsPredicate"
// org/datayoo/moql/antlr/Selector.g:612:1: existsPredicate returns [OperationMetadata operationMetadata] : EXISTS '(' queryMetadata= queryExpression ')' ;
public final OperationMetadata existsPredicate() throws RecognitionException {
OperationMetadata operationMetadata = null;
SelectorDefinition queryMetadata = null;
try {
// org/datayoo/moql/antlr/Selector.g:616:2: ( EXISTS '(' queryMetadata= queryExpression ')' )
// org/datayoo/moql/antlr/Selector.g:616:4: EXISTS '(' queryMetadata= queryExpression ')'
{
match(input,EXISTS,FOLLOW_EXISTS_in_existsPredicate2760); if (state.failed) return operationMetadata;
match(input,85,FOLLOW_85_in_existsPredicate2762); if (state.failed) return operationMetadata;
pushFollow(FOLLOW_queryExpression_in_existsPredicate2768);
queryMetadata=queryExpression();
state._fsp--;
if (state.failed) return operationMetadata;
match(input,86,FOLLOW_86_in_existsPredicate2770); if (state.failed) return operationMetadata;
}
if ( state.backtracking==0 ) {
operationMetadata = new RelationOperationMetadata(SelectorConstants.EXISTS, queryMetadata);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return operationMetadata;
}
// $ANTLR end "existsPredicate"
public static class expressionList_return extends ParserRuleReturnScope {
public String expressionText;
};
// $ANTLR start "expressionList"
// org/datayoo/moql/antlr/Selector.g:619:1: expressionList returns [String expressionText] : expression ( ',' expression )* ;
public final SelectorParser.expressionList_return expressionList() throws RecognitionException {
SelectorParser.expressionList_return retval = new SelectorParser.expressionList_return();
retval.start = input.LT(1);
try {
// org/datayoo/moql/antlr/Selector.g:620:6: ( expression ( ',' expression )* )
// org/datayoo/moql/antlr/Selector.g:620:8: expression ( ',' expression )*
{
pushFollow(FOLLOW_expression_in_expressionList2788);
expression();
state._fsp--;
if (state.failed) return retval;
// org/datayoo/moql/antlr/Selector.g:620:19: ( ',' expression )*
loop79:
do {
int alt79=2;
switch ( input.LA(1) ) {
case 87:
{
alt79=1;
}
break;
}
switch (alt79) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:620:20: ',' expression
{
match(input,87,FOLLOW_87_in_expressionList2791); if (state.failed) return retval;
pushFollow(FOLLOW_expression_in_expressionList2793);
expression();
state._fsp--;
if (state.failed) return retval;
}
break;
default :
break loop79;
}
} while (true);
if ( state.backtracking==0 ) {
retval.expressionText = input.toString(retval.start,input.LT(-1));
}
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "expressionList"
// $ANTLR start "parExpression"
// org/datayoo/moql/antlr/Selector.g:623:1: parExpression : '(' expression ')' ;
public final void parExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:624:6: ( '(' expression ')' )
// org/datayoo/moql/antlr/Selector.g:624:9: '(' expression ')'
{
match(input,85,FOLLOW_85_in_parExpression2817); if (state.failed) return ;
pushFollow(FOLLOW_expression_in_parExpression2818);
expression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_parExpression2819); if (state.failed) return ;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "parExpression"
public static class expression_return extends ParserRuleReturnScope {
public String expressionText;
};
// $ANTLR start "expression"
// org/datayoo/moql/antlr/Selector.g:627:1: expression returns [String expressionText] : exclusiveOrExpression ( '|' exclusiveOrExpression )* ;
public final SelectorParser.expression_return expression() throws RecognitionException {
SelectorParser.expression_return retval = new SelectorParser.expression_return();
retval.start = input.LT(1);
try {
// org/datayoo/moql/antlr/Selector.g:628:6: ( exclusiveOrExpression ( '|' exclusiveOrExpression )* )
// org/datayoo/moql/antlr/Selector.g:628:8: exclusiveOrExpression ( '|' exclusiveOrExpression )*
{
pushFollow(FOLLOW_exclusiveOrExpression_in_expression2841);
exclusiveOrExpression();
state._fsp--;
if (state.failed) return retval;
// org/datayoo/moql/antlr/Selector.g:628:30: ( '|' exclusiveOrExpression )*
loop80:
do {
int alt80=2;
switch ( input.LA(1) ) {
case 97:
{
alt80=1;
}
break;
}
switch (alt80) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:628:32: '|' exclusiveOrExpression
{
match(input,97,FOLLOW_97_in_expression2845); if (state.failed) return retval;
pushFollow(FOLLOW_exclusiveOrExpression_in_expression2847);
exclusiveOrExpression();
state._fsp--;
if (state.failed) return retval;
}
break;
default :
break loop80;
}
} while (true);
if ( state.backtracking==0 ) {
retval.expressionText = input.toString(retval.start,input.LT(-1));
}
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return retval;
}
// $ANTLR end "expression"
// $ANTLR start "exclusiveOrExpression"
// org/datayoo/moql/antlr/Selector.g:631:1: exclusiveOrExpression : andExpression ( '^' andExpression )* ;
public final void exclusiveOrExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:632:6: ( andExpression ( '^' andExpression )* )
// org/datayoo/moql/antlr/Selector.g:632:8: andExpression ( '^' andExpression )*
{
pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2870);
andExpression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:632:22: ( '^' andExpression )*
loop81:
do {
int alt81=2;
switch ( input.LA(1) ) {
case 98:
{
alt81=1;
}
break;
}
switch (alt81) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:632:23: '^' andExpression
{
match(input,98,FOLLOW_98_in_exclusiveOrExpression2873); if (state.failed) return ;
pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2875);
andExpression();
state._fsp--;
if (state.failed) return ;
}
break;
default :
break loop81;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "exclusiveOrExpression"
// $ANTLR start "andExpression"
// org/datayoo/moql/antlr/Selector.g:635:1: andExpression : shiftExpression ( '&' shiftExpression )* ;
public final void andExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:636:6: ( shiftExpression ( '&' shiftExpression )* )
// org/datayoo/moql/antlr/Selector.g:636:8: shiftExpression ( '&' shiftExpression )*
{
pushFollow(FOLLOW_shiftExpression_in_andExpression2896);
shiftExpression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:636:24: ( '&' shiftExpression )*
loop82:
do {
int alt82=2;
switch ( input.LA(1) ) {
case 99:
{
alt82=1;
}
break;
}
switch (alt82) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:636:25: '&' shiftExpression
{
match(input,99,FOLLOW_99_in_andExpression2899); if (state.failed) return ;
pushFollow(FOLLOW_shiftExpression_in_andExpression2901);
shiftExpression();
state._fsp--;
if (state.failed) return ;
}
break;
default :
break loop82;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "andExpression"
// $ANTLR start "shiftExpression"
// org/datayoo/moql/antlr/Selector.g:638:1: shiftExpression : additiveExpression ( ( '<<' | '>>' ) additiveExpression )* ;
public final void shiftExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:639:6: ( additiveExpression ( ( '<<' | '>>' ) additiveExpression )* )
// org/datayoo/moql/antlr/Selector.g:639:8: additiveExpression ( ( '<<' | '>>' ) additiveExpression )*
{
pushFollow(FOLLOW_additiveExpression_in_shiftExpression2921);
additiveExpression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:639:27: ( ( '<<' | '>>' ) additiveExpression )*
loop83:
do {
int alt83=2;
switch ( input.LA(1) ) {
case 100:
case 101:
{
alt83=1;
}
break;
}
switch (alt83) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:639:28: ( '<<' | '>>' ) additiveExpression
{
if ( (input.LA(1)>=100 && input.LA(1)<=101) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_additiveExpression_in_shiftExpression2930);
additiveExpression();
state._fsp--;
if (state.failed) return ;
}
break;
default :
break loop83;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "shiftExpression"
// $ANTLR start "additiveExpression"
// org/datayoo/moql/antlr/Selector.g:642:1: additiveExpression : multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* ;
public final void additiveExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:643:6: ( multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* )
// org/datayoo/moql/antlr/Selector.g:643:8: multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )*
{
pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2955);
multiplicativeExpression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:643:33: ( ( '+' | '-' ) multiplicativeExpression )*
loop84:
do {
int alt84=2;
switch ( input.LA(1) ) {
case 102:
case 103:
{
alt84=1;
}
break;
}
switch (alt84) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:643:34: ( '+' | '-' ) multiplicativeExpression
{
if ( (input.LA(1)>=102 && input.LA(1)<=103) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2967);
multiplicativeExpression();
state._fsp--;
if (state.failed) return ;
}
break;
default :
break loop84;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "additiveExpression"
// $ANTLR start "multiplicativeExpression"
// org/datayoo/moql/antlr/Selector.g:646:1: multiplicativeExpression : notExpression ( ( '*' | '/' | '%' ) notExpression )* ;
public final void multiplicativeExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:647:6: ( notExpression ( ( '*' | '/' | '%' ) notExpression )* )
// org/datayoo/moql/antlr/Selector.g:647:8: notExpression ( ( '*' | '/' | '%' ) notExpression )*
{
pushFollow(FOLLOW_notExpression_in_multiplicativeExpression2988);
notExpression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:647:22: ( ( '*' | '/' | '%' ) notExpression )*
loop85:
do {
int alt85=2;
switch ( input.LA(1) ) {
case 88:
case 104:
case 105:
{
alt85=1;
}
break;
}
switch (alt85) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:647:23: ( '*' | '/' | '%' ) notExpression
{
if ( input.LA(1)==88||(input.LA(1)>=104 && input.LA(1)<=105) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_notExpression_in_multiplicativeExpression3005);
notExpression();
state._fsp--;
if (state.failed) return ;
}
break;
default :
break loop85;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "multiplicativeExpression"
// $ANTLR start "notExpression"
// org/datayoo/moql/antlr/Selector.g:649:1: notExpression : ( '~' )? exp= primary ;
public final void notExpression() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:650:6: ( ( '~' )? exp= primary )
// org/datayoo/moql/antlr/Selector.g:650:8: ( '~' )? exp= primary
{
// org/datayoo/moql/antlr/Selector.g:650:8: ( '~' )?
int alt86=2;
switch ( input.LA(1) ) {
case 106:
{
alt86=1;
}
break;
}
switch (alt86) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: '~'
{
match(input,106,FOLLOW_106_in_notExpression3025); if (state.failed) return ;
}
break;
}
pushFollow(FOLLOW_primary_in_notExpression3032);
primary();
state._fsp--;
if (state.failed) return ;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "notExpression"
// $ANTLR start "primary"
// org/datayoo/moql/antlr/Selector.g:651:1: primary : ( parExpression | function | member | constant );
public final void primary() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:652:6: ( parExpression | function | member | constant )
int alt87=4;
switch ( input.LA(1) ) {
case 85:
{
alt87=1;
}
break;
case Identifier:
{
switch ( input.LA(2) ) {
case 85:
{
alt87=2;
}
break;
case EOF:
case AND:
case AS:
case ASCENDING:
case BETWEEN:
case COMPLEMENTATION:
case DECORATE:
case DESCENDING:
case EXCEPT:
case FROM:
case FULL:
case GROUP:
case HAVING:
case IN:
case INNER:
case INTERSECT:
case IS:
case JOIN:
case LEFT:
case LIKE:
case NOT:
case OR:
case ORDER:
case RIGHT:
case SYMEXCEPT:
case LIMIT:
case UNION:
case WHERE:
case Identifier:
case 86:
case 87:
case 88:
case 90:
case 91:
case 92:
case 93:
case 94:
case 95:
case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 107:
case 108:
case 109:
case 110:
{
alt87=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 87, 2, input);
throw nvae;
}
}
break;
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case FloatingPointLiteral:
case StringLiteral:
{
alt87=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 87, 0, input);
throw nvae;
}
switch (alt87) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:652:8: parExpression
{
pushFollow(FOLLOW_parExpression_in_primary3044);
parExpression();
state._fsp--;
if (state.failed) return ;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:653:8: function
{
pushFollow(FOLLOW_function_in_primary3053);
function();
state._fsp--;
if (state.failed) return ;
}
break;
case 3 :
// org/datayoo/moql/antlr/Selector.g:654:8: member
{
pushFollow(FOLLOW_member_in_primary3062);
member();
state._fsp--;
if (state.failed) return ;
}
break;
case 4 :
// org/datayoo/moql/antlr/Selector.g:655:8: constant
{
pushFollow(FOLLOW_constant_in_primary3071);
constant();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "primary"
// $ANTLR start "member"
// org/datayoo/moql/antlr/Selector.g:658:1: member : variable ( '[' ( expression )? ']' )* ( ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )* ) ;
public final void member() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:659:2: ( variable ( '[' ( expression )? ']' )* ( ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )* ) )
// org/datayoo/moql/antlr/Selector.g:659:4: variable ( '[' ( expression )? ']' )* ( ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )* )
{
pushFollow(FOLLOW_variable_in_member3091);
variable();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:659:12: ( '[' ( expression )? ']' )*
loop89:
do {
int alt89=2;
switch ( input.LA(1) ) {
case 107:
{
alt89=1;
}
break;
}
switch (alt89) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:659:13: '[' ( expression )? ']'
{
match(input,107,FOLLOW_107_in_member3093); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:659:16: ( expression )?
int alt88=2;
switch ( input.LA(1) ) {
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case Identifier:
case FloatingPointLiteral:
case StringLiteral:
case 85:
case 106:
{
alt88=1;
}
break;
}
switch (alt88) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: expression
{
pushFollow(FOLLOW_expression_in_member3094);
expression();
state._fsp--;
if (state.failed) return ;
}
break;
}
match(input,108,FOLLOW_108_in_member3096); if (state.failed) return ;
}
break;
default :
break loop89;
}
} while (true);
// org/datayoo/moql/antlr/Selector.g:659:33: ( ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )* )
// org/datayoo/moql/antlr/Selector.g:659:34: ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )*
{
// org/datayoo/moql/antlr/Selector.g:659:34: ( '.' ( variable | function ) ( '[' ( expression )? ']' )* )*
loop93:
do {
int alt93=2;
switch ( input.LA(1) ) {
case 109:
{
alt93=1;
}
break;
}
switch (alt93) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:659:35: '.' ( variable | function ) ( '[' ( expression )? ']' )*
{
match(input,109,FOLLOW_109_in_member3102); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:659:39: ( variable | function )
int alt90=2;
switch ( input.LA(1) ) {
case Identifier:
{
switch ( input.LA(2) ) {
case 85:
{
alt90=2;
}
break;
case EOF:
case AND:
case AS:
case ASCENDING:
case BETWEEN:
case COMPLEMENTATION:
case DECORATE:
case DESCENDING:
case EXCEPT:
case FROM:
case FULL:
case GROUP:
case HAVING:
case IN:
case INNER:
case INTERSECT:
case IS:
case JOIN:
case LEFT:
case LIKE:
case NOT:
case OR:
case ORDER:
case RIGHT:
case SYMEXCEPT:
case LIMIT:
case UNION:
case WHERE:
case Identifier:
case 86:
case 87:
case 88:
case 90:
case 91:
case 92:
case 93:
case 94:
case 95:
case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 107:
case 108:
case 109:
case 110:
{
alt90=1;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 90, 1, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:659:40: variable
{
pushFollow(FOLLOW_variable_in_member3105);
variable();
state._fsp--;
if (state.failed) return ;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:659:50: function
{
pushFollow(FOLLOW_function_in_member3108);
function();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:659:60: ( '[' ( expression )? ']' )*
loop92:
do {
int alt92=2;
switch ( input.LA(1) ) {
case 107:
{
alt92=1;
}
break;
}
switch (alt92) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:659:61: '[' ( expression )? ']'
{
match(input,107,FOLLOW_107_in_member3112); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:659:64: ( expression )?
int alt91=2;
switch ( input.LA(1) ) {
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case Identifier:
case FloatingPointLiteral:
case StringLiteral:
case 85:
case 106:
{
alt91=1;
}
break;
}
switch (alt91) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: expression
{
pushFollow(FOLLOW_expression_in_member3113);
expression();
state._fsp--;
if (state.failed) return ;
}
break;
}
match(input,108,FOLLOW_108_in_member3115); if (state.failed) return ;
}
break;
default :
break loop92;
}
} while (true);
}
break;
default :
break loop93;
}
} while (true);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "member"
// $ANTLR start "function"
// org/datayoo/moql/antlr/Selector.g:662:1: function : ( Identifier '(' ( expressionList )? ')' | Identifier '(' expression 'as' expression ')' );
public final void function() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:663:2: ( Identifier '(' ( expressionList )? ')' | Identifier '(' expression 'as' expression ')' )
int alt95=2;
switch ( input.LA(1) ) {
case Identifier:
{
int LA95_1 = input.LA(2);
if ( (synpred120_Selector()) ) {
alt95=1;
}
else if ( (true) ) {
alt95=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 95, 1, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 95, 0, input);
throw nvae;
}
switch (alt95) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:663:4: Identifier '(' ( expressionList )? ')'
{
match(input,Identifier,FOLLOW_Identifier_in_function3131); if (state.failed) return ;
match(input,85,FOLLOW_85_in_function3133); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:663:18: ( expressionList )?
int alt94=2;
switch ( input.LA(1) ) {
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case Identifier:
case FloatingPointLiteral:
case StringLiteral:
case 85:
case 106:
{
alt94=1;
}
break;
}
switch (alt94) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: expressionList
{
pushFollow(FOLLOW_expressionList_in_function3134);
expressionList();
state._fsp--;
if (state.failed) return ;
}
break;
}
match(input,86,FOLLOW_86_in_function3136); if (state.failed) return ;
}
break;
case 2 :
// org/datayoo/moql/antlr/Selector.g:664:4: Identifier '(' expression 'as' expression ')'
{
match(input,Identifier,FOLLOW_Identifier_in_function3141); if (state.failed) return ;
match(input,85,FOLLOW_85_in_function3143); if (state.failed) return ;
pushFollow(FOLLOW_expression_in_function3145);
expression();
state._fsp--;
if (state.failed) return ;
match(input,110,FOLLOW_110_in_function3147); if (state.failed) return ;
pushFollow(FOLLOW_expression_in_function3149);
expression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_function3151); if (state.failed) return ;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "function"
// $ANTLR start "variable"
// org/datayoo/moql/antlr/Selector.g:667:1: variable : Identifier ;
public final void variable() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:668:2: ( Identifier )
// org/datayoo/moql/antlr/Selector.g:668:4: Identifier
{
match(input,Identifier,FOLLOW_Identifier_in_variable3163); if (state.failed) return ;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "variable"
// $ANTLR start "constant"
// org/datayoo/moql/antlr/Selector.g:671:1: constant : ( IntegerLiteral | FloatingPointLiteral | StringLiteral | NULL | TRUE | FALSE );
public final void constant() throws RecognitionException {
try {
// org/datayoo/moql/antlr/Selector.g:672:2: ( IntegerLiteral | FloatingPointLiteral | StringLiteral | NULL | TRUE | FALSE )
// org/datayoo/moql/antlr/Selector.g:
{
if ( input.LA(1)==FALSE||input.LA(1)==NULL||input.LA(1)==TRUE||input.LA(1)==IntegerLiteral||(input.LA(1)>=FloatingPointLiteral && input.LA(1)<=StringLiteral) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "constant"
// $ANTLR start synpred1_Selector
public final void synpred1_Selector_fragment() throws RecognitionException {
SelectorDefinition unionMetadata = null;
// org/datayoo/moql/antlr/Selector.g:72:4: (unionMetadata= unionExpression )
// org/datayoo/moql/antlr/Selector.g:72:4: unionMetadata= unionExpression
{
pushFollow(FOLLOW_unionExpression_in_synpred1_Selector725);
unionMetadata=unionExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred1_Selector
// $ANTLR start synpred2_Selector
public final void synpred2_Selector_fragment() throws RecognitionException {
SelectorDefinition exceptMetadata = null;
// org/datayoo/moql/antlr/Selector.g:73:4: (exceptMetadata= exceptExpression )
// org/datayoo/moql/antlr/Selector.g:73:4: exceptMetadata= exceptExpression
{
pushFollow(FOLLOW_exceptExpression_in_synpred2_Selector736);
exceptMetadata=exceptExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred2_Selector
// $ANTLR start synpred3_Selector
public final void synpred3_Selector_fragment() throws RecognitionException {
SelectorDefinition symexceptMetadata = null;
// org/datayoo/moql/antlr/Selector.g:74:4: (symexceptMetadata= symexceptExpression )
// org/datayoo/moql/antlr/Selector.g:74:4: symexceptMetadata= symexceptExpression
{
pushFollow(FOLLOW_symexceptExpression_in_synpred3_Selector747);
symexceptMetadata=symexceptExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred3_Selector
// $ANTLR start synpred4_Selector
public final void synpred4_Selector_fragment() throws RecognitionException {
SelectorDefinition complementationMetadata = null;
// org/datayoo/moql/antlr/Selector.g:75:4: (complementationMetadata= complementationExpression )
// org/datayoo/moql/antlr/Selector.g:75:4: complementationMetadata= complementationExpression
{
pushFollow(FOLLOW_complementationExpression_in_synpred4_Selector758);
complementationMetadata=complementationExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred4_Selector
// $ANTLR start synpred9_Selector
public final void synpred9_Selector_fragment() throws RecognitionException {
Token unionAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
// org/datayoo/moql/antlr/Selector.g:85:4: ( '(' lSelectorDefinition2= queryTerm ')' UNION (unionAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:85:4: '(' lSelectorDefinition2= queryTerm ')' UNION (unionAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_synpred9_Selector790); if (state.failed) return ;
pushFollow(FOLLOW_queryTerm_in_synpred9_Selector795);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred9_Selector797); if (state.failed) return ;
match(input,UNION,FOLLOW_UNION_in_synpred9_Selector799); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:85:59: (unionAll= ALL )?
int alt96=2;
switch ( input.LA(1) ) {
case ALL:
{
alt96=1;
}
break;
}
switch (alt96) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: unionAll= ALL
{
unionAll=(Token)match(input,ALL,FOLLOW_ALL_in_synpred9_Selector805); if (state.failed) return ;
}
break;
}
match(input,85,FOLLOW_85_in_synpred9_Selector809); if (state.failed) return ;
pushFollow(FOLLOW_queryExpression_in_synpred9_Selector815);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred9_Selector817); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:85:122: (orderBy= orderByClause )?
int alt97=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt97=1;
}
break;
}
switch (alt97) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_synpred9_Selector823);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:85:153: (limitMetadata= limitClause )?
int alt98=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt98=1;
}
break;
}
switch (alt98) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_synpred9_Selector830);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:85:179: (decorateBy= decorateByClause )?
int alt99=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt99=1;
}
break;
}
switch (alt99) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_synpred9_Selector837);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred9_Selector
// $ANTLR start synpred15_Selector
public final void synpred15_Selector_fragment() throws RecognitionException {
Token exceptAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
// org/datayoo/moql/antlr/Selector.g:126:4: ( '(' lSelectorDefinition2= queryTerm ')' EXCEPT (exceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:126:4: '(' lSelectorDefinition2= queryTerm ')' EXCEPT (exceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_synpred15_Selector887); if (state.failed) return ;
pushFollow(FOLLOW_queryTerm_in_synpred15_Selector892);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred15_Selector894); if (state.failed) return ;
match(input,EXCEPT,FOLLOW_EXCEPT_in_synpred15_Selector896); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:126:61: (exceptAll= ALL )?
int alt100=2;
switch ( input.LA(1) ) {
case ALL:
{
alt100=1;
}
break;
}
switch (alt100) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: exceptAll= ALL
{
exceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_synpred15_Selector902); if (state.failed) return ;
}
break;
}
match(input,85,FOLLOW_85_in_synpred15_Selector905); if (state.failed) return ;
pushFollow(FOLLOW_queryExpression_in_synpred15_Selector911);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred15_Selector913); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:126:123: (orderBy= orderByClause )?
int alt101=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt101=1;
}
break;
}
switch (alt101) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_synpred15_Selector919);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:126:154: (limitMetadata= limitClause )?
int alt102=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt102=1;
}
break;
}
switch (alt102) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_synpred15_Selector926);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:126:180: (decorateBy= decorateByClause )?
int alt103=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt103=1;
}
break;
}
switch (alt103) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_synpred15_Selector933);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred15_Selector
// $ANTLR start synpred21_Selector
public final void synpred21_Selector_fragment() throws RecognitionException {
Token symexceptAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
// org/datayoo/moql/antlr/Selector.g:167:4: ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:167:4: '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_synpred21_Selector984); if (state.failed) return ;
pushFollow(FOLLOW_queryTerm_in_synpred21_Selector989);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred21_Selector991); if (state.failed) return ;
match(input,SYMEXCEPT,FOLLOW_SYMEXCEPT_in_synpred21_Selector993); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:167:67: (symexceptAll= ALL )?
int alt104=2;
switch ( input.LA(1) ) {
case ALL:
{
alt104=1;
}
break;
}
switch (alt104) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: symexceptAll= ALL
{
symexceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_synpred21_Selector999); if (state.failed) return ;
}
break;
}
match(input,85,FOLLOW_85_in_synpred21_Selector1002); if (state.failed) return ;
pushFollow(FOLLOW_queryExpression_in_synpred21_Selector1008);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred21_Selector1010); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:167:129: (orderBy= orderByClause )?
int alt105=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt105=1;
}
break;
}
switch (alt105) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_synpred21_Selector1016);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:167:160: (limitMetadata= limitClause )?
int alt106=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt106=1;
}
break;
}
switch (alt106) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_synpred21_Selector1023);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:167:186: (decorateBy= decorateByClause )?
int alt107=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt107=1;
}
break;
}
switch (alt107) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_synpred21_Selector1030);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred21_Selector
// $ANTLR start synpred27_Selector
public final void synpred27_Selector_fragment() throws RecognitionException {
Token symexceptAll=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
// org/datayoo/moql/antlr/Selector.g:208:4: ( '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:208:4: '(' lSelectorDefinition2= queryTerm ')' SYMEXCEPT (symexceptAll= ALL )? '(' rSelectorDefinition2= queryExpression ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_synpred27_Selector1081); if (state.failed) return ;
pushFollow(FOLLOW_queryTerm_in_synpred27_Selector1086);
lSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred27_Selector1088); if (state.failed) return ;
match(input,SYMEXCEPT,FOLLOW_SYMEXCEPT_in_synpred27_Selector1090); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:208:67: (symexceptAll= ALL )?
int alt108=2;
switch ( input.LA(1) ) {
case ALL:
{
alt108=1;
}
break;
}
switch (alt108) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: symexceptAll= ALL
{
symexceptAll=(Token)match(input,ALL,FOLLOW_ALL_in_synpred27_Selector1096); if (state.failed) return ;
}
break;
}
match(input,85,FOLLOW_85_in_synpred27_Selector1099); if (state.failed) return ;
pushFollow(FOLLOW_queryExpression_in_synpred27_Selector1105);
rSelectorDefinition2=queryExpression();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred27_Selector1107); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:208:129: (orderBy= orderByClause )?
int alt109=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt109=1;
}
break;
}
switch (alt109) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_synpred27_Selector1113);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:208:160: (limitMetadata= limitClause )?
int alt110=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt110=1;
}
break;
}
switch (alt110) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_synpred27_Selector1120);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:208:186: (decorateBy= decorateByClause )?
int alt111=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt111=1;
}
break;
}
switch (alt111) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_synpred27_Selector1127);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred27_Selector
// $ANTLR start synpred32_Selector
public final void synpred32_Selector_fragment() throws RecognitionException {
SelectorDefinition intersectMetadata = null;
// org/datayoo/moql/antlr/Selector.g:273:4: (intersectMetadata= intersectExpression )
// org/datayoo/moql/antlr/Selector.g:273:4: intersectMetadata= intersectExpression
{
pushFollow(FOLLOW_intersectExpression_in_synpred32_Selector1283);
intersectMetadata=intersectExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred32_Selector
// $ANTLR start synpred37_Selector
public final void synpred37_Selector_fragment() throws RecognitionException {
Token all=null;
SelectorDefinition lSelectorDefinition2 = null;
SelectorDefinition rSelectorDefinition2 = null;
List orderBy = null;
LimitMetadata limitMetadata = null;
List decorateBy = null;
// org/datayoo/moql/antlr/Selector.g:283:4: ( '(' lSelectorDefinition2= queryPrimary ')' INTERSECT (all= ALL )? '(' rSelectorDefinition2= queryTerm ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )? )
// org/datayoo/moql/antlr/Selector.g:283:4: '(' lSelectorDefinition2= queryPrimary ')' INTERSECT (all= ALL )? '(' rSelectorDefinition2= queryTerm ')' (orderBy= orderByClause )? (limitMetadata= limitClause )? (decorateBy= decorateByClause )?
{
match(input,85,FOLLOW_85_in_synpred37_Selector1315); if (state.failed) return ;
pushFollow(FOLLOW_queryPrimary_in_synpred37_Selector1320);
lSelectorDefinition2=queryPrimary();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred37_Selector1322); if (state.failed) return ;
match(input,INTERSECT,FOLLOW_INTERSECT_in_synpred37_Selector1324); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:283:61: (all= ALL )?
int alt112=2;
switch ( input.LA(1) ) {
case ALL:
{
alt112=1;
}
break;
}
switch (alt112) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: all= ALL
{
all=(Token)match(input,ALL,FOLLOW_ALL_in_synpred37_Selector1330); if (state.failed) return ;
}
break;
}
match(input,85,FOLLOW_85_in_synpred37_Selector1333); if (state.failed) return ;
pushFollow(FOLLOW_queryTerm_in_synpred37_Selector1339);
rSelectorDefinition2=queryTerm();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred37_Selector1341); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:283:117: (orderBy= orderByClause )?
int alt113=2;
switch ( input.LA(1) ) {
case ORDER:
{
alt113=1;
}
break;
}
switch (alt113) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: orderBy= orderByClause
{
pushFollow(FOLLOW_orderByClause_in_synpred37_Selector1347);
orderBy=orderByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:283:148: (limitMetadata= limitClause )?
int alt114=2;
switch ( input.LA(1) ) {
case LIMIT:
{
alt114=1;
}
break;
}
switch (alt114) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: limitMetadata= limitClause
{
pushFollow(FOLLOW_limitClause_in_synpred37_Selector1354);
limitMetadata=limitClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
// org/datayoo/moql/antlr/Selector.g:283:174: (decorateBy= decorateByClause )?
int alt115=2;
switch ( input.LA(1) ) {
case DECORATE:
{
alt115=1;
}
break;
}
switch (alt115) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: decorateBy= decorateByClause
{
pushFollow(FOLLOW_decorateByClause_in_synpred37_Selector1361);
decorateBy=decorateByClause();
state._fsp--;
if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred37_Selector
// $ANTLR start synpred58_Selector
public final void synpred58_Selector_fragment() throws RecognitionException {
Token t=null;
SelectorParser.expression_return expr = null;
// org/datayoo/moql/antlr/Selector.g:405:4: (expr= expression ( ( AS )? t= Identifier )? )
// org/datayoo/moql/antlr/Selector.g:405:4: expr= expression ( ( AS )? t= Identifier )?
{
pushFollow(FOLLOW_expression_in_synpred58_Selector1747);
expr=expression();
state._fsp--;
if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:405:22: ( ( AS )? t= Identifier )?
int alt118=2;
switch ( input.LA(1) ) {
case AS:
case Identifier:
{
alt118=1;
}
break;
}
switch (alt118) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:405:23: ( AS )? t= Identifier
{
// org/datayoo/moql/antlr/Selector.g:405:23: ( AS )?
int alt117=2;
switch ( input.LA(1) ) {
case AS:
{
alt117=1;
}
break;
}
switch (alt117) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: AS
{
match(input,AS,FOLLOW_AS_in_synpred58_Selector1750); if (state.failed) return ;
}
break;
}
t=(Token)match(input,Identifier,FOLLOW_Identifier_in_synpred58_Selector1757); if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred58_Selector
// $ANTLR start synpred59_Selector
public final void synpred59_Selector_fragment() throws RecognitionException {
Token expr2=null;
// org/datayoo/moql/antlr/Selector.g:414:4: (expr2= Identifier '.*' )
// org/datayoo/moql/antlr/Selector.g:414:4: expr2= Identifier '.*'
{
expr2=(Token)match(input,Identifier,FOLLOW_Identifier_in_synpred59_Selector1771); if (state.failed) return ;
match(input,89,FOLLOW_89_in_synpred59_Selector1772); if (state.failed) return ;
}
}
// $ANTLR end synpred59_Selector
// $ANTLR start synpred62_Selector
public final void synpred62_Selector_fragment() throws RecognitionException {
JoinMetadata joinMetadata1 = null;
// org/datayoo/moql/antlr/Selector.g:436:4: (joinMetadata1= qualifiedJoin )
// org/datayoo/moql/antlr/Selector.g:436:4: joinMetadata1= qualifiedJoin
{
pushFollow(FOLLOW_qualifiedJoin_in_synpred62_Selector1864);
joinMetadata1=qualifiedJoin();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred62_Selector
// $ANTLR start synpred63_Selector
public final void synpred63_Selector_fragment() throws RecognitionException {
JoinMetadata joinMetadata2 = null;
// org/datayoo/moql/antlr/Selector.g:437:4: ( '(' joinMetadata2= qualifiedJoin ')' )
// org/datayoo/moql/antlr/Selector.g:437:4: '(' joinMetadata2= qualifiedJoin ')'
{
match(input,85,FOLLOW_85_in_synpred63_Selector1871); if (state.failed) return ;
pushFollow(FOLLOW_qualifiedJoin_in_synpred63_Selector1877);
joinMetadata2=qualifiedJoin();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred63_Selector1880); if (state.failed) return ;
}
}
// $ANTLR end synpred63_Selector
// $ANTLR start synpred76_Selector
public final void synpred76_Selector_fragment() throws RecognitionException {
JoinMetadata joinMetadata = null;
// org/datayoo/moql/antlr/Selector.g:503:5: ( '(' joinMetadata= qualifiedJoin ')' )
// org/datayoo/moql/antlr/Selector.g:503:5: '(' joinMetadata= qualifiedJoin ')'
{
match(input,85,FOLLOW_85_in_synpred76_Selector2233); if (state.failed) return ;
pushFollow(FOLLOW_qualifiedJoin_in_synpred76_Selector2239);
joinMetadata=qualifiedJoin();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred76_Selector2241); if (state.failed) return ;
}
}
// $ANTLR end synpred76_Selector
// $ANTLR start synpred80_Selector
public final void synpred80_Selector_fragment() throws RecognitionException {
OperationMetadata predicateMetadata = null;
// org/datayoo/moql/antlr/Selector.g:545:4: (predicateMetadata= predicate )
// org/datayoo/moql/antlr/Selector.g:545:4: predicateMetadata= predicate
{
pushFollow(FOLLOW_predicate_in_synpred80_Selector2402);
predicateMetadata=predicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred80_Selector
// $ANTLR start synpred81_Selector
public final void synpred81_Selector_fragment() throws RecognitionException {
OperationMetadata conditionMetadata = null;
// org/datayoo/moql/antlr/Selector.g:546:4: ( '(' conditionMetadata= searchCondition ')' )
// org/datayoo/moql/antlr/Selector.g:546:4: '(' conditionMetadata= searchCondition ')'
{
match(input,85,FOLLOW_85_in_synpred81_Selector2409); if (state.failed) return ;
pushFollow(FOLLOW_searchCondition_in_synpred81_Selector2415);
conditionMetadata=searchCondition();
state._fsp--;
if (state.failed) return ;
match(input,86,FOLLOW_86_in_synpred81_Selector2418); if (state.failed) return ;
}
}
// $ANTLR end synpred81_Selector
// $ANTLR start synpred82_Selector
public final void synpred82_Selector_fragment() throws RecognitionException {
OperationMetadata comparisonMetadata = null;
// org/datayoo/moql/antlr/Selector.g:551:4: (comparisonMetadata= comparisonPredicate )
// org/datayoo/moql/antlr/Selector.g:551:4: comparisonMetadata= comparisonPredicate
{
pushFollow(FOLLOW_comparisonPredicate_in_synpred82_Selector2448);
comparisonMetadata=comparisonPredicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred82_Selector
// $ANTLR start synpred83_Selector
public final void synpred83_Selector_fragment() throws RecognitionException {
OperationMetadata betweenMetadata = null;
// org/datayoo/moql/antlr/Selector.g:552:4: (betweenMetadata= betweenPredicate )
// org/datayoo/moql/antlr/Selector.g:552:4: betweenMetadata= betweenPredicate
{
pushFollow(FOLLOW_betweenPredicate_in_synpred83_Selector2459);
betweenMetadata=betweenPredicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred83_Selector
// $ANTLR start synpred84_Selector
public final void synpred84_Selector_fragment() throws RecognitionException {
OperationMetadata inMetadata = null;
// org/datayoo/moql/antlr/Selector.g:553:4: (inMetadata= inPredicate )
// org/datayoo/moql/antlr/Selector.g:553:4: inMetadata= inPredicate
{
pushFollow(FOLLOW_inPredicate_in_synpred84_Selector2470);
inMetadata=inPredicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred84_Selector
// $ANTLR start synpred85_Selector
public final void synpred85_Selector_fragment() throws RecognitionException {
OperationMetadata likeMetadata = null;
// org/datayoo/moql/antlr/Selector.g:554:4: (likeMetadata= likePredicate )
// org/datayoo/moql/antlr/Selector.g:554:4: likeMetadata= likePredicate
{
pushFollow(FOLLOW_likePredicate_in_synpred85_Selector2481);
likeMetadata=likePredicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred85_Selector
// $ANTLR start synpred86_Selector
public final void synpred86_Selector_fragment() throws RecognitionException {
OperationMetadata nullMetadata = null;
// org/datayoo/moql/antlr/Selector.g:555:4: (nullMetadata= nullPredicate )
// org/datayoo/moql/antlr/Selector.g:555:4: nullMetadata= nullPredicate
{
pushFollow(FOLLOW_nullPredicate_in_synpred86_Selector2492);
nullMetadata=nullPredicate();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred86_Selector
// $ANTLR start synpred95_Selector
public final void synpred95_Selector_fragment() throws RecognitionException {
SelectorDefinition selectorDefinition = null;
// org/datayoo/moql/antlr/Selector.g:589:42: (selectorDefinition= queryExpression )
// org/datayoo/moql/antlr/Selector.g:589:42: selectorDefinition= queryExpression
{
pushFollow(FOLLOW_queryExpression_in_synpred95_Selector2655);
selectorDefinition=queryExpression();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred95_Selector
// $ANTLR start synpred120_Selector
public final void synpred120_Selector_fragment() throws RecognitionException {
// org/datayoo/moql/antlr/Selector.g:663:4: ( Identifier '(' ( expressionList )? ')' )
// org/datayoo/moql/antlr/Selector.g:663:4: Identifier '(' ( expressionList )? ')'
{
match(input,Identifier,FOLLOW_Identifier_in_synpred120_Selector3131); if (state.failed) return ;
match(input,85,FOLLOW_85_in_synpred120_Selector3133); if (state.failed) return ;
// org/datayoo/moql/antlr/Selector.g:663:18: ( expressionList )?
int alt127=2;
switch ( input.LA(1) ) {
case FALSE:
case NULL:
case TRUE:
case IntegerLiteral:
case Identifier:
case FloatingPointLiteral:
case StringLiteral:
case 85:
case 106:
{
alt127=1;
}
break;
}
switch (alt127) {
case 1 :
// org/datayoo/moql/antlr/Selector.g:0:0: expressionList
{
pushFollow(FOLLOW_expressionList_in_synpred120_Selector3134);
expressionList();
state._fsp--;
if (state.failed) return ;
}
break;
}
match(input,86,FOLLOW_86_in_synpred120_Selector3136); if (state.failed) return ;
}
}
// $ANTLR end synpred120_Selector
// Delegated rules
public final boolean synpred27_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred27_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred59_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred59_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred21_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred21_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred85_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred85_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred37_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred37_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred63_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred63_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred2_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred2_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred82_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred82_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred95_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred95_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred3_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred3_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred76_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred76_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred15_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred15_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred62_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred62_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred81_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred81_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred32_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred32_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred58_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred58_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred86_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred86_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred4_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred4_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred84_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred84_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred80_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred80_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred9_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred9_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred83_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred83_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred120_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred120_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred1_Selector() {
state.backtracking++;
int start = input.mark();
try {
synpred1_Selector_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA73 dfa73 = new DFA73(this);
static final String DFA73_eotS =
"\13\uffff";
static final String DFA73_eofS =
"\13\uffff";
static final String DFA73_minS =
"\1\42\4\0\6\uffff";
static final String DFA73_maxS =
"\1\152\4\0\6\uffff";
static final String DFA73_acceptS =
"\5\uffff\1\6\1\1\1\2\1\3\1\4\1\5";
static final String DFA73_specialS =
"\1\uffff\1\0\1\1\1\2\1\3\6\uffff}>";
static final String[] DFA73_transitionS = {
"\1\5\1\uffff\1\4\25\uffff\1\4\10\uffff\1\4\2\uffff\1\4\1\3\2"+
"\4\13\uffff\1\2\24\uffff\1\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
""
};
static final short[] DFA73_eot = DFA.unpackEncodedString(DFA73_eotS);
static final short[] DFA73_eof = DFA.unpackEncodedString(DFA73_eofS);
static final char[] DFA73_min = DFA.unpackEncodedStringToUnsignedChars(DFA73_minS);
static final char[] DFA73_max = DFA.unpackEncodedStringToUnsignedChars(DFA73_maxS);
static final short[] DFA73_accept = DFA.unpackEncodedString(DFA73_acceptS);
static final short[] DFA73_special = DFA.unpackEncodedString(DFA73_specialS);
static final short[][] DFA73_transition;
static {
int numStates = DFA73_transitionS.length;
DFA73_transition = new short[numStates][];
for (int i=0; i=0 ) return s;
break;
case 1 :
int LA73_2 = input.LA(1);
int index73_2 = input.index();
input.rewind();
s = -1;
if ( (synpred82_Selector()) ) {s = 6;}
else if ( (synpred83_Selector()) ) {s = 7;}
else if ( (synpred84_Selector()) ) {s = 8;}
else if ( (synpred85_Selector()) ) {s = 9;}
else if ( (synpred86_Selector()) ) {s = 10;}
input.seek(index73_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA73_3 = input.LA(1);
int index73_3 = input.index();
input.rewind();
s = -1;
if ( (synpred82_Selector()) ) {s = 6;}
else if ( (synpred83_Selector()) ) {s = 7;}
else if ( (synpred84_Selector()) ) {s = 8;}
else if ( (synpred85_Selector()) ) {s = 9;}
else if ( (synpred86_Selector()) ) {s = 10;}
input.seek(index73_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA73_4 = input.LA(1);
int index73_4 = input.index();
input.rewind();
s = -1;
if ( (synpred82_Selector()) ) {s = 6;}
else if ( (synpred83_Selector()) ) {s = 7;}
else if ( (synpred84_Selector()) ) {s = 8;}
else if ( (synpred85_Selector()) ) {s = 9;}
else if ( (synpred86_Selector()) ) {s = 10;}
input.seek(index73_4);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 73, _s, input);
error(nvae);
throw nvae;
}
}
public static final BitSet FOLLOW_queryExpression_in_selector704 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unionExpression_in_queryExpression725 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_exceptExpression_in_queryExpression736 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_symexceptExpression_in_queryExpression747 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_complementationExpression_in_queryExpression758 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryTerm_in_queryExpression769 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_unionExpression790 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_unionExpression795 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_unionExpression797 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_UNION_in_unionExpression799 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_unionExpression805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_unionExpression809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_unionExpression815 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_unionExpression817 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_unionExpression823 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_unionExpression830 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_unionExpression837 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryTerm_in_unionExpression850 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_UNION_in_unionExpression852 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200001L});
public static final BitSet FOLLOW_ALL_in_unionExpression858 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_unionExpression865 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_exceptExpression887 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_exceptExpression892 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_exceptExpression894 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_EXCEPT_in_exceptExpression896 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_exceptExpression902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_exceptExpression905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_exceptExpression911 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_exceptExpression913 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_exceptExpression919 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_exceptExpression926 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_exceptExpression933 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryTerm_in_exceptExpression947 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_EXCEPT_in_exceptExpression949 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200001L});
public static final BitSet FOLLOW_ALL_in_exceptExpression955 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_exceptExpression962 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_symexceptExpression984 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_symexceptExpression989 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_symexceptExpression991 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_SYMEXCEPT_in_symexceptExpression993 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_symexceptExpression999 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_symexceptExpression1002 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_symexceptExpression1008 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_symexceptExpression1010 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_symexceptExpression1016 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_symexceptExpression1023 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_symexceptExpression1030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryTerm_in_symexceptExpression1043 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_SYMEXCEPT_in_symexceptExpression1045 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200001L});
public static final BitSet FOLLOW_ALL_in_symexceptExpression1051 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_symexceptExpression1058 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_complementationExpression1081 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_complementationExpression1086 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_complementationExpression1088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_SYMEXCEPT_in_complementationExpression1090 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_complementationExpression1096 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_complementationExpression1099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_complementationExpression1105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_complementationExpression1107 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_complementationExpression1113 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_complementationExpression1120 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_complementationExpression1127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryTerm_in_complementationExpression1140 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COMPLEMENTATION_in_complementationExpression1142 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200001L});
public static final BitSet FOLLOW_ALL_in_complementationExpression1148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_complementationExpression1155 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ORDER_in_orderByClause1175 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_BY_in_orderByClause1177 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_sortSpecification_in_orderByClause1183 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_orderByClause1188 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_sortSpecification_in_orderByClause1194 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_expression_in_sortSpecification1221 = new BitSet(new long[]{0x0000000040002002L});
public static final BitSet FOLLOW_orderingSpecification_in_sortSpecification1227 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASCENDING_in_orderingSpecification1251 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DESCENDING_in_orderingSpecification1259 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_intersectExpression_in_queryTerm1283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryPrimary_in_queryTerm1294 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_intersectExpression1315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryPrimary_in_intersectExpression1320 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_intersectExpression1322 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_INTERSECT_in_intersectExpression1324 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_intersectExpression1330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_intersectExpression1333 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_intersectExpression1339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_intersectExpression1341 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_intersectExpression1347 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_intersectExpression1354 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_intersectExpression1361 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryPrimary_in_intersectExpression1374 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_INTERSECT_in_intersectExpression1376 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200001L});
public static final BitSet FOLLOW_ALL_in_intersectExpression1382 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_intersectExpression1389 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_querySpecification_in_queryPrimary1411 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_queryPrimary1418 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_queryPrimary1424 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_queryPrimary1427 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SELECT_in_querySpecification1453 = new BitSet(new long[]{0x0400001080400040L,0x00000400002003C9L});
public static final BitSet FOLLOW_cache_in_querySpecification1459 = new BitSet(new long[]{0x0400001080400040L,0x00000400002003C9L});
public static final BitSet FOLLOW_setQuantifier_in_querySpecification1466 = new BitSet(new long[]{0x0400001080400040L,0x00000400002003C9L});
public static final BitSet FOLLOW_selectList_in_querySpecification1473 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_fromClause_in_querySpecification1481 = new BitSet(new long[]{0x2000280020000002L,0x0000000000000024L});
public static final BitSet FOLLOW_whereClause_in_querySpecification1487 = new BitSet(new long[]{0x2000280020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_groupByClause_in_querySpecification1494 = new BitSet(new long[]{0x2000200020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_havingClause_in_querySpecification1501 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_querySpecification1510 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_querySpecification1517 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_querySpecification1524 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CACHE_in_cache1544 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_cache1546 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
public static final BitSet FOLLOW_IntegerLiteral_in_cache1552 = new BitSet(new long[]{0x0000000000000000L,0x0000000000C00000L});
public static final BitSet FOLLOW_87_in_cache1555 = new BitSet(new long[]{0x0120006000000000L});
public static final BitSet FOLLOW_washoutStrategy_in_cache1561 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_cache1565 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FIFO_in_washoutStrategy1588 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FILO_in_washoutStrategy1596 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LRU_in_washoutStrategy1604 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LFU_in_washoutStrategy1612 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DISTINCT_in_setQuantifier1627 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ALL_in_setQuantifier1633 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LIMIT_in_limitClause1655 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
public static final BitSet FOLLOW_IntegerLiteral_in_limitClause1662 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_limitClause1664 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
public static final BitSet FOLLOW_IntegerLiteral_in_limitClause1672 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000000L});
public static final BitSet FOLLOW_88_in_limitClause1679 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_column_in_selectList1708 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_selectList1713 = new BitSet(new long[]{0x0400001080400040L,0x00000400002003C9L});
public static final BitSet FOLLOW_column_in_selectList1719 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_expression_in_column1747 = new BitSet(new long[]{0x0000000000000802L,0x0000000000000080L});
public static final BitSet FOLLOW_AS_in_column1750 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_Identifier_in_column1757 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_column1771 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_89_in_column1772 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryExpression_in_column1784 = new BitSet(new long[]{0x0000000000000800L,0x0000000000000080L});
public static final BitSet FOLLOW_AS_in_column1786 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_Identifier_in_column1793 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FROM_in_fromClause1822 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_tableReference_in_fromClause1828 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_fromClause1835 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_tableReference_in_fromClause1841 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_qualifiedJoin_in_tableReference1864 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_tableReference1871 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_qualifiedJoin_in_tableReference1877 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_tableReference1880 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nonJoinTableReference_in_tableReference1889 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_nonJoinTableReference1909 = new BitSet(new long[]{0x0000000000000800L,0x0000000000000080L});
public static final BitSet FOLLOW_AS_in_nonJoinTableReference1911 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_Identifier_in_nonJoinTableReference1918 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_nonJoinTableReference1925 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_nonJoinTableReference1931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_nonJoinTableReference1933 = new BitSet(new long[]{0x0000000000000800L,0x0000000000000080L});
public static final BitSet FOLLOW_AS_in_nonJoinTableReference1935 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_Identifier_in_nonJoinTableReference1942 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WHERE_in_whereClause1958 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_whereClause1964 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GROUP_in_groupByClause1985 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_BY_in_groupByClause1987 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_groupByClause1993 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_groupByClause1997 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_groupByClause2003 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_HAVING_in_havingClause2022 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_havingClause2028 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DECORATE_in_decorateByClause2050 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_BY_in_decorateByClause2052 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_decorator_in_decorateByClause2058 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_decorateByClause2062 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_decorator_in_decorateByClause2068 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_function_in_decorator2087 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nonJoinTableReference_in_qualifiedJoin2113 = new BitSet(new long[]{0x8018820000000000L});
public static final BitSet FOLLOW_joinType_in_qualifiedJoin2122 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_JOIN_in_qualifiedJoin2125 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_joinReference_in_qualifiedJoin2131 = new BitSet(new long[]{0x8818820000000002L});
public static final BitSet FOLLOW_joinCondition_in_qualifiedJoin2137 = new BitSet(new long[]{0x8018820000000002L});
public static final BitSet FOLLOW_INNER_in_joinType2163 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_outJoinType_in_joinType2174 = new BitSet(new long[]{0x4000000000000002L});
public static final BitSet FOLLOW_OUTER_in_joinType2176 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEFT_in_outJoinType2202 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RIGHT_in_outJoinType2210 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FULL_in_outJoinType2218 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_joinReference2233 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_qualifiedJoin_in_joinReference2239 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_joinReference2241 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nonJoinTableReference_in_joinReference2252 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ON_in_joinCondition2268 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_joinCondition2274 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_booleanTerm_in_searchCondition2299 = new BitSet(new long[]{0x1000000000000002L});
public static final BitSet FOLLOW_OR_in_searchCondition2306 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_searchCondition2312 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_booleanFactor_in_booleanTerm2338 = new BitSet(new long[]{0x0000000000000202L});
public static final BitSet FOLLOW_AND_in_booleanTerm2345 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_booleanTerm_in_booleanTerm2351 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_booleanFactor2376 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_booleanPrimary_in_booleanFactor2383 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_predicate_in_booleanPrimary2402 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_booleanPrimary2409 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_booleanPrimary2415 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_booleanPrimary2418 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_booleanPrimary2427 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_comparisonPredicate_in_predicate2448 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_betweenPredicate_in_predicate2459 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inPredicate_in_predicate2470 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_likePredicate_in_predicate2481 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nullPredicate_in_predicate2492 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_existsPredicate_in_predicate2503 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_comparisonPredicate2529 = new BitSet(new long[]{0x0000000000000000L,0x00000001FC000000L});
public static final BitSet FOLLOW_set_in_comparisonPredicate2535 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_comparisonPredicate2566 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_betweenPredicate2590 = new BitSet(new long[]{0x0200000000040000L});
public static final BitSet FOLLOW_NOT_in_betweenPredicate2596 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_BETWEEN_in_betweenPredicate2599 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_betweenPredicate2605 = new BitSet(new long[]{0x0000000000000200L});
public static final BitSet FOLLOW_AND_in_betweenPredicate2607 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_betweenPredicate2613 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_inPredicate2637 = new BitSet(new long[]{0x0200400000000000L});
public static final BitSet FOLLOW_NOT_in_inPredicate2643 = new BitSet(new long[]{0x0000400000000000L});
public static final BitSet FOLLOW_IN_in_inPredicate2646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_inPredicate2648 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C9L});
public static final BitSet FOLLOW_queryExpression_in_inPredicate2655 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_expressionList_in_inPredicate2663 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_inPredicate2666 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_likePredicate2689 = new BitSet(new long[]{0x0280000000000000L});
public static final BitSet FOLLOW_NOT_in_likePredicate2693 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_LIKE_in_likePredicate2696 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_likePredicate2702 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_nullPredicate2726 = new BitSet(new long[]{0x0002000000000000L});
public static final BitSet FOLLOW_IS_in_nullPredicate2728 = new BitSet(new long[]{0x0600000000000000L});
public static final BitSet FOLLOW_NOT_in_nullPredicate2734 = new BitSet(new long[]{0x0400000000000000L});
public static final BitSet FOLLOW_NULL_in_nullPredicate2741 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXISTS_in_existsPredicate2760 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_existsPredicate2762 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_existsPredicate2768 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_existsPredicate2770 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_expressionList2788 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_87_in_expressionList2791 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_expressionList2793 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_85_in_parExpression2817 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_parExpression2818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_parExpression2819 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_exclusiveOrExpression_in_expression2841 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
public static final BitSet FOLLOW_97_in_expression2845 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_exclusiveOrExpression_in_expression2847 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2870 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
public static final BitSet FOLLOW_98_in_exclusiveOrExpression2873 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2875 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
public static final BitSet FOLLOW_shiftExpression_in_andExpression2896 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
public static final BitSet FOLLOW_99_in_andExpression2899 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_shiftExpression_in_andExpression2901 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2921 = new BitSet(new long[]{0x0000000000000002L,0x0000003000000000L});
public static final BitSet FOLLOW_set_in_shiftExpression2924 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2930 = new BitSet(new long[]{0x0000000000000002L,0x0000003000000000L});
public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2955 = new BitSet(new long[]{0x0000000000000002L,0x000000C000000000L});
public static final BitSet FOLLOW_set_in_additiveExpression2958 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2967 = new BitSet(new long[]{0x0000000000000002L,0x000000C000000000L});
public static final BitSet FOLLOW_notExpression_in_multiplicativeExpression2988 = new BitSet(new long[]{0x0000000000000002L,0x0000030001000000L});
public static final BitSet FOLLOW_set_in_multiplicativeExpression2991 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_notExpression_in_multiplicativeExpression3005 = new BitSet(new long[]{0x0000000000000002L,0x0000030001000000L});
public static final BitSet FOLLOW_106_in_notExpression3025 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_primary_in_notExpression3032 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_parExpression_in_primary3044 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_function_in_primary3053 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_in_primary3062 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_in_primary3071 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variable_in_member3091 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L});
public static final BitSet FOLLOW_107_in_member3093 = new BitSet(new long[]{0x0400001000000000L,0x00001400002003C8L});
public static final BitSet FOLLOW_expression_in_member3094 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
public static final BitSet FOLLOW_108_in_member3096 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L});
public static final BitSet FOLLOW_109_in_member3102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_variable_in_member3105 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L});
public static final BitSet FOLLOW_function_in_member3108 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L});
public static final BitSet FOLLOW_107_in_member3112 = new BitSet(new long[]{0x0400001000000000L,0x00001400002003C8L});
public static final BitSet FOLLOW_expression_in_member3113 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
public static final BitSet FOLLOW_108_in_member3115 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L});
public static final BitSet FOLLOW_Identifier_in_function3131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_function3133 = new BitSet(new long[]{0x0400001000000000L,0x00000400006003C9L});
public static final BitSet FOLLOW_expressionList_in_function3134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_function3136 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_function3141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_function3143 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_function3145 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_110_in_function3147 = new BitSet(new long[]{0x0400001000000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_expression_in_function3149 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_function3151 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_variable3163 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_constant0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unionExpression_in_synpred1_Selector725 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_exceptExpression_in_synpred2_Selector736 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_symexceptExpression_in_synpred3_Selector747 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_complementationExpression_in_synpred4_Selector758 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred9_Selector790 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_synpred9_Selector795 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred9_Selector797 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_UNION_in_synpred9_Selector799 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_synpred9_Selector805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred9_Selector809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_synpred9_Selector815 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred9_Selector817 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_synpred9_Selector823 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_synpred9_Selector830 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_synpred9_Selector837 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred15_Selector887 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_synpred15_Selector892 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred15_Selector894 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_EXCEPT_in_synpred15_Selector896 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_synpred15_Selector902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred15_Selector905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_synpred15_Selector911 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred15_Selector913 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_synpred15_Selector919 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_synpred15_Selector926 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_synpred15_Selector933 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred21_Selector984 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_synpred21_Selector989 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred21_Selector991 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_SYMEXCEPT_in_synpred21_Selector993 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_synpred21_Selector999 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred21_Selector1002 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_synpred21_Selector1008 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred21_Selector1010 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_synpred21_Selector1016 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_synpred21_Selector1023 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_synpred21_Selector1030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred27_Selector1081 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_synpred27_Selector1086 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred27_Selector1088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_SYMEXCEPT_in_synpred27_Selector1090 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_synpred27_Selector1096 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred27_Selector1099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryExpression_in_synpred27_Selector1105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred27_Selector1107 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_synpred27_Selector1113 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_synpred27_Selector1120 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_synpred27_Selector1127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_intersectExpression_in_synpred32_Selector1283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred37_Selector1315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryPrimary_in_synpred37_Selector1320 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred37_Selector1322 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_INTERSECT_in_synpred37_Selector1324 = new BitSet(new long[]{0x0000000000000040L,0x0000000000200000L});
public static final BitSet FOLLOW_ALL_in_synpred37_Selector1330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred37_Selector1333 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200001L});
public static final BitSet FOLLOW_queryTerm_in_synpred37_Selector1339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred37_Selector1341 = new BitSet(new long[]{0x2000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_orderByClause_in_synpred37_Selector1347 = new BitSet(new long[]{0x0000000020000002L,0x0000000000000004L});
public static final BitSet FOLLOW_limitClause_in_synpred37_Selector1354 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_decorateByClause_in_synpred37_Selector1361 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_synpred58_Selector1747 = new BitSet(new long[]{0x0000000000000802L,0x0000000000000080L});
public static final BitSet FOLLOW_AS_in_synpred58_Selector1750 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_Identifier_in_synpred58_Selector1757 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_synpred59_Selector1771 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_89_in_synpred59_Selector1772 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_qualifiedJoin_in_synpred62_Selector1864 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred63_Selector1871 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_qualifiedJoin_in_synpred63_Selector1877 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred63_Selector1880 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred76_Selector2233 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200080L});
public static final BitSet FOLLOW_qualifiedJoin_in_synpred76_Selector2239 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred76_Selector2241 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_predicate_in_synpred80_Selector2402 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_synpred81_Selector2409 = new BitSet(new long[]{0x0600001400000000L,0x00000400002003C8L});
public static final BitSet FOLLOW_searchCondition_in_synpred81_Selector2415 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred81_Selector2418 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_comparisonPredicate_in_synpred82_Selector2448 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_betweenPredicate_in_synpred83_Selector2459 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inPredicate_in_synpred84_Selector2470 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_likePredicate_in_synpred85_Selector2481 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_nullPredicate_in_synpred86_Selector2492 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_queryExpression_in_synpred95_Selector2655 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_synpred120_Selector3131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_synpred120_Selector3133 = new BitSet(new long[]{0x0400001000000000L,0x00000400006003C9L});
public static final BitSet FOLLOW_expressionList_in_synpred120_Selector3134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_synpred120_Selector3136 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy