"lt" return simple(TOKEN_TEST_LT);
"<=" return simple(TOKEN_TEST_LE);
"le" return simple(TOKEN_TEST_LE);
-"bitwise_and" return simple(TOKEN_TEST_BITWISE_AND);
-"&" return simple(TOKEN_TEST_BITWISE_AND);
+"bitwise_and" return simple(TOKEN_TEST_BITWISE_AND);
+"&" return simple(TOKEN_TEST_BITWISE_AND);
"contains" return simple(TOKEN_TEST_CONTAINS);
+"~" return simple(TOKEN_TEST_MATCHES);
"matches" return simple(TOKEN_TEST_MATCHES);
"!" return simple(TOKEN_TEST_NOT);
"not" return simple(TOKEN_TEST_NOT);
"or" return simple(TOKEN_TEST_OR);
-
"[" {
BEGIN(RANGE_INT);
return simple(TOKEN_LBRACKET);
return SCAN_FAILED;
}
-\" {
+\042 {
/* start quote */
/* The example of how to scan for strings was taken from
the flex 2.5.4 manual, from the section "Start Conditions".
return SCAN_FAILED;
}
-<DQUOTE>\" {
+<DQUOTE>\042 {
/* end quote */
int token;
BEGIN(INITIAL);
g_string_append_c(quoted_string, yytext[1]);
}
-<DQUOTE>[^\\\"]+ {
+<DQUOTE>[^\\\042]+ {
/* non-escaped string */
g_string_append(quoted_string, yytext);
}