public final int Modifiers() throws ParseException { int ret = MOD_NONE; switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case NOT: case PLUS: case MINUS: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case PLUS: jj_consume_token(PLUS); ret = MOD_REQ; break; case MINUS: jj_consume_token(MINUS); ret = MOD_NOT; break; case NOT: jj_consume_token(NOT); ret = MOD_NOT; break; default: jj_la1[2] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: jj_la1[3] = jj_gen; ; } { if (true) return ret; } throw new Error("Missing return statement in function"); }
// * Query ::= ( Clause )* // * Clause ::= ["+", "-"] [<TERM> ":"] ( <TERM> | "(" Query ")" ) public final int Conjunction() throws ParseException { int ret = CONJ_NONE; switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case AND: case OR: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case AND: jj_consume_token(AND); ret = CONJ_AND; break; case OR: jj_consume_token(OR); ret = CONJ_OR; break; default: jj_la1[0] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: jj_la1[1] = jj_gen; ; } { if (true) return ret; } throw new Error("Missing return statement in function"); }
public final Query Clause(String field) throws ParseException { Query q; Token fieldToken = null, boost = null; if (jj_2_3(2)) { switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case TERM: fieldToken = jj_consume_token(TERM); jj_consume_token(COLON); field = discardEscapeChar(fieldToken.image); break; case STAR: jj_consume_token(STAR); jj_consume_token(COLON); field = "*"; break; default: jj_la1[7] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } else {; } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case BAREOPER: case STAR: case QUOTED: case TERM: case PREFIXTERM: case WILDTERM: case REGEXPTERM: case RANGEIN_START: case RANGEEX_START: case NUMBER: q = Term(field); break; case LPAREN: jj_consume_token(LPAREN); q = Query(field); jj_consume_token(RPAREN); switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); break; default: jj_la1[8] = jj_gen; ; } break; default: jj_la1[9] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return handleBoost(q, boost); } throw new Error("Missing return statement in function"); }
// This makes sure that there is no garbage after the query string public final Query TopLevelQuery(String field) throws ParseException { Query q; q = Query(field); jj_consume_token(0); { if (true) return q; } throw new Error("Missing return statement in function"); }
/** Returns the first query if splitOnWhitespace=true or otherwise the entire produced query */ public final Query MultiTerm(String field, List<BooleanClause> clauses) throws ParseException { Token text, whitespace, followingText; Query firstQuery = null; text = jj_consume_token(TERM); if (splitOnWhitespace) { firstQuery = getFieldQuery(field, discardEscapeChar(text.image), false); addClause(clauses, CONJ_NONE, MOD_NONE, firstQuery); } if (getToken(1).kind == TERM && allowedPostMultiTerm(getToken(2).kind)) { } else { jj_consume_token(-1); throw new ParseException(); } label_2: while (true) { followingText = jj_consume_token(TERM); if (splitOnWhitespace) { Query q = getFieldQuery(field, discardEscapeChar(followingText.image), false); addClause(clauses, CONJ_NONE, MOD_NONE, q); } else { // build up the text to send to analysis text.image += " " + followingText.image; } if (getToken(1).kind == TERM && allowedPostMultiTerm(getToken(2).kind)) {; } else { break label_2; } } if (splitOnWhitespace == false) { firstQuery = getFieldQuery(field, discardEscapeChar(text.image), false); addMultiTermClauses(clauses, firstQuery); } { if (true) return firstQuery; } throw new Error("Missing return statement in function"); }
public final Query Term(String field) throws ParseException { Token term, boost = null, fuzzySlop = null, goop1, goop2; boolean prefix = false; boolean wildcard = false; boolean fuzzy = false; boolean regexp = false; boolean startInc = false; boolean endInc = false; Query q; switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case BAREOPER: case STAR: case TERM: case PREFIXTERM: case WILDTERM: case REGEXPTERM: case NUMBER: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case TERM: term = jj_consume_token(TERM); break; case STAR: term = jj_consume_token(STAR); wildcard = true; break; case PREFIXTERM: term = jj_consume_token(PREFIXTERM); prefix = true; break; case WILDTERM: term = jj_consume_token(WILDTERM); wildcard = true; break; case REGEXPTERM: term = jj_consume_token(REGEXPTERM); regexp = true; break; case NUMBER: term = jj_consume_token(NUMBER); break; case BAREOPER: term = jj_consume_token(BAREOPER); term.image = term.image.substring(0, 1); break; default: jj_la1[10] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: case FUZZY_SLOP: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case FUZZY_SLOP: fuzzySlop = jj_consume_token(FUZZY_SLOP); fuzzy = true; break; default: jj_la1[11] = jj_gen; ; } break; case FUZZY_SLOP: fuzzySlop = jj_consume_token(FUZZY_SLOP); fuzzy = true; switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); break; default: jj_la1[12] = jj_gen; ; } break; default: jj_la1[13] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: jj_la1[14] = jj_gen; ; } q = handleBareTokenQuery(field, term, fuzzySlop, prefix, wildcard, fuzzy, regexp); break; case RANGEIN_START: case RANGEEX_START: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case RANGEIN_START: jj_consume_token(RANGEIN_START); startInc = true; break; case RANGEEX_START: jj_consume_token(RANGEEX_START); break; default: jj_la1[15] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case RANGE_GOOP: goop1 = jj_consume_token(RANGE_GOOP); break; case RANGE_QUOTED: goop1 = jj_consume_token(RANGE_QUOTED); break; default: jj_la1[16] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case RANGE_TO: jj_consume_token(RANGE_TO); break; default: jj_la1[17] = jj_gen; ; } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case RANGE_GOOP: goop2 = jj_consume_token(RANGE_GOOP); break; case RANGE_QUOTED: goop2 = jj_consume_token(RANGE_QUOTED); break; default: jj_la1[18] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case RANGEIN_END: jj_consume_token(RANGEIN_END); endInc = true; break; case RANGEEX_END: jj_consume_token(RANGEEX_END); break; default: jj_la1[19] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); break; default: jj_la1[20] = jj_gen; ; } boolean startOpen = false; boolean endOpen = false; if (goop1.kind == RANGE_QUOTED) { goop1.image = goop1.image.substring(1, goop1.image.length() - 1); } else if ("*".equals(goop1.image)) { startOpen = true; } if (goop2.kind == RANGE_QUOTED) { goop2.image = goop2.image.substring(1, goop2.image.length() - 1); } else if ("*".equals(goop2.image)) { endOpen = true; } q = getRangeQuery( field, startOpen ? null : discardEscapeChar(goop1.image), endOpen ? null : discardEscapeChar(goop2.image), startInc, endInc); break; case QUOTED: term = jj_consume_token(QUOTED); switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: case FUZZY_SLOP: switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case FUZZY_SLOP: fuzzySlop = jj_consume_token(FUZZY_SLOP); fuzzy = true; break; default: jj_la1[21] = jj_gen; ; } break; case FUZZY_SLOP: fuzzySlop = jj_consume_token(FUZZY_SLOP); fuzzy = true; switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CARAT: jj_consume_token(CARAT); boost = jj_consume_token(NUMBER); break; default: jj_la1[22] = jj_gen; ; } break; default: jj_la1[23] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: jj_la1[24] = jj_gen; ; } q = handleQuotedTerm(field, term, fuzzySlop); break; default: jj_la1[25] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return handleBoost(q, boost); } throw new Error("Missing return statement in function"); }
public final Query Query(String field) throws ParseException { List<BooleanClause> clauses = new ArrayList<BooleanClause>(); Query q, firstQuery = null; int conj, mods; if (jj_2_1(2)) { firstQuery = MultiTerm(field, clauses); } else { switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case NOT: case PLUS: case MINUS: case BAREOPER: case LPAREN: case STAR: case QUOTED: case TERM: case PREFIXTERM: case WILDTERM: case REGEXPTERM: case RANGEIN_START: case RANGEEX_START: case NUMBER: mods = Modifiers(); q = Clause(field); addClause(clauses, CONJ_NONE, mods, q); if (mods == MOD_NONE) { firstQuery = q; } break; default: jj_la1[4] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } label_1: while (true) { switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case AND: case OR: case NOT: case PLUS: case MINUS: case BAREOPER: case LPAREN: case STAR: case QUOTED: case TERM: case PREFIXTERM: case WILDTERM: case REGEXPTERM: case RANGEIN_START: case RANGEEX_START: case NUMBER:; break; default: jj_la1[5] = jj_gen; break label_1; } if (jj_2_2(2)) { MultiTerm(field, clauses); } else { switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case AND: case OR: case NOT: case PLUS: case MINUS: case BAREOPER: case LPAREN: case STAR: case QUOTED: case TERM: case PREFIXTERM: case WILDTERM: case REGEXPTERM: case RANGEIN_START: case RANGEEX_START: case NUMBER: conj = Conjunction(); mods = Modifiers(); q = Clause(field); addClause(clauses, conj, mods, q); break; default: jj_la1[6] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } if (clauses.size() == 1 && firstQuery != null) { { if (true) return firstQuery; } } else { { if (true) return getBooleanQuery(clauses); } } throw new Error("Missing return statement in function"); }