diff --git a/src/frontend/scanner.l b/src/frontend/scanner.l
index 4dcd5e2a4f0cb196d986e769e77bb68cac7b97d7..dd2a86cf5273b4e5e3c450c02306820b282a1a46 100644 (file)
--- a/src/frontend/scanner.l
+++ b/src/frontend/scanner.l
{identifier} {
/* XXX: simplify handling of reserved words */
- if (! strcasecmp(yytext, "FETCH"))
+ if (! strcasecmp(yytext, "AND"))
+ return AND;
+ else if (! strcasecmp(yytext, "FETCH"))
return FETCH;
else if (! strcasecmp(yytext, "LIST"))
return LIST;
else if (! strcasecmp(yytext, "LOOKUP"))
return LOOKUP;
+ else if (! strcasecmp(yytext, "NOT"))
+ return NOT;
+ else if (! strcasecmp(yytext, "OR"))
+ return OR;
else if (! strcasecmp(yytext, "WHERE"))
return WHERE;
return STRING;
}
+= { return CMP_EQUAL; }
+!= { return CMP_NEQUAL; }
+=~ { return CMP_REGEX; }
+!~ { return CMP_NREGEX; }
+
. { /* XXX: */ return yytext[0]; }
%%