Update CQL parser to use CQL 1.1 modifiers for booleans and
[yaz-moved-to-github.git] / src / lexer.h
diff --git a/src/lexer.h b/src/lexer.h
deleted file mode 100644 (file)
index 6c8a3b4..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* $Id: lexer.h,v 1.1 2003-10-27 12:21:30 adam Exp $
-   Copyright (C) 2002-2003
-   Index Data Aps
-
-This file is part of the YAZ toolkit.
-
-See the file LICENSE.
-*/
-
-static void putb(YYSTYPE *lval, CQL_parser cp, int c)
-{
-    if (lval->len+1 >= lval->size)
-    {
-        char *nb = nmem_malloc(cp->nmem, (lval->size = lval->len * 2 + 20));
-        memcpy (nb, lval->buf, lval->len);
-        lval->buf = nb;
-    }
-    if (c)
-        lval->buf[lval->len++] = c;
-    lval->buf[lval->len] = '\0';
-}
-
-/*
- * bison lexer for CQL.
- */
-
-int yylex(YYSTYPE *lval, void *vp)
-{
-    CQL_parser cp = (CQL_parser) vp;
-    int c;
-    lval->cql = 0;
-    lval->rel = 0;
-    lval->len = 0;
-    lval->size = 10;
-    lval->buf = nmem_malloc(cp->nmem, lval->size);
-    lval->buf[0] = '\0';
-    do
-    {
-        c = cp->getbyte(cp->client_data);
-        if (c == 0)
-            return 0;
-        if (c == '\n')
-            return 0;
-    } while (isspace(c));
-    if (strchr("()=></", c))
-    {
-        int c1;
-        putb(lval, cp, c);
-        if (c == '>')
-        {
-            c1 = cp->getbyte(cp->client_data);
-            if (c1 == '=')
-            {
-                putb(lval, cp, c1);
-                return GE;
-            }
-            else
-                cp->ungetbyte(c1, cp->client_data);
-        }
-        else if (c == '<')
-        {
-            c1 = cp->getbyte(cp->client_data);
-            if (c1 == '=')
-            {
-                putb(lval, cp, c1);
-                return LE;
-            }
-            else if (c1 == '>')
-            {
-                putb(lval, cp, c1);
-                return NE;
-            }
-            else
-                cp->ungetbyte(c1, cp->client_data);
-        }
-        return c;
-    }
-    if (c == '"')
-    {
-        while ((c = cp->getbyte(cp->client_data)) != EOF && c != '"')
-        {
-            if (c == '\\')
-                c = cp->getbyte(cp->client_data);
-            putb(lval, cp, c);
-        }
-        putb(lval, cp, 0);
-    }
-    else
-    {
-        putb(lval, cp, c);
-        while ((c = cp->getbyte(cp->client_data)) != 0 &&
-               !strchr(" \n()=<>/", c))
-        {
-            if (c == '\\')
-                c = cp->getbyte(cp->client_data);
-            putb(lval, cp, c);
-        }
-#if YYDEBUG
-        printf ("got %s\n", lval->buf);
-#endif
-        if (c != 0)
-            cp->ungetbyte(c, cp->client_data);
-        if (!strcmp(lval->buf, "and"))
-            return AND;
-        if (!strcmp(lval->buf, "or"))
-            return OR;
-        if (!strcmp(lval->buf, "not"))
-            return NOT;
-        if (!strncmp(lval->buf, "prox", 4))
-            return PROX;
-    }
-    return TERM;
-}