#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-fpermissive"
-#include <iostream>
-
#include <libmemcached/options/context.h>
#include <libmemcached/options/parser.h>
#include <libmemcached/options/string.h>
#include <libmemcached/options/symbol.h>
#define YY_EXTRA_TYPE Context*
-#define YY_USER_ACTION yylloc->first_line = yylineno;
}
%}
+%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
%%
return COMMENT;
}
-"--SERVER" { yyextra->begin= yytext; return SERVER; }
-"--SERVERS" { yyextra->begin= yytext; return SERVERS_OPTION; }
+"--SERVER=" { yyextra->begin= yytext; return SERVER; }
+"--SERVERS=" { yyextra->begin= yytext; return SERVERS_OPTION; }
"--VERIFY_KEY" { yyextra->begin= yytext; return VERIFY_KEY; }
"--VERIFY-KEY" { yyextra->begin= yytext; return VERIFY_KEY; }
"--BUFFER-REQUESTS" { yyextra->begin= yytext; return BUFFER_REQUESTS; }
"--CACHE_LOOKUPS" { yyextra->begin= yytext; return CACHE_LOOKUPS; }
"--CACHE-LOOKUPS" { yyextra->begin= yytext; return CACHE_LOOKUPS; }
-"--CONFIGURE_FILE" { yyextra->begin= yytext; return CONFIGURE_FILE; }
-"--CONFIGURE-FILE" { yyextra->begin= yytext; return CONFIGURE_FILE; }
-"--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; }
+"--CONFIGURE_FILE=" { yyextra->begin= yytext; return CONFIGURE_FILE; }
+"--CONFIGURE-FILE=" { yyextra->begin= yytext; return CONFIGURE_FILE; }
+"--CONNECT_TIMEOUT=" { yyextra->begin= yytext; return CONNECT_TIMEOUT; }
+"--CONNECT-TIMEOUT=" { yyextra->begin= yytext; return CONNECT_TIMEOUT; }
+"--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; }
-"--IO-BYTES-WATERMARK" { yyextra->begin= yytext; return IO_BYTES_WATERMARK; }
-"--IO_KEY_PREFETCH" { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
-"--IO-KEY-PREFETCH" { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
-"--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; }
+"--IO_BYTES_WATERMARK=" { yyextra->begin= yytext; return IO_BYTES_WATERMARK; }
+"--IO-BYTES-WATERMARK=" { yyextra->begin= yytext; return IO_BYTES_WATERMARK; }
+"--IO_KEY_PREFETCH=" { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
+"--IO-KEY-PREFETCH=" { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
+"--IO_MSG_WATERMARK=" { yyextra->begin= yytext; return IO_MSG_WATERMARK; }
+"--IO-MSG-WATERMARK=" { yyextra->begin= yytext; return IO_MSG_WATERMARK; }
"--KETAMA_WEIGHTED" { yyextra->begin= yytext; return KETAMA_WEIGHTED; }
"--KETAMA-WEIGHTED" { yyextra->begin= yytext; return KETAMA_WEIGHTED; }
"--NOREPLY" { yyextra->begin= yytext; return NOREPLY; }
-"--NUMBER_OF_REPLICAS" { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
-"--NUMBER-OF-REPLICAS" { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
-"--POLL_TIMEOUT" { yyextra->begin= yytext; return POLL_TIMEOUT; }
-"--POLL-TIMEOUT" { yyextra->begin= yytext; return POLL_TIMEOUT; }
+"--NUMBER_OF_REPLICAS=" { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
+"--NUMBER-OF-REPLICAS=" { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
+"--POLL_TIMEOUT=" { yyextra->begin= yytext; return POLL_TIMEOUT; }
+"--POLL-TIMEOUT=" { yyextra->begin= yytext; return POLL_TIMEOUT; }
"--RANDOMIZE_REPLICA_READ" { yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; }
"--RANDOMIZE-REPLICA-READ" { yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; }
-"--RCV_TIMEOUT" { yyextra->begin= yytext; return RCV_TIMEOUT; }
-"--RCV-TIMEOUT" { yyextra->begin= yytext; return RCV_TIMEOUT; }
-"--RETRY_TIMEOUT" { yyextra->begin= yytext; return RETRY_TIMEOUT; }
-"--RETRY-TIMEOUT" { yyextra->begin= yytext; return RETRY_TIMEOUT; }
-"--SERVER_FAILURE_LIMIT" { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
-"--SERVER-FAILURE-LIMIT" { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
-"--SND_TIMEOUT" { yyextra->begin= yytext; return SND_TIMEOUT; }
-"--SND-TIMEOUT" { yyextra->begin= yytext; return SND_TIMEOUT; }
-"--SOCKET_RECV_SIZE" { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
-"--SOCKET-RECV-SIZE" { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
-"--SOCKET_SEND_SIZE" { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
-"--SOCKET-SEND-SIZE" { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
+"--RCV_TIMEOUT=" { yyextra->begin= yytext; return RCV_TIMEOUT; }
+"--RCV-TIMEOUT=" { yyextra->begin= yytext; return RCV_TIMEOUT; }
+"--RETRY_TIMEOUT=" { yyextra->begin= yytext; return RETRY_TIMEOUT; }
+"--RETRY-TIMEOUT=" { yyextra->begin= yytext; return RETRY_TIMEOUT; }
+"--SERVER_FAILURE_LIMIT=" { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
+"--SERVER-FAILURE-LIMIT=" { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
+"--SND_TIMEOUT=" { yyextra->begin= yytext; return SND_TIMEOUT; }
+"--SND-TIMEOUT=" { yyextra->begin= yytext; return SND_TIMEOUT; }
+"--SOCKET_RECV_SIZE=" { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
+"--SOCKET-RECV-SIZE=" { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
+"--SOCKET_SEND_SIZE=" { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
+"--SOCKET-SEND-SIZE=" { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
"--SORT_HOSTS" { yyextra->begin= yytext; return SORT_HOSTS; }
"--SORT-HOSTS" { yyextra->begin= yytext; return SORT_HOSTS; }
"--SUPPORT_CAS" { yyextra->begin= yytext; return SUPPORT_CAS; }
"--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; }
{
yylex_destroy(scanner);
}
+