X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fspotlight%2Fspotlight_rawquery_lexer.l;h=d5dba7695acd6080cc0cf04ee05c7bc97d4d2e59;hb=af3a18cef2dc7a03e2ba40e0907b64b7a9d50e2c;hp=bbfcad50a963b6a8013d06c541abecb6f3d54474;hpb=40c614d84ae5bf7c1808a30a2ccac8db12228519;p=netatalk.git diff --git a/etc/spotlight/spotlight_rawquery_lexer.l b/etc/spotlight/spotlight_rawquery_lexer.l index bbfcad50..d5dba769 100644 --- a/etc/spotlight/spotlight_rawquery_lexer.l +++ b/etc/spotlight/spotlight_rawquery_lexer.l @@ -9,15 +9,31 @@ #include #include #include +#ifdef HAVE_TRACKER_SPARQL #include "slmod_sparql_parser.h" +#define SLQ_VAR ssp_slq +#endif +#ifdef HAVE_TRACKER_0_6 +#include +#include "slmod_tracker_0_6_parser.h" +#define SLQ_VAR ts_slq +#endif %} +ASC [a-zA-Z0-9_\*\:\-\.] +U [\x80-\xbf] +U2 [\xc2-\xdf] +U3 [\xe0-\xef] +U4 [\xf0-\xf4] + +UANY {ASC}|{U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U} +UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U} + %% InRange return FUNC_INRANGE; \$time\.iso return DATE_ISO; false {yylval.bval = false; return BOOL;} true {yylval.bval = true; return BOOL;} -[a-zA-Z0-9_\*\:\-\.]+ {yylval.sval = talloc_strdup(ssp_slq, yytext); return WORD;} \" return QUOTE; \( return OBRACE; \) return CBRACE; @@ -28,5 +44,6 @@ true {yylval.bval = true; return BOOL;} \< return LT; \> return GT; \, return COMMA; +{UANY}+ {yylval.sval = talloc_strdup(SLQ_VAR, yytext); return WORD;} [ \t\n] /* ignore */ %%