X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/fe1b448ada5e3a79ae3f523e08b5004396f30ca9..4182a0a18681fe4808f474441d62c5d2489e24e4:/etc/bench.pl.in?ds=sidebyside diff --git a/etc/bench.pl.in b/etc/bench.pl.in index 7cab2ebe..a95e646b 100755 --- a/etc/bench.pl.in +++ b/etc/bench.pl.in @@ -686,6 +686,7 @@ yy::parser::token_type yylex(yy::parser::semantic_type* yylval, yy::parser::location_type* yylloc) #endif { + typedef yy::parser::location_type location_type; typedef yy::parser::token token; static int stage = -1; ++stage; @@ -694,7 +695,7 @@ yy::parser::token_type yylex(yy::parser::semantic_type* yylval, #if USE_LEX_SYMBOL return yy::parser::make_END_OF_FILE (yy::location()); #else - *yylloc = yy::location (); + *yylloc = location_type (); return token::END_OF_FILE; #endif } @@ -702,17 +703,15 @@ yy::parser::token_type yylex(yy::parser::semantic_type* yylval, { #if USE_LEX_SYMBOL return yy::parser::make_NUMBER (stage, yy::location()); -#elif defined ONE_STAGE_BUILD +#else +# if defined ONE_STAGE_BUILD yylval->build(stage); - *yylloc = yy::location (); - return token::NUMBER; -#elif USE_VARIANTS +# elif USE_VARIANTS yylval->build() = stage; - *yylloc = yy::location (); - return token::NUMBER; -#else +# else yylval->ival = stage; - *yylloc = yy::location (); +# endif + *yylloc = location_type (); return token::NUMBER; #endif } @@ -720,17 +719,15 @@ yy::parser::token_type yylex(yy::parser::semantic_type* yylval, { #if USE_LEX_SYMBOL return yy::parser::make_TEXT ("A string.", yy::location()); -#elif defined ONE_STAGE_BUILD +#else +# if defined ONE_STAGE_BUILD yylval->build(std::string("A string.")); - *yylloc = yy::location (); - return token::TEXT; -#elif USE_VARIANTS +# elif USE_VARIANTS yylval->build() = std::string("A string."); - *yylloc = yy::location (); - return token::TEXT; -#else +# else yylval->sval = new std::string("A string."); - *yylloc = yy::location (); +# endif + *yylloc = location_type (); return token::TEXT; #endif }