X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcsl%2Fparser.yy;h=243c4fcd835209b526ba76f76461b396e90fb507;hb=94d9c3c18e2020aa83f233ed8cedbc954e69eeca;hp=e70bba975a12da3c11768d4da92153bbde87eb19;hpb=cc47230b8dfe0bcd31d4f45ca84d2dd35ae360f0;p=awesomized%2Flibmemcached diff --git a/libmemcached/csl/parser.yy b/libmemcached/csl/parser.yy index e70bba97..243c4fcd 100644 --- a/libmemcached/csl/parser.yy +++ b/libmemcached/csl/parser.yy @@ -34,6 +34,14 @@ * */ +%{ + +#include + +class Context; + +%} + %error-verbose %debug %defines @@ -51,7 +59,6 @@ %{ -#include #include #include @@ -62,6 +69,12 @@ #pragma GCC diagnostic ignored "-Wold-style-cast" #endif +#ifndef __INTEL_COMPILER +#ifndef __clang__ +#pragma GCC diagnostic ignored "-Wlogical-op" +#endif +#endif + int conf_lex(YYSTYPE* lvalp, void* scanner); #define select_yychar(__context) yychar == UNKNOWN ? ( (__context)->previous_token == END ? UNKNOWN : (__context)->previous_token ) : yychar @@ -90,14 +103,14 @@ inline void __config_error(Context *context, yyscan_t *scanner, const char *erro %token COMMENT %token END -%token ERROR +%token CSL_ERROR %token RESET %token PARSER_DEBUG %token INCLUDE %token CONFIGURE_FILE %token EMPTY_LINE %token SERVER -%token SOCKET +%token CSL_SOCKET %token SERVERS %token SERVERS_OPTION %token UNKNOWN_OPTION @@ -159,13 +172,13 @@ inline void __config_error(Context *context, yyscan_t *scanner, const char *erro %token RANDOM /* Boolean values */ -%token TRUE -%token FALSE +%token CSL_TRUE +%token CSL_FALSE %nonassoc ',' %nonassoc '=' -%token FLOAT +%token CSL_FLOAT %token NUMBER %token PORT %token WEIGHT_START @@ -202,7 +215,7 @@ statement: context->set_end(); YYACCEPT; } - | ERROR + | CSL_ERROR { context->rc= MEMCACHED_PARSE_USER_ERROR; parser_abort(context, "ERROR called directly"); @@ -228,7 +241,7 @@ statement: expression: SERVER HOSTNAME optional_port optional_weight { - if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, $4))) + if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, uint32_t($4)))) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "Failed to add server: %s:%u", $2.c_str, uint32_t($3)); @@ -238,7 +251,7 @@ expression: } | SERVER IPADDRESS optional_port optional_weight { - if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, $4))) + if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, uint32_t($4)))) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "Failed to add server: %s:%u", $2.c_str, uint32_t($3)); @@ -246,12 +259,12 @@ expression: } context->unset_server(); } - | SOCKET string optional_weight + | CSL_SOCKET string optional_weight { - if (memcached_failed(context->rc= memcached_server_add_unix_socket_with_weight(context->memc, $2.c_str, $3))) + if (memcached_failed(context->rc= memcached_server_add_unix_socket_with_weight(context->memc, $2.c_str, uint32_t($3)))) { char buffer[1024]; - snprintf(buffer, sizeof(buffer), "Failed to add server: %s", $2.c_str); + snprintf(buffer, sizeof(buffer), "Failed to add socket: %s", $2.c_str); parser_abort(context, buffer); } } @@ -261,11 +274,11 @@ expression: } | POOL_MIN NUMBER { - context->memc->configure.initial_pool_size= $2; + context->memc->configure.initial_pool_size= uint32_t($2); } | POOL_MAX NUMBER { - context->memc->configure.max_pool_size= $2; + context->memc->configure.max_pool_size= uint32_t($2); } | behaviors ;