X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcsl%2Fparser.yy;h=87fe4f3b4f9b706cbf429f166fdafd428562b1fd;hb=4c0ac29dbad968b0a09fe4dc85c555627d3ac35a;hp=dd9c720b9631009f2ac0277eb51c2f2fdc7ae2ff;hpb=599f5fe51b935465234e8085e549915d9b131fd1;p=awesomized%2Flibmemcached diff --git a/libmemcached/csl/parser.yy b/libmemcached/csl/parser.yy index dd9c720b..87fe4f3b 100644 --- a/libmemcached/csl/parser.yy +++ b/libmemcached/csl/parser.yy @@ -42,17 +42,16 @@ class Context; %} -%error-verbose +%define parse.error verbose +%define api.pure +%define api.prefix {config_} +%define api.value.type {union CONFIG_STYPE} %debug %defines %expect 0 -%output "libmemcached/csl/parser.cc" -%defines "libmemcached/csl/parser.h" %lex-param { yyscan_t *scanner } -%name-prefix="config_" %parse-param { class Context *context } %parse-param { yyscan_t *scanner } -%pure-parser %require "2.5" %start begin %verbose @@ -76,24 +75,24 @@ class Context; # endif #endif -int conf_lex(YYSTYPE* lvalp, void* scanner); +int config_lex(YYSTYPE* lvalp, void* scanner); #define select_yychar(__context) yychar == UNKNOWN ? ( (__context)->previous_token == END ? UNKNOWN : (__context)->previous_token ) : yychar #define stryytname(__yytokentype) ((__yytokentype) < YYNTOKENS ) ? yytname[(__yytokentype)] : "" -#define parser_abort(__context, __error_message) do { (__context)->abort((__error_message), yytokentype(select_yychar(__context)), stryytname(YYTRANSLATE(select_yychar(__context)))); YYABORT; } while (0) +#define parser_abort(__context, __error_message) do { (__context)->abort((__error_message), config_tokentype(select_yychar(__context)), stryytname(YYTRANSLATE(select_yychar(__context)))); YYABORT; } while (0) // This is bison calling error. inline void __config_error(Context *context, yyscan_t *scanner, const char *error, int last_token, const char *last_token_str) { if (not context->end()) { - context->error(error, yytokentype(last_token), last_token_str); + context->error(error, config_tokentype(last_token), last_token_str); } else { - context->error(error, yytokentype(last_token), last_token_str); + context->error(error, config_tokentype(last_token), last_token_str); } }