X-Git-Url: http://git.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLLexer.java;h=2cb88522cf6d22b926018f892d53997779c980bb;hb=06247838399c68f3aacacaba75714e25d22d9992;hp=8d054d999f5c027663d77d39372eec990b45a5b8;hpb=eceaa4ac309c72d8a9fa05aa4bcb0457d6213936;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 8d054d9..2cb8852 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.4 2002-11-02 01:21:35 mike Exp $ +// $Id: CQLLexer.java,v 1.9 2007-06-07 16:15:22 mike Exp $ package org.z3950.zing.cql; import java.io.StreamTokenizer; @@ -35,6 +35,8 @@ class CQLLexer extends StreamTokenizer { 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 @@ -67,6 +69,8 @@ class CQLLexer extends StreamTokenizer { 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() @@ -184,7 +188,11 @@ class CQLLexer extends StreamTokenizer { if (token == TT_EOF) { return "EOF"; } else if (token == TT_NUMBER) { - return new Integer((int) 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 == '"') {