[前][次][番号順一覧][スレッド一覧]

ruby-changes:68198

From: nagachika <ko1@a...>
Date: Sat, 2 Oct 2021 11:22:42 +0900 (JST)
Subject: [ruby-changes:68198] efa1ba15fd (ruby_3_0): merge revision(s) fa05697e4832fbd67a4f91b9bb362471902faab3: [Backport #18166]

https://git.ruby-lang.org/ruby.git/commit/?id=efa1ba15fd

From efa1ba15fd5007210f819e6d11002ca829c989bf Mon Sep 17 00:00:00 2001
From: nagachika <nagachika@r...>
Date: Sat, 2 Oct 2021 11:22:19 +0900
Subject: merge revision(s) fa05697e4832fbd67a4f91b9bb362471902faab3: [Backport
 #18166]

	Use `%printer` directive for Bison 3.8

	---
	 parse.y | 74 ++++++++++++++++++++++++++---------------------------------------
	 1 file changed, 29 insertions(+), 45 deletions(-)
---
 parse.y   | 31 +++++++++++++++++++++++++++++--
 version.h |  6 +++---
 2 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/parse.y b/parse.y
index b111202e8d..3bc3748dd5 100644
--- a/parse.y
+++ b/parse.y
@@ -89,7 +89,6 @@ struct lex_context { https://github.com/ruby/ruby/blob/trunk/parse.y#L89
 #define YYCALLOC(nelem, size)	rb_parser_calloc(p, (nelem), (size))
 #define YYFREE(ptr)		rb_parser_free(p, (ptr))
 #define YYFPRINTF		rb_parser_printf
-#define YYPRINT(out, tok, val)	parser_token_value_print(p, (tok), &(val))
 #define YY_LOCATION_PRINT(File, loc) \
      rb_parser_printf(p, "%d.%d-%d.%d", \
 		      (loc).beg_pos.lineno, (loc).beg_pos.column,\
@@ -654,7 +653,6 @@ RUBY_SYMBOL_EXPORT_END https://github.com/ruby/ruby/blob/trunk/parse.y#L653
 
 static void error_duplicate_pattern_variable(struct parser_params *p, ID id, const YYLTYPE *loc);
 static void error_duplicate_pattern_key(struct parser_params *p, ID id, const YYLTYPE *loc);
-static void parser_token_value_print(struct parser_params *p, enum yytokentype type, const YYSTYPE *valp);
 #ifndef RIPPER
 static ID formal_argument(struct parser_params*, ID);
 #else
@@ -1084,6 +1082,35 @@ static int looking_at_eol_p(struct parser_params *p); https://github.com/ruby/ruby/blob/trunk/parse.y#L1082
 %expect 0
 %define api.pure
 %define parse.error verbose
+%printer {
+#ifndef RIPPER
+    rb_parser_printf(p, "%"PRIsVALUE, rb_id2str($$));
+#else
+    rb_parser_printf(p, "%"PRIsVALUE, RNODE($$)->nd_rval);
+#endif
+} tIDENTIFIER tFID tGVAR tIVAR tCONSTANT tCVAR tLABEL tOP_ASGN
+%printer {
+#ifndef RIPPER
+    rb_parser_printf(p, "%+"PRIsVALUE, $$->nd_lit);
+#else
+    rb_parser_printf(p, "%+"PRIsVALUE, get_value($$));
+#endif
+} tINTEGER tFLOAT tRATIONAL tIMAGINARY tSTRING_CONTENT tCHAR
+%printer {
+#ifndef RIPPER
+    rb_parser_printf(p, "$%ld", $$->nd_nth);
+#else
+    rb_parser_printf(p, "%"PRIsVALUE, $$);
+#endif
+} tNTH_REF
+%printer {
+#ifndef RIPPER
+    rb_parser_printf(p, "$%c", (int)$$->nd_nth);
+#else
+    rb_parser_printf(p, "%"PRIsVALUE, $$);
+#endif
+} tBACK_REF
+
 %lex-param {struct parser_params *p}
 %parse-param {struct parser_params *p}
 %initial-action
diff --git a/version.h b/version.h
index 4daebe9a20..7a107b85fe 100644
--- a/version.h
+++ b/version.h
@@ -12,11 +12,11 @@ https://github.com/ruby/ruby/blob/trunk/version.h#L12
 # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
 #define RUBY_VERSION_TEENY 3
 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 137
+#define RUBY_PATCHLEVEL 138
 
 #define RUBY_RELEASE_YEAR 2021
-#define RUBY_RELEASE_MONTH 9
-#define RUBY_RELEASE_DAY 26
+#define RUBY_RELEASE_MONTH 10
+#define RUBY_RELEASE_DAY 2
 
 #include "ruby/version.h"
 
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]