X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcql.y;h=414feb8b552fb0ac69c13049fe63214c3f0a15a8;hb=c168c38b0beb83bca23c72d9203cc796a374bfac;hp=f4293e734ea9cc1c3180faa5e5be05f3243239ae;hpb=5aacaac430b101d72de440cf3833b6faee0eb1bd;p=yaz-moved-to-github.git diff --git a/src/cql.y b/src/cql.y index f4293e7..414feb8 100644 --- a/src/cql.y +++ b/src/cql.y @@ -1,4 +1,4 @@ -/* $Id: cql.y,v 1.11 2006-10-05 16:19:16 adam Exp $ +/* $Id: cql.y,v 1.14 2007-06-28 07:58:07 adam Exp $ Copyright (C) 2002-2006 Index Data ApS @@ -135,13 +135,12 @@ searchClause: /* unary NOT search TERM here .. */ boolean: - AND | OR | NOT | PROX - ; + AND | OR | NOT | PROX ; modifiers: modifiers '/' searchTerm { struct cql_node *mod = cql_node_mk_sc(((CQL_parser)parm)->nmem, - $3.buf, "=", 0); + $3.buf, 0, 0); mod->u.st.modifiers = $1.cql; $$.cql = mod; @@ -299,13 +298,25 @@ int yylex(YYSTYPE *lval, void *vp) if (c != 0) cp->ungetbyte(c, cp->client_data); if (!cql_strcmp(lval->buf, "and")) + { + lval->buf = "and"; return AND; + } if (!cql_strcmp(lval->buf, "or")) + { + lval->buf = "or"; return OR; + } if (!cql_strcmp(lval->buf, "not")) + { + lval->buf = "not"; return NOT; + } if (!cql_strcmp(lval->buf, "prox")) + { + lval->buf = "prox"; return PROX; + } } return TERM; }