X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcql.y;h=c3f4657e9881d0912144ab3e538a4a8d9707bb99;hp=abafa28b85d2a4c4f17fa115ddd59e6579566a8b;hb=3178894be28922a17125e31feff1010fcecc3128;hpb=a6f6d77b75984f05b97942cfcca1b64d661fc76a diff --git a/src/cql.y b/src/cql.y index abafa28..c3f4657 100644 --- a/src/cql.y +++ b/src/cql.y @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data + * Copyright (C) 1995-2012 Index Data * See the file LICENSE for details. */ /* bison parser for CQL grammar. */ @@ -162,10 +162,10 @@ searchTerm extraTerms { ; extraTerms: -extraTerms SIMPLE_STRING { +SIMPLE_STRING extraTerms { struct cql_node *st = cql_node_mk_sc(((CQL_parser) parm)->nmem, - /* index */ 0, /* rel */ 0, $2.buf); - st->u.st.extra_terms = $1.cql; + /* index */ 0, /* rel */ 0, $1.buf); + st->u.st.extra_terms = $2.cql; $$.cql = st; } | @@ -245,7 +245,7 @@ static void putb(YYSTYPE *lval, CQL_parser cp, int c) { char *nb = (char *) nmem_malloc(cp->nmem, (lval->size = lval->len * 2 + 20)); - memcpy (nb, lval->buf, lval->len); + memcpy(nb, lval->buf, lval->len); lval->buf = nb; } if (c) @@ -388,6 +388,8 @@ int yylex(YYSTYPE *lval, void *vp) relation_like = 1; if (!cql_strcmp(lval->buf, "any")) relation_like = 1; + if (!cql_strcmp(lval->buf, "adj")) + relation_like = 1; if (relation_like) return PREFIX_NAME; } @@ -413,7 +415,7 @@ int cql_parser_stream(CQL_parser cp, CQL_parser cql_parser_create(void) { - CQL_parser cp = (CQL_parser) xmalloc (sizeof(*cp)); + CQL_parser cp = (CQL_parser) xmalloc(sizeof(*cp)); cp->top = 0; cp->getbyte = 0;