// $ANTLR 3.4 org/alfresco/rest/antlr/WhereClause.g 2013-05-24 09:01:14 package org.alfresco.rest.antlr; import org.alfresco.rest.framework.resource.parameters.where.InvalidQueryException; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import org.antlr.runtime.tree.*; @SuppressWarnings({"all", "warnings", "unchecked"}) public class WhereClauseParser extends Parser { public static final String[] tokenNames = new String[] { "", "", "", "", "AND", "BETWEEN", "COMMA", "EQUALS", "EXISTS", "GREATERTHAN", "GREATERTHANOREQUALS", "IDENTIFIER", "IDENTIFIERDIGIT", "IDENTIFIERLETTER", "IN", "LEFTPAREN", "LESSTHAN", "LESSTHANOREQUALS", "MATCHES", "NEGATION", "OR", "PROPERTYNAME", "PROPERTYVALUE", "RIGHTPAREN", "SINGLEQUOTE", "WS" }; public static final int EOF=-1; public static final int AND=4; public static final int BETWEEN=5; public static final int COMMA=6; public static final int EQUALS=7; public static final int EXISTS=8; public static final int GREATERTHAN=9; public static final int GREATERTHANOREQUALS=10; public static final int IDENTIFIER=11; public static final int IDENTIFIERDIGIT=12; public static final int IDENTIFIERLETTER=13; public static final int IN=14; public static final int LEFTPAREN=15; public static final int LESSTHAN=16; public static final int LESSTHANOREQUALS=17; public static final int MATCHES=18; public static final int NEGATION=19; public static final int OR=20; public static final int PROPERTYNAME=21; public static final int PROPERTYVALUE=22; public static final int RIGHTPAREN=23; public static final int SINGLEQUOTE=24; public static final int WS=25; // delegates public Parser[] getDelegates() { return new Parser[] {}; } // delegators public WhereClauseParser(TokenStream input) { this(input, new RecognizerSharedState()); } public WhereClauseParser(TokenStream input, RecognizerSharedState state) { super(input, state); } protected TreeAdaptor adaptor = new CommonTreeAdaptor(); public void setTreeAdaptor(TreeAdaptor adaptor) { this.adaptor = adaptor; } public TreeAdaptor getTreeAdaptor() { return adaptor; } public String[] getTokenNames() { return WhereClauseParser.tokenNames; } public String getGrammarFileName() { return "org/alfresco/rest/antlr/WhereClause.g"; } // These methods are here to force the parser to error instead of suppressing problems. // @Override // public void reportError(RecognitionException e) { // System.out.println("CUSTOM ERROR...\n" + e); // throw new InvalidQueryException(e.getMessage()); // } @Override protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException { throw new MismatchedTokenException(ttype, input); } @Override public Object recoverFromMismatchedSet(IntStream input, RecognitionException e, BitSet follow) throws RecognitionException { throw e; } // // @Override // public String getErrorMessage(RecognitionException e, String[] tokenNames) // { // System.out.println("THROW ME...\n" + e); // throw new InvalidQueryException(e.getMessage()); // } // End of methods here to force the parser to error instead of supressing problems. public static class whereclause_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "whereclause" // org/alfresco/rest/antlr/WhereClause.g:125:1: whereclause : ( WS )? LEFTPAREN ! ( WS )? predicate RIGHTPAREN ! ( WS )? ; public final WhereClauseParser.whereclause_return whereclause() throws RecognitionException { WhereClauseParser.whereclause_return retval = new WhereClauseParser.whereclause_return(); retval.start = input.LT(1); Object root_0 = null; Token WS1=null; Token LEFTPAREN2=null; Token WS3=null; Token RIGHTPAREN5=null; Token WS6=null; WhereClauseParser.predicate_return predicate4 =null; Object WS1_tree=null; Object LEFTPAREN2_tree=null; Object WS3_tree=null; Object RIGHTPAREN5_tree=null; Object WS6_tree=null; try { // org/alfresco/rest/antlr/WhereClause.g:125:13: ( ( WS )? LEFTPAREN ! ( WS )? predicate RIGHTPAREN ! ( WS )? ) // org/alfresco/rest/antlr/WhereClause.g:125:15: ( WS )? LEFTPAREN ! ( WS )? predicate RIGHTPAREN ! ( WS )? { root_0 = (Object)adaptor.nil(); // org/alfresco/rest/antlr/WhereClause.g:125:15: ( WS )? int alt1=2; switch ( input.LA(1) ) { case WS: { alt1=1; } break; } switch (alt1) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:125:15: WS { WS1=(Token)match(input,WS,FOLLOW_WS_in_whereclause750); WS1_tree = (Object)adaptor.create(WS1) ; adaptor.addChild(root_0, WS1_tree); } break; } LEFTPAREN2=(Token)match(input,LEFTPAREN,FOLLOW_LEFTPAREN_in_whereclause753); // org/alfresco/rest/antlr/WhereClause.g:125:30: ( WS )? int alt2=2; switch ( input.LA(1) ) { case WS: { alt2=1; } break; } switch (alt2) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:125:30: WS { WS3=(Token)match(input,WS,FOLLOW_WS_in_whereclause756); WS3_tree = (Object)adaptor.create(WS3) ; adaptor.addChild(root_0, WS3_tree); } break; } pushFollow(FOLLOW_predicate_in_whereclause759); predicate4=predicate(); state._fsp--; adaptor.addChild(root_0, predicate4.getTree()); RIGHTPAREN5=(Token)match(input,RIGHTPAREN,FOLLOW_RIGHTPAREN_in_whereclause761); // org/alfresco/rest/antlr/WhereClause.g:125:56: ( WS )? int alt3=2; switch ( input.LA(1) ) { case WS: { alt3=1; } break; } switch (alt3) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:125:56: WS { WS6=(Token)match(input,WS,FOLLOW_WS_in_whereclause764); WS6_tree = (Object)adaptor.create(WS6) ; adaptor.addChild(root_0, WS6_tree); } break; } } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "whereclause" public static class predicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "predicate" // org/alfresco/rest/antlr/WhereClause.g:126:1: predicate : ( simplepredicate | simplepredicate ( AND simplepredicate )+ -> ^( AND ( simplepredicate )+ ) | simplepredicate ( OR simplepredicate )+ -> ^( OR ( simplepredicate )+ ) ); public final WhereClauseParser.predicate_return predicate() throws RecognitionException { WhereClauseParser.predicate_return retval = new WhereClauseParser.predicate_return(); retval.start = input.LT(1); Object root_0 = null; Token AND9=null; Token OR12=null; WhereClauseParser.simplepredicate_return simplepredicate7 =null; WhereClauseParser.simplepredicate_return simplepredicate8 =null; WhereClauseParser.simplepredicate_return simplepredicate10 =null; WhereClauseParser.simplepredicate_return simplepredicate11 =null; WhereClauseParser.simplepredicate_return simplepredicate13 =null; Object AND9_tree=null; Object OR12_tree=null; RewriteRuleTokenStream stream_AND=new RewriteRuleTokenStream(adaptor,"token AND"); RewriteRuleTokenStream stream_OR=new RewriteRuleTokenStream(adaptor,"token OR"); RewriteRuleSubtreeStream stream_simplepredicate=new RewriteRuleSubtreeStream(adaptor,"rule simplepredicate"); try { // org/alfresco/rest/antlr/WhereClause.g:126:11: ( simplepredicate | simplepredicate ( AND simplepredicate )+ -> ^( AND ( simplepredicate )+ ) | simplepredicate ( OR simplepredicate )+ -> ^( OR ( simplepredicate )+ ) ) int alt6=3; alt6 = dfa6.predict(input); switch (alt6) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:126:13: simplepredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_simplepredicate_in_predicate772); simplepredicate7=simplepredicate(); state._fsp--; adaptor.addChild(root_0, simplepredicate7.getTree()); } break; case 2 : // org/alfresco/rest/antlr/WhereClause.g:127:13: simplepredicate ( AND simplepredicate )+ { pushFollow(FOLLOW_simplepredicate_in_predicate786); simplepredicate8=simplepredicate(); state._fsp--; stream_simplepredicate.add(simplepredicate8.getTree()); // org/alfresco/rest/antlr/WhereClause.g:127:29: ( AND simplepredicate )+ int cnt4=0; loop4: do { int alt4=2; switch ( input.LA(1) ) { case AND: { alt4=1; } break; } switch (alt4) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:127:30: AND simplepredicate { AND9=(Token)match(input,AND,FOLLOW_AND_in_predicate789); stream_AND.add(AND9); pushFollow(FOLLOW_simplepredicate_in_predicate791); simplepredicate10=simplepredicate(); state._fsp--; stream_simplepredicate.add(simplepredicate10.getTree()); } break; default : if ( cnt4 >= 1 ) break loop4; EarlyExitException eee = new EarlyExitException(4, input); throw eee; } cnt4++; } while (true); // AST REWRITE // elements: simplepredicate, AND // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 127:52: -> ^( AND ( simplepredicate )+ ) { // org/alfresco/rest/antlr/WhereClause.g:127:55: ^( AND ( simplepredicate )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_AND.nextNode() , root_1); if ( !(stream_simplepredicate.hasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_simplepredicate.hasNext() ) { adaptor.addChild(root_1, stream_simplepredicate.nextTree()); } stream_simplepredicate.reset(); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } break; case 3 : // org/alfresco/rest/antlr/WhereClause.g:128:13: simplepredicate ( OR simplepredicate )+ { pushFollow(FOLLOW_simplepredicate_in_predicate816); simplepredicate11=simplepredicate(); state._fsp--; stream_simplepredicate.add(simplepredicate11.getTree()); // org/alfresco/rest/antlr/WhereClause.g:128:29: ( OR simplepredicate )+ int cnt5=0; loop5: do { int alt5=2; switch ( input.LA(1) ) { case OR: { alt5=1; } break; } switch (alt5) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:128:30: OR simplepredicate { OR12=(Token)match(input,OR,FOLLOW_OR_in_predicate819); stream_OR.add(OR12); pushFollow(FOLLOW_simplepredicate_in_predicate821); simplepredicate13=simplepredicate(); state._fsp--; stream_simplepredicate.add(simplepredicate13.getTree()); } break; default : if ( cnt5 >= 1 ) break loop5; EarlyExitException eee = new EarlyExitException(5, input); throw eee; } cnt5++; } while (true); // AST REWRITE // elements: OR, simplepredicate // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 128:51: -> ^( OR ( simplepredicate )+ ) { // org/alfresco/rest/antlr/WhereClause.g:128:54: ^( OR ( simplepredicate )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_OR.nextNode() , root_1); if ( !(stream_simplepredicate.hasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_simplepredicate.hasNext() ) { adaptor.addChild(root_1, stream_simplepredicate.nextTree()); } stream_simplepredicate.reset(); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } break; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "predicate" public static class simplepredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "simplepredicate" // org/alfresco/rest/antlr/WhereClause.g:129:1: simplepredicate : ( allowedpredicates -> allowedpredicates | NEGATION allowedpredicates -> ^( NEGATION allowedpredicates ) ); public final WhereClauseParser.simplepredicate_return simplepredicate() throws RecognitionException { WhereClauseParser.simplepredicate_return retval = new WhereClauseParser.simplepredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token NEGATION15=null; WhereClauseParser.allowedpredicates_return allowedpredicates14 =null; WhereClauseParser.allowedpredicates_return allowedpredicates16 =null; Object NEGATION15_tree=null; RewriteRuleTokenStream stream_NEGATION=new RewriteRuleTokenStream(adaptor,"token NEGATION"); RewriteRuleSubtreeStream stream_allowedpredicates=new RewriteRuleSubtreeStream(adaptor,"rule allowedpredicates"); try { // org/alfresco/rest/antlr/WhereClause.g:129:17: ( allowedpredicates -> allowedpredicates | NEGATION allowedpredicates -> ^( NEGATION allowedpredicates ) ) int alt7=2; switch ( input.LA(1) ) { case EXISTS: case PROPERTYNAME: { alt7=1; } break; case NEGATION: { alt7=2; } break; default: NoViableAltException nvae = new NoViableAltException("", 7, 0, input); throw nvae; } switch (alt7) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:129:19: allowedpredicates { pushFollow(FOLLOW_allowedpredicates_in_simplepredicate839); allowedpredicates14=allowedpredicates(); state._fsp--; stream_allowedpredicates.add(allowedpredicates14.getTree()); // AST REWRITE // elements: allowedpredicates // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 129:37: -> allowedpredicates { adaptor.addChild(root_0, stream_allowedpredicates.nextTree()); } retval.tree = root_0; } break; case 2 : // org/alfresco/rest/antlr/WhereClause.g:130:19: NEGATION allowedpredicates { NEGATION15=(Token)match(input,NEGATION,FOLLOW_NEGATION_in_simplepredicate863); stream_NEGATION.add(NEGATION15); pushFollow(FOLLOW_allowedpredicates_in_simplepredicate865); allowedpredicates16=allowedpredicates(); state._fsp--; stream_allowedpredicates.add(allowedpredicates16.getTree()); // AST REWRITE // elements: NEGATION, allowedpredicates // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 130:46: -> ^( NEGATION allowedpredicates ) { // org/alfresco/rest/antlr/WhereClause.g:130:49: ^( NEGATION allowedpredicates ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_NEGATION.nextNode() , root_1); adaptor.addChild(root_1, stream_allowedpredicates.nextTree()); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } break; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "simplepredicate" public static class allowedpredicates_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "allowedpredicates" // org/alfresco/rest/antlr/WhereClause.g:131:1: allowedpredicates : ( comparisonpredicate | existspredicate | betweenpredicate | inpredicate | matchespredicate ); public final WhereClauseParser.allowedpredicates_return allowedpredicates() throws RecognitionException { WhereClauseParser.allowedpredicates_return retval = new WhereClauseParser.allowedpredicates_return(); retval.start = input.LT(1); Object root_0 = null; WhereClauseParser.comparisonpredicate_return comparisonpredicate17 =null; WhereClauseParser.existspredicate_return existspredicate18 =null; WhereClauseParser.betweenpredicate_return betweenpredicate19 =null; WhereClauseParser.inpredicate_return inpredicate20 =null; WhereClauseParser.matchespredicate_return matchespredicate21 =null; try { // org/alfresco/rest/antlr/WhereClause.g:131:19: ( comparisonpredicate | existspredicate | betweenpredicate | inpredicate | matchespredicate ) int alt8=5; switch ( input.LA(1) ) { case PROPERTYNAME: { switch ( input.LA(2) ) { case BETWEEN: { alt8=3; } break; case IN: { alt8=4; } break; case MATCHES: { alt8=5; } break; case EQUALS: case GREATERTHAN: case GREATERTHANOREQUALS: case LESSTHAN: case LESSTHANOREQUALS: { alt8=1; } break; default: NoViableAltException nvae = new NoViableAltException("", 8, 1, input); throw nvae; } } break; case EXISTS: { alt8=2; } break; default: NoViableAltException nvae = new NoViableAltException("", 8, 0, input); throw nvae; } switch (alt8) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:131:21: comparisonpredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_comparisonpredicate_in_allowedpredicates880); comparisonpredicate17=comparisonpredicate(); state._fsp--; adaptor.addChild(root_0, comparisonpredicate17.getTree()); } break; case 2 : // org/alfresco/rest/antlr/WhereClause.g:131:43: existspredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_existspredicate_in_allowedpredicates884); existspredicate18=existspredicate(); state._fsp--; adaptor.addChild(root_0, existspredicate18.getTree()); } break; case 3 : // org/alfresco/rest/antlr/WhereClause.g:131:61: betweenpredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_betweenpredicate_in_allowedpredicates888); betweenpredicate19=betweenpredicate(); state._fsp--; adaptor.addChild(root_0, betweenpredicate19.getTree()); } break; case 4 : // org/alfresco/rest/antlr/WhereClause.g:131:80: inpredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_inpredicate_in_allowedpredicates892); inpredicate20=inpredicate(); state._fsp--; adaptor.addChild(root_0, inpredicate20.getTree()); } break; case 5 : // org/alfresco/rest/antlr/WhereClause.g:131:94: matchespredicate { root_0 = (Object)adaptor.nil(); pushFollow(FOLLOW_matchespredicate_in_allowedpredicates896); matchespredicate21=matchespredicate(); state._fsp--; adaptor.addChild(root_0, matchespredicate21.getTree()); } break; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "allowedpredicates" public static class comparisonpredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "comparisonpredicate" // org/alfresco/rest/antlr/WhereClause.g:132:1: comparisonpredicate : PROPERTYNAME comparisonoperator value -> ^( comparisonoperator PROPERTYNAME value ) ; public final WhereClauseParser.comparisonpredicate_return comparisonpredicate() throws RecognitionException { WhereClauseParser.comparisonpredicate_return retval = new WhereClauseParser.comparisonpredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token PROPERTYNAME22=null; WhereClauseParser.comparisonoperator_return comparisonoperator23 =null; WhereClauseParser.value_return value24 =null; Object PROPERTYNAME22_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleSubtreeStream stream_comparisonoperator=new RewriteRuleSubtreeStream(adaptor,"rule comparisonoperator"); RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value"); try { // org/alfresco/rest/antlr/WhereClause.g:132:20: ( PROPERTYNAME comparisonoperator value -> ^( comparisonoperator PROPERTYNAME value ) ) // org/alfresco/rest/antlr/WhereClause.g:132:22: PROPERTYNAME comparisonoperator value { PROPERTYNAME22=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_comparisonpredicate902); stream_PROPERTYNAME.add(PROPERTYNAME22); pushFollow(FOLLOW_comparisonoperator_in_comparisonpredicate904); comparisonoperator23=comparisonoperator(); state._fsp--; stream_comparisonoperator.add(comparisonoperator23.getTree()); pushFollow(FOLLOW_value_in_comparisonpredicate906); value24=value(); state._fsp--; stream_value.add(value24.getTree()); // AST REWRITE // elements: value, PROPERTYNAME, comparisonoperator // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 132:60: -> ^( comparisonoperator PROPERTYNAME value ) { // org/alfresco/rest/antlr/WhereClause.g:132:63: ^( comparisonoperator PROPERTYNAME value ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot(stream_comparisonoperator.nextNode(), root_1); adaptor.addChild(root_1, stream_PROPERTYNAME.nextNode() ); adaptor.addChild(root_1, stream_value.nextTree()); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "comparisonpredicate" public static class comparisonoperator_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "comparisonoperator" // org/alfresco/rest/antlr/WhereClause.g:133:1: comparisonoperator : ( EQUALS | LESSTHAN | GREATERTHAN | LESSTHANOREQUALS | GREATERTHANOREQUALS ); public final WhereClauseParser.comparisonoperator_return comparisonoperator() throws RecognitionException { WhereClauseParser.comparisonoperator_return retval = new WhereClauseParser.comparisonoperator_return(); retval.start = input.LT(1); Object root_0 = null; Token set25=null; Object set25_tree=null; try { // org/alfresco/rest/antlr/WhereClause.g:133:19: ( EQUALS | LESSTHAN | GREATERTHAN | LESSTHANOREQUALS | GREATERTHANOREQUALS ) // org/alfresco/rest/antlr/WhereClause.g: { root_0 = (Object)adaptor.nil(); set25=(Token)input.LT(1); if ( input.LA(1)==EQUALS||(input.LA(1) >= GREATERTHAN && input.LA(1) <= GREATERTHANOREQUALS)||(input.LA(1) >= LESSTHAN && input.LA(1) <= LESSTHANOREQUALS) ) { input.consume(); adaptor.addChild(root_0, (Object)adaptor.create(set25) ); state.errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "comparisonoperator" public static class existspredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "existspredicate" // org/alfresco/rest/antlr/WhereClause.g:134:1: existspredicate : EXISTS LEFTPAREN ( WS )? PROPERTYNAME RIGHTPAREN -> ^( EXISTS PROPERTYNAME ) ; public final WhereClauseParser.existspredicate_return existspredicate() throws RecognitionException { WhereClauseParser.existspredicate_return retval = new WhereClauseParser.existspredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token EXISTS26=null; Token LEFTPAREN27=null; Token WS28=null; Token PROPERTYNAME29=null; Token RIGHTPAREN30=null; Object EXISTS26_tree=null; Object LEFTPAREN27_tree=null; Object WS28_tree=null; Object PROPERTYNAME29_tree=null; Object RIGHTPAREN30_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_LEFTPAREN=new RewriteRuleTokenStream(adaptor,"token LEFTPAREN"); RewriteRuleTokenStream stream_WS=new RewriteRuleTokenStream(adaptor,"token WS"); RewriteRuleTokenStream stream_EXISTS=new RewriteRuleTokenStream(adaptor,"token EXISTS"); RewriteRuleTokenStream stream_RIGHTPAREN=new RewriteRuleTokenStream(adaptor,"token RIGHTPAREN"); try { // org/alfresco/rest/antlr/WhereClause.g:134:16: ( EXISTS LEFTPAREN ( WS )? PROPERTYNAME RIGHTPAREN -> ^( EXISTS PROPERTYNAME ) ) // org/alfresco/rest/antlr/WhereClause.g:134:18: EXISTS LEFTPAREN ( WS )? PROPERTYNAME RIGHTPAREN { EXISTS26=(Token)match(input,EXISTS,FOLLOW_EXISTS_in_existspredicate936); stream_EXISTS.add(EXISTS26); LEFTPAREN27=(Token)match(input,LEFTPAREN,FOLLOW_LEFTPAREN_in_existspredicate938); stream_LEFTPAREN.add(LEFTPAREN27); // org/alfresco/rest/antlr/WhereClause.g:134:35: ( WS )? int alt9=2; switch ( input.LA(1) ) { case WS: { alt9=1; } break; } switch (alt9) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:134:35: WS { WS28=(Token)match(input,WS,FOLLOW_WS_in_existspredicate940); stream_WS.add(WS28); } break; } PROPERTYNAME29=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_existspredicate943); stream_PROPERTYNAME.add(PROPERTYNAME29); RIGHTPAREN30=(Token)match(input,RIGHTPAREN,FOLLOW_RIGHTPAREN_in_existspredicate945); stream_RIGHTPAREN.add(RIGHTPAREN30); // AST REWRITE // elements: EXISTS, PROPERTYNAME // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 134:63: -> ^( EXISTS PROPERTYNAME ) { // org/alfresco/rest/antlr/WhereClause.g:134:66: ^( EXISTS PROPERTYNAME ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_EXISTS.nextNode() , root_1); adaptor.addChild(root_1, stream_PROPERTYNAME.nextNode() ); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "existspredicate" public static class betweenpredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "betweenpredicate" // org/alfresco/rest/antlr/WhereClause.g:135:1: betweenpredicate : PROPERTYNAME BETWEEN LEFTPAREN ( WS )? propertyvaluepair RIGHTPAREN -> ^( BETWEEN PROPERTYNAME propertyvaluepair ) ; public final WhereClauseParser.betweenpredicate_return betweenpredicate() throws RecognitionException { WhereClauseParser.betweenpredicate_return retval = new WhereClauseParser.betweenpredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token PROPERTYNAME31=null; Token BETWEEN32=null; Token LEFTPAREN33=null; Token WS34=null; Token RIGHTPAREN36=null; WhereClauseParser.propertyvaluepair_return propertyvaluepair35 =null; Object PROPERTYNAME31_tree=null; Object BETWEEN32_tree=null; Object LEFTPAREN33_tree=null; Object WS34_tree=null; Object RIGHTPAREN36_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_LEFTPAREN=new RewriteRuleTokenStream(adaptor,"token LEFTPAREN"); RewriteRuleTokenStream stream_WS=new RewriteRuleTokenStream(adaptor,"token WS"); RewriteRuleTokenStream stream_RIGHTPAREN=new RewriteRuleTokenStream(adaptor,"token RIGHTPAREN"); RewriteRuleTokenStream stream_BETWEEN=new RewriteRuleTokenStream(adaptor,"token BETWEEN"); RewriteRuleSubtreeStream stream_propertyvaluepair=new RewriteRuleSubtreeStream(adaptor,"rule propertyvaluepair"); try { // org/alfresco/rest/antlr/WhereClause.g:135:17: ( PROPERTYNAME BETWEEN LEFTPAREN ( WS )? propertyvaluepair RIGHTPAREN -> ^( BETWEEN PROPERTYNAME propertyvaluepair ) ) // org/alfresco/rest/antlr/WhereClause.g:135:19: PROPERTYNAME BETWEEN LEFTPAREN ( WS )? propertyvaluepair RIGHTPAREN { PROPERTYNAME31=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_betweenpredicate959); stream_PROPERTYNAME.add(PROPERTYNAME31); BETWEEN32=(Token)match(input,BETWEEN,FOLLOW_BETWEEN_in_betweenpredicate961); stream_BETWEEN.add(BETWEEN32); LEFTPAREN33=(Token)match(input,LEFTPAREN,FOLLOW_LEFTPAREN_in_betweenpredicate963); stream_LEFTPAREN.add(LEFTPAREN33); // org/alfresco/rest/antlr/WhereClause.g:135:50: ( WS )? int alt10=2; switch ( input.LA(1) ) { case WS: { alt10=1; } break; } switch (alt10) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:135:50: WS { WS34=(Token)match(input,WS,FOLLOW_WS_in_betweenpredicate965); stream_WS.add(WS34); } break; } pushFollow(FOLLOW_propertyvaluepair_in_betweenpredicate968); propertyvaluepair35=propertyvaluepair(); state._fsp--; stream_propertyvaluepair.add(propertyvaluepair35.getTree()); RIGHTPAREN36=(Token)match(input,RIGHTPAREN,FOLLOW_RIGHTPAREN_in_betweenpredicate970); stream_RIGHTPAREN.add(RIGHTPAREN36); // AST REWRITE // elements: propertyvaluepair, PROPERTYNAME, BETWEEN // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 135:83: -> ^( BETWEEN PROPERTYNAME propertyvaluepair ) { // org/alfresco/rest/antlr/WhereClause.g:135:86: ^( BETWEEN PROPERTYNAME propertyvaluepair ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_BETWEEN.nextNode() , root_1); adaptor.addChild(root_1, stream_PROPERTYNAME.nextNode() ); adaptor.addChild(root_1, stream_propertyvaluepair.nextTree()); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "betweenpredicate" public static class inpredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "inpredicate" // org/alfresco/rest/antlr/WhereClause.g:136:1: inpredicate : PROPERTYNAME IN LEFTPAREN ( WS )? propertyvaluelist RIGHTPAREN -> ^( IN PROPERTYNAME propertyvaluelist ) ; public final WhereClauseParser.inpredicate_return inpredicate() throws RecognitionException { WhereClauseParser.inpredicate_return retval = new WhereClauseParser.inpredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token PROPERTYNAME37=null; Token IN38=null; Token LEFTPAREN39=null; Token WS40=null; Token RIGHTPAREN42=null; WhereClauseParser.propertyvaluelist_return propertyvaluelist41 =null; Object PROPERTYNAME37_tree=null; Object IN38_tree=null; Object LEFTPAREN39_tree=null; Object WS40_tree=null; Object RIGHTPAREN42_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_LEFTPAREN=new RewriteRuleTokenStream(adaptor,"token LEFTPAREN"); RewriteRuleTokenStream stream_WS=new RewriteRuleTokenStream(adaptor,"token WS"); RewriteRuleTokenStream stream_IN=new RewriteRuleTokenStream(adaptor,"token IN"); RewriteRuleTokenStream stream_RIGHTPAREN=new RewriteRuleTokenStream(adaptor,"token RIGHTPAREN"); RewriteRuleSubtreeStream stream_propertyvaluelist=new RewriteRuleSubtreeStream(adaptor,"rule propertyvaluelist"); try { // org/alfresco/rest/antlr/WhereClause.g:136:12: ( PROPERTYNAME IN LEFTPAREN ( WS )? propertyvaluelist RIGHTPAREN -> ^( IN PROPERTYNAME propertyvaluelist ) ) // org/alfresco/rest/antlr/WhereClause.g:136:14: PROPERTYNAME IN LEFTPAREN ( WS )? propertyvaluelist RIGHTPAREN { PROPERTYNAME37=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_inpredicate986); stream_PROPERTYNAME.add(PROPERTYNAME37); IN38=(Token)match(input,IN,FOLLOW_IN_in_inpredicate988); stream_IN.add(IN38); LEFTPAREN39=(Token)match(input,LEFTPAREN,FOLLOW_LEFTPAREN_in_inpredicate990); stream_LEFTPAREN.add(LEFTPAREN39); // org/alfresco/rest/antlr/WhereClause.g:136:40: ( WS )? int alt11=2; switch ( input.LA(1) ) { case WS: { alt11=1; } break; } switch (alt11) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:136:40: WS { WS40=(Token)match(input,WS,FOLLOW_WS_in_inpredicate992); stream_WS.add(WS40); } break; } pushFollow(FOLLOW_propertyvaluelist_in_inpredicate995); propertyvaluelist41=propertyvaluelist(); state._fsp--; stream_propertyvaluelist.add(propertyvaluelist41.getTree()); RIGHTPAREN42=(Token)match(input,RIGHTPAREN,FOLLOW_RIGHTPAREN_in_inpredicate997); stream_RIGHTPAREN.add(RIGHTPAREN42); // AST REWRITE // elements: propertyvaluelist, IN, PROPERTYNAME // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 136:73: -> ^( IN PROPERTYNAME propertyvaluelist ) { // org/alfresco/rest/antlr/WhereClause.g:136:76: ^( IN PROPERTYNAME propertyvaluelist ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_IN.nextNode() , root_1); adaptor.addChild(root_1, stream_PROPERTYNAME.nextNode() ); adaptor.addChild(root_1, stream_propertyvaluelist.nextTree()); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "inpredicate" public static class matchespredicate_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "matchespredicate" // org/alfresco/rest/antlr/WhereClause.g:137:1: matchespredicate : PROPERTYNAME MATCHES LEFTPAREN ( WS )? value RIGHTPAREN -> ^( MATCHES PROPERTYNAME value ) ; public final WhereClauseParser.matchespredicate_return matchespredicate() throws RecognitionException { WhereClauseParser.matchespredicate_return retval = new WhereClauseParser.matchespredicate_return(); retval.start = input.LT(1); Object root_0 = null; Token PROPERTYNAME43=null; Token MATCHES44=null; Token LEFTPAREN45=null; Token WS46=null; Token RIGHTPAREN48=null; WhereClauseParser.value_return value47 =null; Object PROPERTYNAME43_tree=null; Object MATCHES44_tree=null; Object LEFTPAREN45_tree=null; Object WS46_tree=null; Object RIGHTPAREN48_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_LEFTPAREN=new RewriteRuleTokenStream(adaptor,"token LEFTPAREN"); RewriteRuleTokenStream stream_WS=new RewriteRuleTokenStream(adaptor,"token WS"); RewriteRuleTokenStream stream_MATCHES=new RewriteRuleTokenStream(adaptor,"token MATCHES"); RewriteRuleTokenStream stream_RIGHTPAREN=new RewriteRuleTokenStream(adaptor,"token RIGHTPAREN"); RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value"); try { // org/alfresco/rest/antlr/WhereClause.g:137:17: ( PROPERTYNAME MATCHES LEFTPAREN ( WS )? value RIGHTPAREN -> ^( MATCHES PROPERTYNAME value ) ) // org/alfresco/rest/antlr/WhereClause.g:137:19: PROPERTYNAME MATCHES LEFTPAREN ( WS )? value RIGHTPAREN { PROPERTYNAME43=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_matchespredicate1013); stream_PROPERTYNAME.add(PROPERTYNAME43); MATCHES44=(Token)match(input,MATCHES,FOLLOW_MATCHES_in_matchespredicate1015); stream_MATCHES.add(MATCHES44); LEFTPAREN45=(Token)match(input,LEFTPAREN,FOLLOW_LEFTPAREN_in_matchespredicate1017); stream_LEFTPAREN.add(LEFTPAREN45); // org/alfresco/rest/antlr/WhereClause.g:137:50: ( WS )? int alt12=2; switch ( input.LA(1) ) { case WS: { alt12=1; } break; } switch (alt12) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:137:50: WS { WS46=(Token)match(input,WS,FOLLOW_WS_in_matchespredicate1019); stream_WS.add(WS46); } break; } pushFollow(FOLLOW_value_in_matchespredicate1022); value47=value(); state._fsp--; stream_value.add(value47.getTree()); RIGHTPAREN48=(Token)match(input,RIGHTPAREN,FOLLOW_RIGHTPAREN_in_matchespredicate1024); stream_RIGHTPAREN.add(RIGHTPAREN48); // AST REWRITE // elements: PROPERTYNAME, MATCHES, value // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 137:71: -> ^( MATCHES PROPERTYNAME value ) { // org/alfresco/rest/antlr/WhereClause.g:137:74: ^( MATCHES PROPERTYNAME value ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( stream_MATCHES.nextNode() , root_1); adaptor.addChild(root_1, stream_PROPERTYNAME.nextNode() ); adaptor.addChild(root_1, stream_value.nextTree()); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "matchespredicate" public static class propertyvaluepair_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "propertyvaluepair" // org/alfresco/rest/antlr/WhereClause.g:138:1: propertyvaluepair : value COMMA value -> ( value )+ ; public final WhereClauseParser.propertyvaluepair_return propertyvaluepair() throws RecognitionException { WhereClauseParser.propertyvaluepair_return retval = new WhereClauseParser.propertyvaluepair_return(); retval.start = input.LT(1); Object root_0 = null; Token COMMA50=null; WhereClauseParser.value_return value49 =null; WhereClauseParser.value_return value51 =null; Object COMMA50_tree=null; RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value"); try { // org/alfresco/rest/antlr/WhereClause.g:138:18: ( value COMMA value -> ( value )+ ) // org/alfresco/rest/antlr/WhereClause.g:138:20: value COMMA value { pushFollow(FOLLOW_value_in_propertyvaluepair1040); value49=value(); state._fsp--; stream_value.add(value49.getTree()); COMMA50=(Token)match(input,COMMA,FOLLOW_COMMA_in_propertyvaluepair1042); stream_COMMA.add(COMMA50); pushFollow(FOLLOW_value_in_propertyvaluepair1044); value51=value(); state._fsp--; stream_value.add(value51.getTree()); // AST REWRITE // elements: value // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 138:38: -> ( value )+ { if ( !(stream_value.hasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_value.hasNext() ) { adaptor.addChild(root_0, stream_value.nextTree()); } stream_value.reset(); } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "propertyvaluepair" public static class propertyvaluelist_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "propertyvaluelist" // org/alfresco/rest/antlr/WhereClause.g:139:1: propertyvaluelist : value ( COMMA value )* -> ( value )+ ; public final WhereClauseParser.propertyvaluelist_return propertyvaluelist() throws RecognitionException { WhereClauseParser.propertyvaluelist_return retval = new WhereClauseParser.propertyvaluelist_return(); retval.start = input.LT(1); Object root_0 = null; Token COMMA53=null; WhereClauseParser.value_return value52 =null; WhereClauseParser.value_return value54 =null; Object COMMA53_tree=null; RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value"); try { // org/alfresco/rest/antlr/WhereClause.g:139:18: ( value ( COMMA value )* -> ( value )+ ) // org/alfresco/rest/antlr/WhereClause.g:139:20: value ( COMMA value )* { pushFollow(FOLLOW_value_in_propertyvaluelist1055); value52=value(); state._fsp--; stream_value.add(value52.getTree()); // org/alfresco/rest/antlr/WhereClause.g:139:26: ( COMMA value )* loop13: do { int alt13=2; switch ( input.LA(1) ) { case COMMA: { alt13=1; } break; } switch (alt13) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:139:27: COMMA value { COMMA53=(Token)match(input,COMMA,FOLLOW_COMMA_in_propertyvaluelist1058); stream_COMMA.add(COMMA53); pushFollow(FOLLOW_value_in_propertyvaluelist1060); value54=value(); state._fsp--; stream_value.add(value54.getTree()); } break; default : break loop13; } } while (true); // AST REWRITE // elements: value // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 139:41: -> ( value )+ { if ( !(stream_value.hasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_value.hasNext() ) { adaptor.addChild(root_0, stream_value.nextTree()); } stream_value.reset(); } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "propertyvaluelist" public static class value_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "value" // org/alfresco/rest/antlr/WhereClause.g:140:1: value : (a= PROPERTYVALUE -> ^( PROPERTYVALUE[$a] ) |b= PROPERTYNAME -> ^( PROPERTYVALUE[$b] ) ); public final WhereClauseParser.value_return value() throws RecognitionException { WhereClauseParser.value_return retval = new WhereClauseParser.value_return(); retval.start = input.LT(1); Object root_0 = null; Token a=null; Token b=null; Object a_tree=null; Object b_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_PROPERTYVALUE=new RewriteRuleTokenStream(adaptor,"token PROPERTYVALUE"); try { // org/alfresco/rest/antlr/WhereClause.g:140:6: (a= PROPERTYVALUE -> ^( PROPERTYVALUE[$a] ) |b= PROPERTYNAME -> ^( PROPERTYVALUE[$b] ) ) int alt14=2; switch ( input.LA(1) ) { case PROPERTYVALUE: { alt14=1; } break; case PROPERTYNAME: { alt14=2; } break; default: NoViableAltException nvae = new NoViableAltException("", 14, 0, input); throw nvae; } switch (alt14) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:140:8: a= PROPERTYVALUE { a=(Token)match(input,PROPERTYVALUE,FOLLOW_PROPERTYVALUE_in_value1075); stream_PROPERTYVALUE.add(a); // AST REWRITE // elements: PROPERTYVALUE // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 140:24: -> ^( PROPERTYVALUE[$a] ) { // org/alfresco/rest/antlr/WhereClause.g:140:27: ^( PROPERTYVALUE[$a] ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( (Object)adaptor.create(PROPERTYVALUE, a) , root_1); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } break; case 2 : // org/alfresco/rest/antlr/WhereClause.g:141:9: b= PROPERTYNAME { b=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_value1095); stream_PROPERTYNAME.add(b); // AST REWRITE // elements: // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 141:24: -> ^( PROPERTYVALUE[$b] ) { // org/alfresco/rest/antlr/WhereClause.g:141:27: ^( PROPERTYVALUE[$b] ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot( (Object)adaptor.create(PROPERTYVALUE, b) , root_1); adaptor.addChild(root_0, root_1); } } retval.tree = root_0; } break; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "value" public static class selectClause_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "selectClause" // org/alfresco/rest/antlr/WhereClause.g:142:1: selectClause : PROPERTYNAME ( COMMA PROPERTYNAME )* -> ( PROPERTYNAME )+ ; public final WhereClauseParser.selectClause_return selectClause() throws RecognitionException { WhereClauseParser.selectClause_return retval = new WhereClauseParser.selectClause_return(); retval.start = input.LT(1); Object root_0 = null; Token PROPERTYNAME55=null; Token COMMA56=null; Token PROPERTYNAME57=null; Object PROPERTYNAME55_tree=null; Object COMMA56_tree=null; Object PROPERTYNAME57_tree=null; RewriteRuleTokenStream stream_PROPERTYNAME=new RewriteRuleTokenStream(adaptor,"token PROPERTYNAME"); RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); try { // org/alfresco/rest/antlr/WhereClause.g:142:13: ( PROPERTYNAME ( COMMA PROPERTYNAME )* -> ( PROPERTYNAME )+ ) // org/alfresco/rest/antlr/WhereClause.g:142:16: PROPERTYNAME ( COMMA PROPERTYNAME )* { PROPERTYNAME55=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_selectClause1111); stream_PROPERTYNAME.add(PROPERTYNAME55); // org/alfresco/rest/antlr/WhereClause.g:142:29: ( COMMA PROPERTYNAME )* loop15: do { int alt15=2; switch ( input.LA(1) ) { case COMMA: { alt15=1; } break; } switch (alt15) { case 1 : // org/alfresco/rest/antlr/WhereClause.g:142:30: COMMA PROPERTYNAME { COMMA56=(Token)match(input,COMMA,FOLLOW_COMMA_in_selectClause1114); stream_COMMA.add(COMMA56); PROPERTYNAME57=(Token)match(input,PROPERTYNAME,FOLLOW_PROPERTYNAME_in_selectClause1116); stream_PROPERTYNAME.add(PROPERTYNAME57); } break; default : break loop15; } } while (true); // AST REWRITE // elements: PROPERTYNAME // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); // 142:51: -> ( PROPERTYNAME )+ { if ( !(stream_PROPERTYNAME.hasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_PROPERTYNAME.hasNext() ) { adaptor.addChild(root_0, stream_PROPERTYNAME.nextNode() ); } stream_PROPERTYNAME.reset(); } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (Object)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch(RecognitionException e) { throw e; } finally { // do for sure before leaving } return retval; } // $ANTLR end "selectClause" // Delegated rules protected DFA6 dfa6 = new DFA6(this); static final String DFA6_eotS = "\107\uffff"; static final String DFA6_eofS = "\107\uffff"; static final String DFA6_minS = "\1\10\1\5\1\17\1\10\3\17\2\25\1\5\1\17\3\25\2\4\1\25\1\27\3\17\3"+ "\25\2\6\1\25\2\6\1\25\2\27\3\uffff\1\4\3\25\2\4\1\25\1\27\2\25\2"+ "\4\1\25\2\6\1\25\2\6\1\25\2\27\1\4\2\27\2\6\2\25\3\4\2\27\2\6\1"+ "\4"; static final String DFA6_maxS = "\1\25\1\22\1\17\1\25\3\17\1\26\1\31\1\22\1\17\3\31\2\27\1\25\1\27"+ "\3\17\1\26\1\31\1\26\2\6\1\26\2\27\1\26\2\27\3\uffff\1\27\3\31\2"+ "\27\1\25\1\27\2\26\2\27\1\26\2\6\1\26\2\27\1\26\7\27\2\26\10\27"; static final String DFA6_acceptS = "\40\uffff\1\1\1\2\1\3\44\uffff"; static final String DFA6_specialS = "\107\uffff}>"; static final String[] DFA6_transitionS = { "\1\2\12\uffff\1\3\1\uffff\1\1", "\1\4\1\uffff\1\7\1\uffff\2\7\3\uffff\1\5\1\uffff\2\7\1\6", "\1\10", "\1\12\14\uffff\1\11", "\1\13", "\1\14", "\1\15", "\1\17\1\16", "\1\21\3\uffff\1\20", "\1\22\1\uffff\1\25\1\uffff\2\25\3\uffff\1\23\1\uffff\2\25\1"+ "\24", "\1\26", "\1\31\1\30\2\uffff\1\27", "\1\34\1\33\2\uffff\1\32", "\1\37\1\36\2\uffff\1\35", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\21", "\1\43", "\1\44", "\1\45", "\1\46", "\1\50\1\47", "\1\52\3\uffff\1\51", "\1\31\1\30", "\1\53", "\1\53", "\1\34\1\33", "\1\54\20\uffff\1\55", "\1\54\20\uffff\1\55", "\1\37\1\36", "\1\56", "\1\56", "", "", "", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\61\1\60\2\uffff\1\57", "\1\64\1\63\2\uffff\1\62", "\1\67\1\66\2\uffff\1\65", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\52", "\1\70", "\1\72\1\71", "\1\74\1\73", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\61\1\60", "\1\75", "\1\75", "\1\64\1\63", "\1\76\20\uffff\1\77", "\1\76\20\uffff\1\77", "\1\67\1\66", "\1\100", "\1\100", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\101", "\1\101", "\1\54\20\uffff\1\55", "\1\54\20\uffff\1\55", "\1\103\1\102", "\1\105\1\104", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\41\17\uffff\1\42\2\uffff\1\40", "\1\106", "\1\106", "\1\76\20\uffff\1\77", "\1\76\20\uffff\1\77", "\1\41\17\uffff\1\42\2\uffff\1\40" }; static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS); static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS); static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS); static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS); static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS); static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS); static final short[][] DFA6_transition; static { int numStates = DFA6_transitionS.length; DFA6_transition = new short[numStates][]; for (int i=0; i ^( AND ( simplepredicate )+ ) | simplepredicate ( OR simplepredicate )+ -> ^( OR ( simplepredicate )+ ) );"; } } public static final BitSet FOLLOW_WS_in_whereclause750 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_LEFTPAREN_in_whereclause753 = new BitSet(new long[]{0x0000000002280100L}); public static final BitSet FOLLOW_WS_in_whereclause756 = new BitSet(new long[]{0x0000000000280100L}); public static final BitSet FOLLOW_predicate_in_whereclause759 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_RIGHTPAREN_in_whereclause761 = new BitSet(new long[]{0x0000000002000002L}); public static final BitSet FOLLOW_WS_in_whereclause764 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_simplepredicate_in_predicate772 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_simplepredicate_in_predicate786 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_AND_in_predicate789 = new BitSet(new long[]{0x0000000000280100L}); public static final BitSet FOLLOW_simplepredicate_in_predicate791 = new BitSet(new long[]{0x0000000000000012L}); public static final BitSet FOLLOW_simplepredicate_in_predicate816 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_OR_in_predicate819 = new BitSet(new long[]{0x0000000000280100L}); public static final BitSet FOLLOW_simplepredicate_in_predicate821 = new BitSet(new long[]{0x0000000000100002L}); public static final BitSet FOLLOW_allowedpredicates_in_simplepredicate839 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEGATION_in_simplepredicate863 = new BitSet(new long[]{0x0000000000200100L}); public static final BitSet FOLLOW_allowedpredicates_in_simplepredicate865 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_comparisonpredicate_in_allowedpredicates880 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_existspredicate_in_allowedpredicates884 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_betweenpredicate_in_allowedpredicates888 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_inpredicate_in_allowedpredicates892 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_matchespredicate_in_allowedpredicates896 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_comparisonpredicate902 = new BitSet(new long[]{0x0000000000030680L}); public static final BitSet FOLLOW_comparisonoperator_in_comparisonpredicate904 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_value_in_comparisonpredicate906 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_EXISTS_in_existspredicate936 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_LEFTPAREN_in_existspredicate938 = new BitSet(new long[]{0x0000000002200000L}); public static final BitSet FOLLOW_WS_in_existspredicate940 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_PROPERTYNAME_in_existspredicate943 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_RIGHTPAREN_in_existspredicate945 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_betweenpredicate959 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_BETWEEN_in_betweenpredicate961 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_LEFTPAREN_in_betweenpredicate963 = new BitSet(new long[]{0x0000000002600000L}); public static final BitSet FOLLOW_WS_in_betweenpredicate965 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_propertyvaluepair_in_betweenpredicate968 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_RIGHTPAREN_in_betweenpredicate970 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_inpredicate986 = new BitSet(new long[]{0x0000000000004000L}); public static final BitSet FOLLOW_IN_in_inpredicate988 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_LEFTPAREN_in_inpredicate990 = new BitSet(new long[]{0x0000000002600000L}); public static final BitSet FOLLOW_WS_in_inpredicate992 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_propertyvaluelist_in_inpredicate995 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_RIGHTPAREN_in_inpredicate997 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_matchespredicate1013 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_MATCHES_in_matchespredicate1015 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_LEFTPAREN_in_matchespredicate1017 = new BitSet(new long[]{0x0000000002600000L}); public static final BitSet FOLLOW_WS_in_matchespredicate1019 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_value_in_matchespredicate1022 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_RIGHTPAREN_in_matchespredicate1024 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_value_in_propertyvaluepair1040 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_COMMA_in_propertyvaluepair1042 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_value_in_propertyvaluepair1044 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_value_in_propertyvaluelist1055 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_COMMA_in_propertyvaluelist1058 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_value_in_propertyvaluelist1060 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_PROPERTYVALUE_in_value1075 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_value1095 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PROPERTYNAME_in_selectClause1111 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_COMMA_in_selectClause1114 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_PROPERTYNAME_in_selectClause1116 = new BitSet(new long[]{0x0000000000000042L}); }