public Query Clause(String field)
{
Query q;
Token fieldToken = null, boost = null;
if (Jj_2_1(2))
{
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case TermToken:
fieldToken = Jj_consume_token(TermToken);
Jj_consume_token(ColonToken);
field = DiscardEscapeChar(fieldToken.image);
break;
case StarToken:
Jj_consume_token(StarToken);
Jj_consume_token(ColonToken);
field = "*";
break;
default:
jj_la1[5] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
}
else
{
;
}
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case StarToken:
case QuotedToken:
case TermToken:
case PrefixTermToken:
case WildTermToken:
case RangeInStartToken:
case RangeExStartToken:
case NumberToken:
q = Term(field);
break;
case LParanToken:
Jj_consume_token(LParanToken);
q = Query(field);
Jj_consume_token(RParenToken);
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case CaratToken:
Jj_consume_token(CaratToken);
boost = Jj_consume_token(NumberToken);
break;
default:
jj_la1[6] = jj_gen;
break;
}
break;
default:
jj_la1[7] = jj_gen;
Jj_consume_token(-1);
throw new ParseException();
}
if (boost != null)
{
try
{
float f = Single.Parse(boost.image);
q.Boost = f;
}
catch (Exception)
{
}
}
{
if (true) return q;
}
throw new Exception("Missing return statement in function");
}