X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Foptions%2Fscanner.l;h=6e58f3f84fcfd1a0570375e647304557c9e20641;hb=63f71170a4353e58f57f0572db83893cebc2ad91;hp=124900cf75cd5f95576bccdcbf751b7b7ae92249;hpb=d9752c25d2f723d27e355d0c7090b65b0445c4a4;p=awesomized%2Flibmemcached diff --git a/libmemcached/options/scanner.l b/libmemcached/options/scanner.l index 124900cf..6e58f3f8 100644 --- a/libmemcached/options/scanner.l +++ b/libmemcached/options/scanner.l @@ -24,15 +24,12 @@ #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-fpermissive" -#include - #include #include #include #include #define YY_EXTRA_TYPE Context* -#define YY_USER_ACTION yylloc->first_line = yylineno; } @@ -63,16 +60,15 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont %} +%option 8bit %option bison-bridge -%option bison-locations %option case-insensitive %option debug %option nounput %option noyywrap -%option yylineno %option outfile="libmemcached/options/scanner.cc" header-file="libmemcached/options/scanner.h" %option perf-report -%option prefix="libmemcached_" +%option prefix="config_" %option reentrant %% @@ -107,8 +103,8 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont "--CONNECT_TIMEOUT" { yyextra->begin= yytext; return CONNECT_TIMEOUT; } "--CONNECT-TIMEOUT" { yyextra->begin= yytext; return CONNECT_TIMEOUT; } "--CORK" { yyextra->begin= yytext; return _CORK; } -"--DISTRIBUTION" { yyextra->begin= yytext; return DISTRIBUTION; } -"--HASH" { yyextra->begin= yytext; return HASH; } +"--DISTRIBUTION=" { yyextra->begin= yytext; return DISTRIBUTION; } +"--HASH=" { yyextra->begin= yytext; return HASH; } "--HASH_WITH_PREFIX_KEY" { yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; } "--HASH-WITH-PREFIX_KEY" { yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; } "--IO_BYTES_WATERMARK" { yyextra->begin= yytext; return IO_BYTES_WATERMARK; } @@ -118,8 +114,8 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont "--IO_MSG_WATERMARK" { yyextra->begin= yytext; return IO_MSG_WATERMARK; } "--IO-MSG-WATERMARK" { yyextra->begin= yytext; return IO_MSG_WATERMARK; } "--KETAMA" { yyextra->begin= yytext; return KETAMA; } -"--KETAMA_HASH" { yyextra->begin= yytext; return KETAMA_HASH; } -"--KETAMA-HASH" { yyextra->begin= yytext; return KETAMA_HASH; } +"--KETAMA_HASH=" { yyextra->begin= yytext; return KETAMA_HASH; } +"--KETAMA-HASH=" { yyextra->begin= yytext; return KETAMA_HASH; } "--KETAMA_WEIGHTED" { yyextra->begin= yytext; return KETAMA_WEIGHTED; } "--KETAMA-WEIGHTED" { yyextra->begin= yytext; return KETAMA_WEIGHTED; } "--NOREPLY" { yyextra->begin= yytext; return NOREPLY; } @@ -156,14 +152,15 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont "--USE_UDP" { yyextra->begin= yytext; return USE_UDP; } "--USE-UDP" { yyextra->begin= yytext; return USE_UDP; } -"--PREFIX-KEY" { yyextra->begin= yytext; return PREFIX_KEY; } -"--PREFIX_KEY" { yyextra->begin= yytext; return PREFIX_KEY; } +"--PREFIX-KEY=" { yyextra->begin= yytext; return PREFIX_KEY; } +"--PREFIX_KEY=" { yyextra->begin= yytext; return PREFIX_KEY; } -INCLUDE { yyextra->begin= yytext; std::cerr << "Found INCLUDE" << std::endl; return INCLUDE; } +INCLUDE { yyextra->begin= yytext; return INCLUDE; } RESET { yyextra->begin= yytext; return RESET; } -DEBUG { yyextra->begin= yytext; return DEBUG; } +DEBUG { yyextra->begin= yytext; return PARSER_DEBUG; } SERVERS { yyextra->begin= yytext; return SERVERS; } END { yyextra->begin= yytext; return END; } +ERROR { yyextra->begin= yytext; return ERROR; } TRUE { return TRUE; } FALSE { return FALSE; } @@ -241,3 +238,4 @@ void Context::destroy_scanner() { yylex_destroy(scanner); } +