|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectFreeformQueryParser
public class FreeformQueryParser
A grammar-based parser for "freeform queries", constructed with JavaCC. Designed to parse a query language much like that supported by "gaggle", a little query language used at CDL, which is in turn designed to act much like Google.
Uses a tokenizer that should be good for most European-language queries.
Nested Class Summary | |
---|---|
class |
FreeformQueryParser.FNode
The result of a parse. |
(package private) static class |
FreeformQueryParser.JJCalls
|
private static class |
FreeformQueryParser.LookaheadSuccess
|
Field Summary | |
---|---|
private FreeformQueryParser.JJCalls[] |
jj_2_rtns
|
private int |
jj_endpos
|
private Vector |
jj_expentries
|
private int[] |
jj_expentry
|
private int |
jj_gc
|
private int |
jj_gen
|
(package private) SimpleCharStream |
jj_input_stream
|
private int |
jj_kind
|
private int |
jj_la
|
private int[] |
jj_la1
|
private static int[] |
jj_la1_0
|
private Token |
jj_lastpos
|
private int[] |
jj_lasttokens
|
private FreeformQueryParser.LookaheadSuccess |
jj_ls
|
Token |
jj_nt
|
private int |
jj_ntk
|
private boolean |
jj_rescan
|
private Token |
jj_scanpos
|
private boolean |
jj_semLA
|
boolean |
lookingAhead
|
Token |
token
|
FreeformQueryParserTokenManager |
token_source
|
Fields inherited from interface FreeformQueryParserConstants |
---|
ACRONYM, ALPHA, ALPHANUM, AND, APOSTROPHE, BASIC, CJK, CLOSE_PAREN, COLON, COMPANY, DEFAULT, DIGIT, EMAIL, EOF, HAS_DIGIT, HOST, LETTER, NOISE, NOT, NUM, OPEN_PAREN, OR, P, PLUS, QUOTE, SYMBOL, tokenImage |
Constructor Summary | |
---|---|
FreeformQueryParser(FreeformQueryParserTokenManager tm)
|
|
FreeformQueryParser(InputStream stream)
|
|
FreeformQueryParser(InputStream stream,
String encoding)
|
|
FreeformQueryParser(Reader stream)
|
Method Summary | |
---|---|
FreeformQueryParser.FNode |
ANDs()
A sequence of terms (optionally separated by "AND" or "&") is AND-ed together. |
FreeformQueryParser.FNode |
Component()
A component of a query is a phrase, term, parenthesized sequence, or a "not" clause. |
void |
disable_tracing()
|
void |
enable_tracing()
|
ParseException |
generateParseException()
|
Token |
getNextToken()
|
Token |
getToken(int index)
|
private boolean |
jj_2_1(int xla)
|
private boolean |
jj_3_1()
|
private boolean |
jj_3R_7()
|
private void |
jj_add_error_token(int kind,
int pos)
|
private Token |
jj_consume_token(int kind)
|
private static void |
jj_la1_0()
|
private int |
jj_ntk()
|
private void |
jj_rescan_token()
|
private void |
jj_save(int index,
int xla)
|
private boolean |
jj_scan_token(int kind)
|
static void |
main(String[] args)
Simple command-line test driver. |
FreeformQueryParser.FNode |
Not()
You can stick "not" in front of something to negate it. |
FreeformQueryParser.FNode |
ORs()
A sequence of components, separated by "OR" or "|" |
FreeformQueryParser.FNode |
ParenSeq()
We allow parenthesized sub-expressions for grouping |
FreeformQueryParser.FNode |
Phrase()
A phrase is a quoted string of terms (but we also take care not to barf on reserved words). |
FreeformQueryParser.FNode |
Query()
The entire query, which consists of a single sub-query. |
void |
ReInit(FreeformQueryParserTokenManager tm)
|
void |
ReInit(InputStream stream)
|
void |
ReInit(InputStream stream,
String encoding)
|
void |
ReInit(Reader stream)
|
FreeformQueryParser.FNode |
SubQuery()
A single sub-query (can be contained in a paren expr) |
FreeformQueryParser.FNode |
Term()
In general a term is just a single word. |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public FreeformQueryParserTokenManager token_source
SimpleCharStream jj_input_stream
public Token token
public Token jj_nt
private int jj_ntk
private Token jj_scanpos
private Token jj_lastpos
private int jj_la
public boolean lookingAhead
private boolean jj_semLA
private int jj_gen
private final int[] jj_la1
private static int[] jj_la1_0
private final FreeformQueryParser.JJCalls[] jj_2_rtns
private boolean jj_rescan
private int jj_gc
private final FreeformQueryParser.LookaheadSuccess jj_ls
private Vector jj_expentries
private int[] jj_expentry
private int jj_kind
private int[] jj_lasttokens
private int jj_endpos
Constructor Detail |
---|
public FreeformQueryParser(InputStream stream)
public FreeformQueryParser(InputStream stream, String encoding)
public FreeformQueryParser(Reader stream)
public FreeformQueryParser(FreeformQueryParserTokenManager tm)
Method Detail |
---|
public static void main(String[] args) throws IOException
IOException
public final FreeformQueryParser.FNode Term() throws ParseException
ParseException
public final FreeformQueryParser.FNode Phrase() throws ParseException
ParseException
public final FreeformQueryParser.FNode Not() throws ParseException
ParseException
public final FreeformQueryParser.FNode ParenSeq() throws ParseException
ParseException
public final FreeformQueryParser.FNode Component() throws ParseException
ParseException
public final FreeformQueryParser.FNode ORs() throws ParseException
ParseException
public final FreeformQueryParser.FNode ANDs() throws ParseException
ParseException
public final FreeformQueryParser.FNode SubQuery() throws ParseException
ParseException
public final FreeformQueryParser.FNode Query() throws ParseException
ParseException
private final boolean jj_2_1(int xla)
private final boolean jj_3R_7()
private final boolean jj_3_1()
private static void jj_la1_0()
public void ReInit(InputStream stream)
public void ReInit(InputStream stream, String encoding)
public void ReInit(Reader stream)
public void ReInit(FreeformQueryParserTokenManager tm)
private final Token jj_consume_token(int kind) throws ParseException
ParseException
private final boolean jj_scan_token(int kind)
public final Token getNextToken()
public final Token getToken(int index)
private final int jj_ntk()
private void jj_add_error_token(int kind, int pos)
public ParseException generateParseException()
public final void enable_tracing()
public final void disable_tracing()
private final void jj_rescan_token()
private final void jj_save(int index, int xla)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |