diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 20 |
2 files changed, 11 insertions, 14 deletions
@@ -1,3 +1,8 @@ +Fri Aug 7 17:23:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (yylex): non-pure parser has not been supported since + merger of ripper. change argument types from void pointers. + Fri Aug 7 17:07:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * proc.c (method_super_method): uncallable method entry does not @@ -11,6 +11,9 @@ %{ +#if !YYPURE +# error needs pure parser +#endif #ifndef PARSER_DEBUG #define PARSER_DEBUG 0 #endif @@ -360,11 +363,7 @@ static int parser_yyerror(struct parser_params*, const char*); #define ruby_coverage (parser->coverage) #endif -#if YYPURE -static int yylex(void*, void*); -#else -static int yylex(void*); -#endif +static int yylex(YYSTYPE*, struct parser_params*); #ifndef RIPPER #define yyparse ruby_yyparse @@ -8526,20 +8525,13 @@ parser_yylex(struct parser_params *parser) return parse_ident(parser, c, cmd_state); } -#if YYPURE static int -yylex(void *lval, void *p) -#else -yylex(void *p) -#endif +yylex(YYSTYPE *lval, struct parser_params *parser) { - struct parser_params *parser = (struct parser_params*)p; int t; -#if YYPURE parser->parser_yylval = lval; - parser->parser_yylval->val = Qundef; -#endif + lval->val = Qundef; t = parser_yylex(parser); #ifdef RIPPER if (!NIL_P(parser->delayed)) { |