X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcql.y;h=5af8777fcd0a56a9be6f6e2a4b31a490ea0260db;hp=d1d5d1baf687da4eba4fc3620b92c1208930c244;hb=5ae2f74ba9b27bb7e926d5908471ac79371f7823;hpb=2983ed28daf8cf109826224167bab2b344ea1477 diff --git a/src/cql.y b/src/cql.y index d1d5d1b..5af8777 100644 --- a/src/cql.y +++ b/src/cql.y @@ -44,6 +44,7 @@ int last_pos; struct cql_node *top; NMEM nmem; + int strict; }; #define YYSTYPE token @@ -384,6 +385,8 @@ int yylex(YYSTYPE *lval, void *vp) lval->buf = "sortby"; return SORTBY; } + if (cp->strict) + return PREFIX_NAME; if (!cql_strcmp(lval->buf, "all")) relation_like = 1; if (!cql_strcmp(lval->buf, "any")) @@ -424,6 +427,7 @@ CQL_parser cql_parser_create(void) cp->last_error = 0; cp->last_pos = 0; cp->nmem = nmem_create(); + cp->strict = 0; return cp; } @@ -439,6 +443,11 @@ struct cql_node *cql_parser_result(CQL_parser cp) return cp->top; } +void cql_parser_strict(CQL_parser cp, int mode) +{ + cp->strict = mode; +} + /* * Local variables: * c-basic-offset: 4