X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLLexer.java;h=ac7f97d888b2875416be383fb66d5c1f6e0911f3;hb=8e35f984081a29de9b53af7c1b2fbf981c474d88;hp=c5e072cc6c8cc2b81117b713541f608323f550ce;hpb=1098d39c4126368e9c438e88a827a32861ffe56b;p=cql-java-moved-to-github.git diff --git a/src/org/z3950/zing/cql/CQLLexer.java b/src/org/z3950/zing/cql/CQLLexer.java index c5e072c..ac7f97d 100644 --- a/src/org/z3950/zing/cql/CQLLexer.java +++ b/src/org/z3950/zing/cql/CQLLexer.java @@ -1,4 +1,4 @@ -// $Id: CQLLexer.java,v 1.7 2006-05-05 21:39:14 mike Exp $ +// $Id: CQLLexer.java,v 1.11 2007-06-29 11:55:45 mike Exp $ package org.z3950.zing.cql; import java.io.StreamTokenizer; @@ -23,20 +23,12 @@ class CQLLexer extends StreamTokenizer { static int TT_OR = 1004; // The "or" boolean static int TT_NOT = 1005; // The "not" boolean static int TT_PROX = 1006; // The "prox" boolean - static int TT_ANY = 1007; // The "any" relation - static int TT_ALL = 1008; // The "all" relation - static int TT_EXACT = 1009; // The "exact" relation static int TT_pWORD = 1010; // The "word" proximity unit static int TT_SENTENCE = 1011; // The "sentence" proximity unit static int TT_PARAGRAPH = 1012; // The "paragraph" proximity unit static int TT_ELEMENT = 1013; // The "element" proximity unit static int TT_ORDERED = 1014; // The "ordered" proximity ordering static int TT_UNORDERED = 1015; // The "unordered" proximity ordering - static int TT_RELEVANT = 1016; // The "relevant" relation modifier - static int TT_FUZZY = 1017; // The "fuzzy" relation modifier - static int TT_STEM = 1018; // The "stem" relation modifier - static int TT_SCR = 1019; // The server choice relation - static int TT_PHONETIC = 1020; // The "phonetic" relation modifier // Support for keywords. It would be nice to compile this linear // list into a Hashtable, but it's hard to store ints as hash @@ -57,20 +49,12 @@ class CQLLexer extends StreamTokenizer { new Keyword(TT_OR, "or"), new Keyword(TT_NOT, "not"), new Keyword(TT_PROX, "prox"), - new Keyword(TT_ANY, "any"), - new Keyword(TT_ALL, "all"), - new Keyword(TT_EXACT, "exact"), new Keyword(TT_pWORD, "word"), new Keyword(TT_SENTENCE, "sentence"), new Keyword(TT_PARAGRAPH, "paragraph"), new Keyword(TT_ELEMENT, "element"), - new Keyword(TT_ORDERED, "ordered"), + new Keyword(TT_ORDERED, "xordered"), new Keyword(TT_UNORDERED, "unordered"), - new Keyword(TT_RELEVANT, "relevant"), - new Keyword(TT_FUZZY, "fuzzy"), - new Keyword(TT_STEM, "stem"), - new Keyword(TT_SCR, "scr"), - new Keyword(TT_PHONETIC, "phonetic"), }; // For halfDecentPushBack() and the code at the top of nextToken() @@ -188,7 +172,11 @@ class CQLLexer extends StreamTokenizer { if (token == TT_EOF) { return "EOF"; } else if (token == TT_NUMBER) { - return new Double((double) nval).toString(); + if ((double) nval == (int) nval) { + return new Integer((int) nval).toString(); + } else { + return new Double((double) nval).toString(); + } } else if (token == TT_WORD) { return "word: " + sval; } else if (token == '"') {