X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Foptions%2Fscanner.l;h=f5d09e7a3aaa1e1755f5bc3cf4ab2470d7c1f830;hb=f0d3a824ed9acb9f6e3080683abe2bcc8b0cd6bd;hp=1afc50eb5a12ca337dc03715ff7f1982e5516851;hpb=696240873d8c6ca5edc482a7395984aac14d5b32;p=awesomized%2Flibmemcached diff --git a/libmemcached/options/scanner.l b/libmemcached/options/scanner.l index 1afc50eb..f5d09e7a 100644 --- a/libmemcached/options/scanner.l +++ b/libmemcached/options/scanner.l @@ -81,6 +81,10 @@ static void get_lex_chars(char* buffer, int& result, int max_size, struct type_s [\t\r\n] ; /* skip whitespace */ +^#.*$ { + return COMMENT; + } + "--" { return DASH_OPTION; } SERVER { return SERVER; } @@ -148,6 +152,9 @@ USER-DATA { return USER_DATA; } USE_UDP { return USE_UDP; } USE-UDP { return USE_UDP; } +PREFIX-KEY { return PREFIX_KEY; } +PREFIX_KEY { return PREFIX_KEY; } + CONSISTENT { return CONSISTENT; } MODULA { return MODULA; } RANDOM { return RANDOM; } @@ -165,14 +172,15 @@ JENKINS { return JENKINS; } [[:alnum:]][[:alnum:].]*[[:alpha:]]: { yylval->string.c_str = yytext; yylval->string.length = yyleng; - return SERVER_WITH_PORT; + return HOSTNAME_WITH_PORT; } -[[:alnum:]][[:alnum:].]*[[:alpha:]] { +[[:alnum:]]+"."[[:alpha:].]+ { yylval->string.c_str = yytext; yylval->string.length = yyleng; - return IDENTIFIER; + return HOSTNAME; } + [[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}: { yylval->string.c_str = yytext; yylval->string.length = yyleng; @@ -185,6 +193,18 @@ JENKINS { return JENKINS; } return IPADDRESS; } +[[:alnum:]]+ { + yylval->string.c_str = yytext; + yylval->string.length = yyleng; + return STRING; + } + +\".*\" { + yylval->string.c_str = yytext; + yylval->string.length = yyleng; + return QUOTED_STRING; + } + . { return UNKNOWN; }