// $ANTLR 3.2 Sep 23, 2009 12:02:23 /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g 2010-08-13 20:12:52 package arlut.csd.ganymede.server; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; import org.antlr.runtime.tree.*; public class QueryParser extends Parser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "SELECT", "OBJECT", "COMMA", "FROM", "EDITABLE", "WHERE", "AND", "OR", "LPAREN", "RPAREN", "NOT", "UNARY_OPERATOR", "BINARY_OPERATOR", "DEREF", "TOKEN", "STRING_VALUE", "INT_VALUE", "DECIMAL_VALUE", "BOOLEAN_VALUE", "BACKSLASH", "TOKEN_START_CHAR", "DIGIT", "ESC", "WS" }; public static final int WHERE=9; public static final int TOKEN_START_CHAR=24; public static final int ESC=26; public static final int DECIMAL_VALUE=21; public static final int DEREF=17; public static final int BINARY_OPERATOR=16; public static final int NOT=14; public static final int BOOLEAN_VALUE=22; public static final int AND=10; public static final int EOF=-1; public static final int LPAREN=12; public static final int TOKEN=18; public static final int RPAREN=13; public static final int INT_VALUE=20; public static final int EDITABLE=8; public static final int WS=27; public static final int OBJECT=5; public static final int COMMA=6; public static final int OR=11; public static final int DIGIT=25; public static final int FROM=7; public static final int UNARY_OPERATOR=15; public static final int SELECT=4; public static final int STRING_VALUE=19; public static final int BACKSLASH=23; // delegates // delegators public QueryParser(TokenStream input) { this(input, new RecognizerSharedState()); } public QueryParser(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 QueryParser.tokenNames; } public String getGrammarFileName() { return "/home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g"; } public static class query_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "query" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:61:1: query : select_clause from_clause ( where_clause )? EOF ; public final QueryParser.query_return query() throws RecognitionException { QueryParser.query_return retval = new QueryParser.query_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token EOF4=null; QueryParser.select_clause_return select_clause1 = null; QueryParser.from_clause_return from_clause2 = null; QueryParser.where_clause_return where_clause3 = null; CommonTree EOF4_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:61:7: ( select_clause from_clause ( where_clause )? EOF ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:62:8: select_clause from_clause ( where_clause )? EOF { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_select_clause_in_query52); select_clause1=select_clause(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, select_clause1.getTree()); pushFollow(FOLLOW_from_clause_in_query61); from_clause2=from_clause(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, from_clause2.getTree()); // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:64:8: ( where_clause )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==WHERE) ) { alt1=1; } switch (alt1) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:64:8: where_clause { pushFollow(FOLLOW_where_clause_in_query70); where_clause3=where_clause(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, where_clause3.getTree()); } break; } EOF4=(Token)match(input,EOF,FOLLOW_EOF_in_query80); if (state.failed) return retval; } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "query" public static class select_clause_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "select_clause" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:68:1: select_clause : SELECT ( ( OBJECT )? | ( token ( COMMA token )* ) ) ; public final QueryParser.select_clause_return select_clause() throws RecognitionException { QueryParser.select_clause_return retval = new QueryParser.select_clause_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token SELECT5=null; Token OBJECT6=null; Token COMMA8=null; QueryParser.token_return token7 = null; QueryParser.token_return token9 = null; CommonTree SELECT5_tree=null; CommonTree OBJECT6_tree=null; CommonTree COMMA8_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:68:14: ( SELECT ( ( OBJECT )? | ( token ( COMMA token )* ) ) ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:8: SELECT ( ( OBJECT )? | ( token ( COMMA token )* ) ) { root_0 = (CommonTree)adaptor.nil(); SELECT5=(Token)match(input,SELECT,FOLLOW_SELECT_in_select_clause103); if (state.failed) return retval; if ( state.backtracking==0 ) { SELECT5_tree = (CommonTree)adaptor.create(SELECT5); root_0 = (CommonTree)adaptor.becomeRoot(SELECT5_tree, root_0); } // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:16: ( ( OBJECT )? | ( token ( COMMA token )* ) ) int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==OBJECT||LA4_0==FROM) ) { alt4=1; } else if ( ((LA4_0>=TOKEN && LA4_0<=STRING_VALUE)) ) { alt4=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 4, 0, input); throw nvae; } switch (alt4) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:17: ( OBJECT )? { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:17: ( OBJECT )? int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==OBJECT) ) { alt2=1; } switch (alt2) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:17: OBJECT { OBJECT6=(Token)match(input,OBJECT,FOLLOW_OBJECT_in_select_clause107); if (state.failed) return retval; if ( state.backtracking==0 ) { OBJECT6_tree = (CommonTree)adaptor.create(OBJECT6); adaptor.addChild(root_0, OBJECT6_tree); } } break; } } break; case 2 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:27: ( token ( COMMA token )* ) { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:27: ( token ( COMMA token )* ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:28: token ( COMMA token )* { pushFollow(FOLLOW_token_in_select_clause113); token7=token(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, token7.getTree()); // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:34: ( COMMA token )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==COMMA) ) { alt3=1; } switch (alt3) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:69:35: COMMA token { COMMA8=(Token)match(input,COMMA,FOLLOW_COMMA_in_select_clause116); if (state.failed) return retval; pushFollow(FOLLOW_token_in_select_clause119); token9=token(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, token9.getTree()); } break; default : break loop3; } } while (true); } } break; } } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "select_clause" public static class from_clause_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "from_clause" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:72:1: from_clause : FROM ( EDITABLE )? token ; public final QueryParser.from_clause_return from_clause() throws RecognitionException { QueryParser.from_clause_return retval = new QueryParser.from_clause_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token FROM10=null; Token EDITABLE11=null; QueryParser.token_return token12 = null; CommonTree FROM10_tree=null; CommonTree EDITABLE11_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:72:12: ( FROM ( EDITABLE )? token ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:73:8: FROM ( EDITABLE )? token { root_0 = (CommonTree)adaptor.nil(); FROM10=(Token)match(input,FROM,FOLLOW_FROM_in_from_clause145); if (state.failed) return retval; if ( state.backtracking==0 ) { FROM10_tree = (CommonTree)adaptor.create(FROM10); root_0 = (CommonTree)adaptor.becomeRoot(FROM10_tree, root_0); } // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:73:14: ( EDITABLE )? int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==EDITABLE) ) { alt5=1; } switch (alt5) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:73:14: EDITABLE { EDITABLE11=(Token)match(input,EDITABLE,FOLLOW_EDITABLE_in_from_clause148); if (state.failed) return retval; if ( state.backtracking==0 ) { EDITABLE11_tree = (CommonTree)adaptor.create(EDITABLE11); adaptor.addChild(root_0, EDITABLE11_tree); } } break; } pushFollow(FOLLOW_token_in_from_clause151); token12=token(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, token12.getTree()); } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "from_clause" public static class where_clause_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "where_clause" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:76:1: where_clause : WHERE expression ; public final QueryParser.where_clause_return where_clause() throws RecognitionException { QueryParser.where_clause_return retval = new QueryParser.where_clause_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token WHERE13=null; QueryParser.expression_return expression14 = null; CommonTree WHERE13_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:76:13: ( WHERE expression ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:77:8: WHERE expression { root_0 = (CommonTree)adaptor.nil(); WHERE13=(Token)match(input,WHERE,FOLLOW_WHERE_in_where_clause173); if (state.failed) return retval; if ( state.backtracking==0 ) { WHERE13_tree = (CommonTree)adaptor.create(WHERE13); root_0 = (CommonTree)adaptor.becomeRoot(WHERE13_tree, root_0); } pushFollow(FOLLOW_expression_in_where_clause183); expression14=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, expression14.getTree()); } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "where_clause" public static class expression_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "expression" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:80:1: expression : atom ( ( AND | OR ) atom )* ; public final QueryParser.expression_return expression() throws RecognitionException { QueryParser.expression_return retval = new QueryParser.expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token AND16=null; Token OR17=null; QueryParser.atom_return atom15 = null; QueryParser.atom_return atom18 = null; CommonTree AND16_tree=null; CommonTree OR17_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:80:11: ( atom ( ( AND | OR ) atom )* ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:8: atom ( ( AND | OR ) atom )* { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_atom_in_expression197); atom15=atom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, atom15.getTree()); // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:13: ( ( AND | OR ) atom )* loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( ((LA7_0>=AND && LA7_0<=OR)) ) { alt7=1; } switch (alt7) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:14: ( AND | OR ) atom { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:14: ( AND | OR ) int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==AND) ) { alt6=1; } else if ( (LA6_0==OR) ) { alt6=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 6, 0, input); throw nvae; } switch (alt6) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:15: AND { AND16=(Token)match(input,AND,FOLLOW_AND_in_expression201); if (state.failed) return retval; if ( state.backtracking==0 ) { AND16_tree = (CommonTree)adaptor.create(AND16); root_0 = (CommonTree)adaptor.becomeRoot(AND16_tree, root_0); } } break; case 2 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:81:22: OR { OR17=(Token)match(input,OR,FOLLOW_OR_in_expression206); if (state.failed) return retval; if ( state.backtracking==0 ) { OR17_tree = (CommonTree)adaptor.create(OR17); root_0 = (CommonTree)adaptor.becomeRoot(OR17_tree, root_0); } } break; } pushFollow(FOLLOW_atom_in_expression210); atom18=atom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, atom18.getTree()); } break; default : break loop7; } } while (true); } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "expression" public static class atom_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "atom" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:84:1: atom : ( LPAREN expression RPAREN | NOT atom | ( token ( UNARY_OPERATOR | BINARY_OPERATOR ) )=> simple_expression | ( token DEREF )=> deref_expression ); public final QueryParser.atom_return atom() throws RecognitionException { QueryParser.atom_return retval = new QueryParser.atom_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token LPAREN19=null; Token RPAREN21=null; Token NOT22=null; QueryParser.expression_return expression20 = null; QueryParser.atom_return atom23 = null; QueryParser.simple_expression_return simple_expression24 = null; QueryParser.deref_expression_return deref_expression25 = null; CommonTree LPAREN19_tree=null; CommonTree RPAREN21_tree=null; CommonTree NOT22_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:84:5: ( LPAREN expression RPAREN | NOT atom | ( token ( UNARY_OPERATOR | BINARY_OPERATOR ) )=> simple_expression | ( token DEREF )=> deref_expression ) int alt8=4; switch ( input.LA(1) ) { case LPAREN: { alt8=1; } break; case NOT: { alt8=2; } break; case TOKEN: case STRING_VALUE: { int LA8_3 = input.LA(2); if ( (LA8_3==DEREF) && (synpred2_Query())) { alt8=4; } else if ( (LA8_3==UNARY_OPERATOR) && (synpred1_Query())) { alt8=3; } else if ( (LA8_3==BINARY_OPERATOR) && (synpred1_Query())) { alt8=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 8, 3, input); throw nvae; } } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 8, 0, input); throw nvae; } switch (alt8) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:85:8: LPAREN expression RPAREN { root_0 = (CommonTree)adaptor.nil(); LPAREN19=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_atom234); if (state.failed) return retval; pushFollow(FOLLOW_expression_in_atom237); expression20=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, expression20.getTree()); RPAREN21=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_atom239); if (state.failed) return retval; } break; case 2 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:86:10: NOT atom { root_0 = (CommonTree)adaptor.nil(); NOT22=(Token)match(input,NOT,FOLLOW_NOT_in_atom251); if (state.failed) return retval; if ( state.backtracking==0 ) { NOT22_tree = (CommonTree)adaptor.create(NOT22); root_0 = (CommonTree)adaptor.becomeRoot(NOT22_tree, root_0); } pushFollow(FOLLOW_atom_in_atom254); atom23=atom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, atom23.getTree()); } break; case 3 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:87:10: ( token ( UNARY_OPERATOR | BINARY_OPERATOR ) )=> simple_expression { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_simple_expression_in_atom279); simple_expression24=simple_expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, simple_expression24.getTree()); } break; case 4 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:88:10: ( token DEREF )=> deref_expression { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_deref_expression_in_atom298); deref_expression25=deref_expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, deref_expression25.getTree()); } break; } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "atom" public static class simple_expression_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "simple_expression" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:91:1: simple_expression : token ( UNARY_OPERATOR | ( BINARY_OPERATOR argument ) ) ; public final QueryParser.simple_expression_return simple_expression() throws RecognitionException { QueryParser.simple_expression_return retval = new QueryParser.simple_expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token UNARY_OPERATOR27=null; Token BINARY_OPERATOR28=null; QueryParser.token_return token26 = null; QueryParser.argument_return argument29 = null; CommonTree UNARY_OPERATOR27_tree=null; CommonTree BINARY_OPERATOR28_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:91:18: ( token ( UNARY_OPERATOR | ( BINARY_OPERATOR argument ) ) ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:8: token ( UNARY_OPERATOR | ( BINARY_OPERATOR argument ) ) { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_token_in_simple_expression320); token26=token(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, token26.getTree()); // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:14: ( UNARY_OPERATOR | ( BINARY_OPERATOR argument ) ) int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==UNARY_OPERATOR) ) { alt9=1; } else if ( (LA9_0==BINARY_OPERATOR) ) { alt9=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 0, input); throw nvae; } switch (alt9) { case 1 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:15: UNARY_OPERATOR { UNARY_OPERATOR27=(Token)match(input,UNARY_OPERATOR,FOLLOW_UNARY_OPERATOR_in_simple_expression323); if (state.failed) return retval; if ( state.backtracking==0 ) { UNARY_OPERATOR27_tree = (CommonTree)adaptor.create(UNARY_OPERATOR27); root_0 = (CommonTree)adaptor.becomeRoot(UNARY_OPERATOR27_tree, root_0); } } break; case 2 : // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:33: ( BINARY_OPERATOR argument ) { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:33: ( BINARY_OPERATOR argument ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:92:34: BINARY_OPERATOR argument { BINARY_OPERATOR28=(Token)match(input,BINARY_OPERATOR,FOLLOW_BINARY_OPERATOR_in_simple_expression329); if (state.failed) return retval; if ( state.backtracking==0 ) { BINARY_OPERATOR28_tree = (CommonTree)adaptor.create(BINARY_OPERATOR28); root_0 = (CommonTree)adaptor.becomeRoot(BINARY_OPERATOR28_tree, root_0); } pushFollow(FOLLOW_argument_in_simple_expression332); argument29=argument(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, argument29.getTree()); } } break; } } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "simple_expression" public static class deref_expression_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "deref_expression" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:95:1: deref_expression : token DEREF atom ; public final QueryParser.deref_expression_return deref_expression() throws RecognitionException { QueryParser.deref_expression_return retval = new QueryParser.deref_expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token DEREF31=null; QueryParser.token_return token30 = null; QueryParser.atom_return atom32 = null; CommonTree DEREF31_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:95:17: ( token DEREF atom ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:96:8: token DEREF atom { root_0 = (CommonTree)adaptor.nil(); pushFollow(FOLLOW_token_in_deref_expression356); token30=token(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, token30.getTree()); DEREF31=(Token)match(input,DEREF,FOLLOW_DEREF_in_deref_expression358); if (state.failed) return retval; if ( state.backtracking==0 ) { DEREF31_tree = (CommonTree)adaptor.create(DEREF31); root_0 = (CommonTree)adaptor.becomeRoot(DEREF31_tree, root_0); } pushFollow(FOLLOW_atom_in_deref_expression361); atom32=atom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, atom32.getTree()); } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "deref_expression" public static class token_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "token" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:99:1: token : ( TOKEN | STRING_VALUE ); public final QueryParser.token_return token() throws RecognitionException { QueryParser.token_return retval = new QueryParser.token_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token set33=null; CommonTree set33_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:100:3: ( TOKEN | STRING_VALUE ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g: { root_0 = (CommonTree)adaptor.nil(); set33=(Token)input.LT(1); if ( (input.LA(1)>=TOKEN && input.LA(1)<=STRING_VALUE) ) { input.consume(); if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set33)); state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return retval;} MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "token" public static class argument_return extends ParserRuleReturnScope { CommonTree tree; public Object getTree() { return tree; } }; // $ANTLR start "argument" // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:104:1: argument : ( STRING_VALUE | INT_VALUE | DECIMAL_VALUE | BOOLEAN_VALUE ); public final QueryParser.argument_return argument() throws RecognitionException { QueryParser.argument_return retval = new QueryParser.argument_return(); retval.start = input.LT(1); CommonTree root_0 = null; Token set34=null; CommonTree set34_tree=null; try { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:105:3: ( STRING_VALUE | INT_VALUE | DECIMAL_VALUE | BOOLEAN_VALUE ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g: { root_0 = (CommonTree)adaptor.nil(); set34=(Token)input.LT(1); if ( (input.LA(1)>=STRING_VALUE && input.LA(1)<=BOOLEAN_VALUE) ) { input.consume(); if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set34)); state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return retval;} MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } retval.stop = input.LT(-1); if ( state.backtracking==0 ) { retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { reportError(re); recover(input,re); retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; } // $ANTLR end "argument" // $ANTLR start synpred1_Query public final void synpred1_Query_fragment() throws RecognitionException { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:87:10: ( token ( UNARY_OPERATOR | BINARY_OPERATOR ) ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:87:11: token ( UNARY_OPERATOR | BINARY_OPERATOR ) { pushFollow(FOLLOW_token_in_synpred1_Query266); token(); state._fsp--; if (state.failed) return ; if ( (input.LA(1)>=UNARY_OPERATOR && input.LA(1)<=BINARY_OPERATOR) ) { 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; } } } // $ANTLR end synpred1_Query // $ANTLR start synpred2_Query public final void synpred2_Query_fragment() throws RecognitionException { // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:88:10: ( token DEREF ) // /home/broccol/ganymede/src/trunk/src/ganymede/arlut/csd/ganymede/server/Query.g:88:11: token DEREF { pushFollow(FOLLOW_token_in_synpred2_Query291); token(); state._fsp--; if (state.failed) return ; match(input,DEREF,FOLLOW_DEREF_in_synpred2_Query293); if (state.failed) return ; } } // $ANTLR end synpred2_Query // Delegated rules public final boolean synpred1_Query() { state.backtracking++; int start = input.mark(); try { synpred1_Query_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_Query() { state.backtracking++; int start = input.mark(); try { synpred2_Query_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 static final BitSet FOLLOW_select_clause_in_query52 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_from_clause_in_query61 = new BitSet(new long[]{0x0000000000000200L}); public static final BitSet FOLLOW_where_clause_in_query70 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_query80 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SELECT_in_select_clause103 = new BitSet(new long[]{0x00000000000C0022L}); public static final BitSet FOLLOW_OBJECT_in_select_clause107 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_token_in_select_clause113 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_COMMA_in_select_clause116 = new BitSet(new long[]{0x00000000000C0060L}); public static final BitSet FOLLOW_token_in_select_clause119 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_FROM_in_from_clause145 = new BitSet(new long[]{0x00000000000C0120L}); public static final BitSet FOLLOW_EDITABLE_in_from_clause148 = new BitSet(new long[]{0x00000000000C0020L}); public static final BitSet FOLLOW_token_in_from_clause151 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_WHERE_in_where_clause173 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_expression_in_where_clause183 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_atom_in_expression197 = new BitSet(new long[]{0x0000000000000C02L}); public static final BitSet FOLLOW_AND_in_expression201 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_OR_in_expression206 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_atom_in_expression210 = new BitSet(new long[]{0x0000000000000C02L}); public static final BitSet FOLLOW_LPAREN_in_atom234 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_expression_in_atom237 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_RPAREN_in_atom239 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NOT_in_atom251 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_atom_in_atom254 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_simple_expression_in_atom279 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_deref_expression_in_atom298 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_token_in_simple_expression320 = new BitSet(new long[]{0x0000000000018000L}); public static final BitSet FOLLOW_UNARY_OPERATOR_in_simple_expression323 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BINARY_OPERATOR_in_simple_expression329 = new BitSet(new long[]{0x0000000000780000L}); public static final BitSet FOLLOW_argument_in_simple_expression332 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_token_in_deref_expression356 = new BitSet(new long[]{0x0000000000020000L}); public static final BitSet FOLLOW_DEREF_in_deref_expression358 = new BitSet(new long[]{0x00000000000FD020L}); public static final BitSet FOLLOW_atom_in_deref_expression361 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_token0 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_argument0 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_token_in_synpred1_Query266 = new BitSet(new long[]{0x0000000000018000L}); public static final BitSet FOLLOW_set_in_synpred1_Query268 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_token_in_synpred2_Query291 = new BitSet(new long[]{0x0000000000020000L}); public static final BitSet FOLLOW_DEREF_in_synpred2_Query293 = new BitSet(new long[]{0x0000000000000002L}); }