summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-07 08:23:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-07 08:23:09 +0000
commit3168ffbd54a26e37f8d9a4ae56867a7e145faa33 (patch)
tree06081090b596e11d839599cb81f5dfad3805ea5b
parentaf191e7efc96bff2d2a59fa86838efc38f07bc93 (diff)
parse.y: require pure parser
* parse.y (yylex): non-pure parser has not been supported since merger of ripper. change argument types from void pointers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y20
2 files changed, 11 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index ea7187d450..087929c762 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/parse.y b/parse.y
index fe62426dcf..1ccd22e03a 100644
--- a/parse.y
+++ b/parse.y
@@ -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)) {