in src/Lucene.Net.QueryParser/Classic/QueryParser.cs [336:545]
public Query Term(string field)
{
Token term, boost = null, fuzzySlop = null, goop1, goop2;
bool prefix = false;
bool wildcard = false;
bool fuzzy = false;
bool regexp = false;
bool startInc = false;
bool endInc = false;
Query q;
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.BAREOPER:
case RegexpToken.STAR:
case RegexpToken.TERM:
case RegexpToken.PREFIXTERM:
case RegexpToken.WILDTERM:
case RegexpToken.REGEXPTERM:
case RegexpToken.NUMBER:
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.TERM:
term = Jj_consume_token(RegexpToken.TERM);
break;
case RegexpToken.STAR:
term = Jj_consume_token(RegexpToken.STAR);
wildcard = true;
break;
case RegexpToken.PREFIXTERM:
term = Jj_consume_token(RegexpToken.PREFIXTERM);
prefix = true;
break;
case RegexpToken.WILDTERM:
term = Jj_consume_token(RegexpToken.WILDTERM);
wildcard = true;
break;
case RegexpToken.REGEXPTERM:
term = Jj_consume_token(RegexpToken.REGEXPTERM);
regexp = true;
break;
case RegexpToken.NUMBER:
term = Jj_consume_token(RegexpToken.NUMBER);
break;
case RegexpToken.BAREOPER:
term = Jj_consume_token(RegexpToken.BAREOPER);
term.Image = term.Image.Substring(0, 1);
break;
default:
jj_la1[8] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.FUZZY_SLOP:
fuzzySlop = Jj_consume_token(RegexpToken.FUZZY_SLOP);
fuzzy = true;
break;
default:
jj_la1[9] = jj_gen;
break;
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.CARAT:
Jj_consume_token(RegexpToken.CARAT);
boost = Jj_consume_token(RegexpToken.NUMBER);
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.FUZZY_SLOP:
fuzzySlop = Jj_consume_token(RegexpToken.FUZZY_SLOP);
fuzzy = true;
break;
default:
jj_la1[10] = jj_gen;
break;
}
break;
default:
jj_la1[11] = jj_gen;
break;
}
q = HandleBareTokenQuery(field, term, fuzzySlop, prefix, wildcard, fuzzy, regexp);
break;
case RegexpToken.RANGEIN_START:
case RegexpToken.RANGEEX_START:
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.RANGEIN_START:
Jj_consume_token(RegexpToken.RANGEIN_START);
startInc = true;
break;
case RegexpToken.RANGEEX_START:
Jj_consume_token(RegexpToken.RANGEEX_START);
break;
default:
jj_la1[12] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.RANGE_GOOP:
goop1 = Jj_consume_token(RegexpToken.RANGE_GOOP);
break;
case RegexpToken.RANGE_QUOTED:
goop1 = Jj_consume_token(RegexpToken.RANGE_QUOTED);
break;
default:
jj_la1[13] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.RANGE_TO:
Jj_consume_token(RegexpToken.RANGE_TO);
break;
default:
jj_la1[14] = jj_gen;
break;
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.RANGE_GOOP:
goop2 = Jj_consume_token(RegexpToken.RANGE_GOOP);
break;
case RegexpToken.RANGE_QUOTED:
goop2 = Jj_consume_token(RegexpToken.RANGE_QUOTED);
break;
default:
jj_la1[15] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.RANGEIN_END:
Jj_consume_token(RegexpToken.RANGEIN_END);
endInc = true;
break;
case RegexpToken.RANGEEX_END:
Jj_consume_token(RegexpToken.RANGEEX_END);
break;
default:
jj_la1[16] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.CARAT:
Jj_consume_token(RegexpToken.CARAT);
boost = Jj_consume_token(RegexpToken.NUMBER);
break;
default:
jj_la1[17] = jj_gen;
break;
}
bool startOpen = false;
bool endOpen = false;
if (goop1.Kind == RegexpToken.RANGE_QUOTED)
{
goop1.Image = goop1.Image.Substring(1, goop1.Image.Length - 2);
}
else if ("*".Equals(goop1.Image, StringComparison.Ordinal))
{
startOpen = true;
}
if (goop2.Kind == RegexpToken.RANGE_QUOTED)
{
goop2.Image = goop2.Image.Substring(1, goop2.Image.Length - 2);
}
else if ("*".Equals(goop2.Image, StringComparison.Ordinal))
{
endOpen = true;
}
q = GetRangeQuery(field, startOpen ? null : DiscardEscapeChar(goop1.Image), endOpen ? null : DiscardEscapeChar(goop2.Image), startInc, endInc);
break;
case RegexpToken.QUOTED:
term = Jj_consume_token(RegexpToken.QUOTED);
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.FUZZY_SLOP:
fuzzySlop = Jj_consume_token(RegexpToken.FUZZY_SLOP);
break;
default:
jj_la1[18] = jj_gen;
break;
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.CARAT:
Jj_consume_token(RegexpToken.CARAT);
boost = Jj_consume_token(RegexpToken.NUMBER);
break;
default:
jj_la1[19] = jj_gen;
break;
}
q = HandleQuotedTerm(field, term, fuzzySlop);
break;
default:
jj_la1[20] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
{ if (true) return HandleBoost(q, boost); }
throw Error.Create("Missing return statement in function");
}