Allow any CQL relation
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 4 Sep 2003 18:13:39 +0000 (18:13 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 4 Sep 2003 18:13:39 +0000 (18:13 +0000)
CHANGELOG
cql/cql.y
cql/lexer.c

index 0d7f54a..81c26ee 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@ Possible compatibility problems with earlier versions marked with '*'.
 
 --- (IN PROGRESS)
 
 
 --- (IN PROGRESS)
 
+Allow any CQL relation (not just all,any,exact,scr).
+
 Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets
 that features the same UI.
 
 Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets
 that features the same UI.
 
index e0a2265..026dd36 100644 (file)
--- a/cql/cql.y
+++ b/cql/cql.y
@@ -1,4 +1,4 @@
-/* $Id: cql.y,v 1.5 2003-06-04 09:44:05 adam Exp $
+/* $Id: cql.y,v 1.6 2003-09-04 18:13:39 adam Exp $
    Copyright (C) 2002-2003
    Index Data Aps
 
    Copyright (C) 2002-2003
    Index Data Aps
 
@@ -44,7 +44,7 @@ See the file LICENSE.
 %}
 
 %pure_parser
 %}
 
 %pure_parser
-%token TERM AND OR NOT PROX EXACT ALL ANY GE LE NE SCR
+%token TERM AND OR NOT PROX GE LE NE
 %expect 8
 
 %%
 %expect 8
 
 %%
@@ -114,6 +114,8 @@ searchClause:
    }
 ;
 
    }
 ;
 
+/* unary NOT search TERM here .. */
+
 boolean: 
   AND | OR | NOT | PROX proxqualifiers {
       $$ = $1;
 boolean: 
   AND | OR | NOT | PROX proxqualifiers {
       $$ = $1;
@@ -206,10 +208,7 @@ baseRelation:
 | GE
 | LE
 | NE
 | GE
 | LE
 | NE
-| EXACT 
-| ALL
-| ANY
-| SCR
+| TERM
 ;
 
 index: 
 ;
 
 index: 
@@ -220,9 +219,6 @@ searchTerm:
 | AND
 | OR
 | NOT
 | AND
 | OR
 | NOT
-| EXACT
-| ALL
-| ANY
 | PROX
 ;
 
 | PROX
 ;
 
index 8ac8591..04113ae 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: lexer.c,v 1.4 2003-04-14 16:52:10 adam Exp $
+/* $Id: lexer.c,v 1.5 2003-09-04 18:13:39 adam Exp $
    Copyright (C) 2002-2003
    Index Data Aps
 
    Copyright (C) 2002-2003
    Index Data Aps
 
@@ -106,16 +106,8 @@ int yylex(YYSTYPE *lval, void *vp)
             return OR;
         if (!strcmp(lval->buf, "not"))
             return NOT;
             return OR;
         if (!strcmp(lval->buf, "not"))
             return NOT;
-        if (!strcmp(lval->buf, "exact"))
-            return EXACT;
-        if (!strcmp(lval->buf, "all"))
-            return ALL;
         if (!strncmp(lval->buf, "prox", 4))
             return PROX;
         if (!strncmp(lval->buf, "prox", 4))
             return PROX;
-        if (!strcmp(lval->buf, "any"))
-            return ANY;
-        if (!strcmp(lval->buf, "scr"))
-            return SCR;
     }
     return TERM;
 }
     }
     return TERM;
 }