Fix issue with multiple use of "DEBUG"
[awesomized/libmemcached] / libmemcached / options / scanner.l
index dc6427b27b1f2aaf1ef0c7a14f3d76e9a00827d6..71ec83d472579e76661dbe235f8811d96e9ff99f 100644 (file)
@@ -90,7 +90,7 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont
     }
 
 "--SERVER"                          { yyextra->begin= yytext; return SERVER; }
-"--SERVERS"                        { yyextra->begin= yytext; return SERVERS; }
+"--SERVERS"                        { yyextra->begin= yytext; return SERVERS_OPTION; }
 
 "--VERIFY_KEY"                      { yyextra->begin= yytext; return VERIFY_KEY; }
 "--VERIFY-KEY"                      { yyextra->begin= yytext; return VERIFY_KEY; }
@@ -159,8 +159,18 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont
 "--PREFIX-KEY"                         { yyextra->begin= yytext; return PREFIX_KEY; }
 "--PREFIX_KEY"                         { yyextra->begin= yytext; return PREFIX_KEY; }
 
+INCLUDE           { yyextra->begin= yytext; return INCLUDE; }
+RESET           { yyextra->begin= yytext; return RESET; }
+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; }
+
+
 "--"[[:alnum:]]*   {
-      std::cerr << "Started at " << yytext << std::endl;
       yyextra->begin= yytext;
       return UNKNOWN_OPTION;
     }
@@ -185,19 +195,19 @@ JENKINS                   { return JENKINS; }
       return HOSTNAME_WITH_PORT;
     }
 
-[[:alnum:]]+"."[[:alpha:].]+ { 
+[[:alnum:]]+"."[[:alpha:].]+[[:alnum:]] { 
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME;
     }
 
-[[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}: { 
+(([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3})): {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return IPADDRESS_WITH_PORT;
     }
 
-[[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}"."[[:digit:]]{1,3}  { 
+(([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3})) {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return IPADDRESS;
@@ -209,7 +219,7 @@ JENKINS                     { return JENKINS; }
       return STRING;
     }
 
-\".*\" { 
+(\".*\") {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return QUOTED_STRING;
@@ -232,3 +242,4 @@ void Context::destroy_scanner()
 {
   yylex_destroy(scanner);
 }
+