FreeBSD Bugzilla – Attachment 190116 Details for
Bug 225470
lang/ruby25: segfault when installing certain gems' docs
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
parse.y and others
0001-lang-ruby25-parse.y-assignable_gen-should-return-val.patch (text/plain), 286.43 KB, created by
Charlie Li
on 2018-01-27 15:49:41 UTC
(
hide
)
Description:
parse.y and others
Filename:
MIME Type:
Creator:
Charlie Li
Created:
2018-01-27 15:49:41 UTC
Size:
286.43 KB
patch
obsolete
>From 7423b91aa276d748608c060983ecb41dee217344 Mon Sep 17 00:00:00 2001 >From: Charlie Li <git@vishwin.info> >Date: Sat, 27 Jan 2018 10:28:21 -0500 >Subject: [PATCH] lang/ruby25: parse.y (assignable_gen): should return valid > NODE always even on errors. > >Patches obtained from upstream. Fixes a crash when installing/staging >certain gems, particularly during documentation generation. > >- https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225470 >- https://bugs.ruby-lang.org/issues/14261 >- https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=61523 > >Additional patches were generated after the initial patch to parse.y. >--- > Mk/bsd.ruby.mk | 2 +- > lang/ruby25/files/patch-ext_ripper_ripper.c | 5011 ++++++++++++++++++++++ > lang/ruby25/files/patch-ext_ripper_ripper.y | 45 + > lang/ruby25/files/patch-parse.c | 4926 +++++++++++++++++++++ > lang/ruby25/files/patch-parse.y | 45 + > lang/ruby25/files/patch-test_ruby_test__parse.rb | 15 + > 6 files changed, 10043 insertions(+), 1 deletion(-) > create mode 100644 lang/ruby25/files/patch-ext_ripper_ripper.c > create mode 100644 lang/ruby25/files/patch-ext_ripper_ripper.y > create mode 100644 lang/ruby25/files/patch-parse.c > create mode 100644 lang/ruby25/files/patch-parse.y > create mode 100644 lang/ruby25/files/patch-test_ruby_test__parse.rb > >diff --git a/Mk/bsd.ruby.mk b/Mk/bsd.ruby.mk >index 59ef0ca9c3f3..67eca64cfc70 100644 >--- a/Mk/bsd.ruby.mk >+++ b/Mk/bsd.ruby.mk >@@ -185,7 +185,7 @@ RUBY24= "" # PLIST_SUB helpers > # Ruby 2.5 > # > RUBY_RELVERSION= 2.5.0 >-RUBY_PORTREVISION= 0 >+RUBY_PORTREVISION= 1 > RUBY_PORTEPOCH= 1 > RUBY_PATCHLEVEL= 0 > RUBY25= "" # PLIST_SUB helpers >diff --git a/lang/ruby25/files/patch-ext_ripper_ripper.c b/lang/ruby25/files/patch-ext_ripper_ripper.c >new file mode 100644 >index 000000000000..e49be5ef8012 >--- /dev/null >+++ b/lang/ruby25/files/patch-ext_ripper_ripper.c >@@ -0,0 +1,5011 @@ >+--- ext/ripper/ripper.c.orig 2017-12-25 07:00:33 UTC >++++ ext/ripper/ripper.c >+@@ -1564,61 +1564,61 @@ static const yytype_uint16 yyrline[] = >+ 1735, 1744, 1753, 1762, 1773, 1774, 1784, 1785, 1795, 1803, >+ 1811, 1819, 1828, 1836, 1845, 1853, 1862, 1870, 1881, 1882, >+ 1892, 1900, 1910, 1918, 1928, 1932, 1936, 1944, 1952, 1960, >+- 1968, 1972, 1976, 1983, 1991, 1999, 2007, 2015, 2023, 2031, >+- 2035, 2039, 2046, 2055, 2058, 2067, 2076, 2087, 2088, 2089, >+- 2090, 2095, 2102, 2103, 2106, 2114, 2117, 2125, 2125, 2136, >+- 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, >+- 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, >+- 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2168, >+- 2168, 2168, 2169, 2169, 2170, 2170, 2170, 2171, 2171, 2171, >+- 2171, 2172, 2172, 2172, 2172, 2173, 2173, 2173, 2174, 2174, >+- 2174, 2174, 2175, 2175, 2175, 2175, 2176, 2176, 2176, 2176, >+- 2177, 2177, 2177, 2177, 2178, 2178, 2178, 2178, 2179, 2179, >+- 2182, 2186, 2190, 2218, 2223, 2228, 2233, 2244, 2249, 2254, >+- 2265, 2276, 2280, 2284, 2288, 2292, 2296, 2300, 2304, 2308, >+- 2312, 2316, 2320, 2324, 2328, 2329, 2333, 2337, 2341, 2345, >+- 2349, 2353, 2357, 2361, 2365, 2369, 2373, 2373, 2378, 2388, >+- 2394, 2395, 2396, 2397, 2400, 2404, 2411, 2423, 2424, 2428, >+- 2436, 2446, 2454, 2468, 2478, 2479, 2482, 2483, 2484, 2488, >+- 2496, 2506, 2515, 2523, 2533, 2542, 2551, 2551, 2563, 2574, >+- 2578, 2584, 2592, 2601, 2615, 2631, 2632, 2635, 2649, 2664, >+- 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, >+- 2685, 2694, 2693, 2720, 2720, 2729, 2733, 2728, 2742, 2750, >+- 2759, 2768, 2776, 2785, 2794, 2802, 2811, 2820, 2820, 2825, >+- 2829, 2833, 2844, 2845, 2856, 2860, 2872, 2884, 2884, 2884, >+- 2896, 2896, 2896, 2908, 2920, 2931, 2933, 2930, 2984, 2983, >+- 3011, 3010, 3035, 3034, 3062, 3067, 3061, 3090, 3091, 3090, >+- 3118, 3127, 3136, 3145, 3156, 3168, 3174, 3180, 3186, 3192, >+- 3198, 3208, 3214, 3220, 3226, 3236, 3242, 3249, 3254, 3255, >+- 3262, 3267, 3270, 3271, 3284, 3285, 3295, 3296, 3299, 3306, >+- 3316, 3324, 3334, 3342, 3351, 3361, 3369, 3378, 3387, 3397, >+- 3405, 3417, 3421, 3425, 3429, 3435, 3440, 3445, 3449, 3453, >+- 3457, 3461, 3465, 3473, 3477, 3481, 3485, 3489, 3493, 3497, >+- 3501, 3505, 3511, 3512, 3518, 3528, 3537, 3549, 3553, 3563, >+- 3570, 3579, 3587, 3593, 3596, 3601, 3604, 3593, 3625, 3633, >+- 3639, 3644, 3651, 3650, 3667, 3684, 3688, 3701, 3716, 3727, >+- 3726, 3738, 3737, 3748, 3753, 3752, 3764, 3763, 3774, 3783, >+- 3792, 3807, 3806, 3822, 3821, 3838, 3839, 3838, 3848, 3849, >+- 3848, 3858, 3871, 3872, 3875, 3897, 3900, 3908, 3916, 3919, >+- 3923, 3926, 3934, 3937, 3938, 3946, 3949, 3966, 3973, 3974, >+- 3984, 3994, 4000, 4006, 4017, 4024, 4034, 4042, 4052, 4063, >+- 4070, 4088, 4098, 4109, 4116, 4128, 4135, 4151, 4158, 4169, >+- 4176, 4187, 4194, 4235, 4243, 4242, 4260, 4266, 4271, 4275, >+- 4279, 4259, 4301, 4309, 4317, 4326, 4329, 4340, 4341, 4342, >+- 4343, 4346, 4357, 4358, 4369, 4376, 4383, 4390, 4399, 4400, >+- 4401, 4402, 4403, 4406, 4407, 4408, 4409, 4410, 4411, 4412, >+- 4415, 4428, 4438, 4442, 4448, 4455, 4465, 4464, 4474, 4483, >+- 4493, 4493, 4507, 4511, 4515, 4519, 4525, 4530, 4535, 4539, >+- 4543, 4547, 4551, 4555, 4559, 4563, 4567, 4571, 4575, 4579, >+- 4583, 4587, 4592, 4598, 4608, 4618, 4628, 4640, 4641, 4648, >+- 4657, 4666, 4691, 4698, 4712, 4721, 4731, 4743, 4752, 4763, >+- 4771, 4782, 4790, 4800, 4801, 4804, 4813, 4824, 4837, 4850, >+- 4858, 4868, 4876, 4886, 4887, 4890, 4903, 4914, 4915, 4918, >+- 4935, 4939, 4949, 4959, 4959, 4989, 4990, 5000, 5007, 5031, >+- 5043, 5051, 5062, 5076, 5077, 5078, 5081, 5082, 5083, 5084, >+- 5087, 5088, 5089, 5092, 5093, 5096, 5100, 5106, 5107, 5113, >+- 5114, 5117, 5118, 5121, 5124, 5127, 5128, 5129, 5132, 5133, >+- 5136, 5137, 5141 >++ 1968, 1972, 1976, 1983, 1987, 1991, 1999, 2007, 2015, 2023, >++ 2027, 2031, 2038, 2047, 2050, 2059, 2068, 2079, 2080, 2081, >++ 2082, 2087, 2094, 2095, 2098, 2106, 2109, 2117, 2117, 2128, >++ 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, >++ 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, >++ 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2160, >++ 2160, 2160, 2161, 2161, 2162, 2162, 2162, 2163, 2163, 2163, >++ 2163, 2164, 2164, 2164, 2164, 2165, 2165, 2165, 2166, 2166, >++ 2166, 2166, 2167, 2167, 2167, 2167, 2168, 2168, 2168, 2168, >++ 2169, 2169, 2169, 2169, 2170, 2170, 2170, 2170, 2171, 2171, >++ 2174, 2178, 2182, 2210, 2215, 2220, 2225, 2236, 2241, 2246, >++ 2257, 2268, 2272, 2276, 2280, 2284, 2288, 2292, 2296, 2300, >++ 2304, 2308, 2312, 2316, 2320, 2321, 2325, 2329, 2333, 2337, >++ 2341, 2345, 2349, 2353, 2357, 2361, 2365, 2365, 2370, 2380, >++ 2386, 2387, 2388, 2389, 2392, 2396, 2403, 2415, 2416, 2420, >++ 2428, 2438, 2446, 2460, 2470, 2471, 2474, 2475, 2476, 2480, >++ 2488, 2498, 2507, 2515, 2525, 2534, 2543, 2543, 2555, 2566, >++ 2570, 2576, 2584, 2593, 2607, 2623, 2624, 2627, 2641, 2656, >++ 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, >++ 2677, 2686, 2685, 2712, 2712, 2721, 2725, 2720, 2734, 2742, >++ 2751, 2760, 2768, 2777, 2786, 2794, 2803, 2812, 2812, 2817, >++ 2821, 2825, 2836, 2837, 2848, 2852, 2864, 2876, 2876, 2876, >++ 2888, 2888, 2888, 2900, 2912, 2923, 2925, 2922, 2976, 2975, >++ 3003, 3002, 3027, 3026, 3054, 3059, 3053, 3082, 3083, 3082, >++ 3110, 3119, 3128, 3137, 3148, 3160, 3166, 3172, 3178, 3184, >++ 3190, 3200, 3206, 3212, 3218, 3228, 3234, 3241, 3246, 3247, >++ 3254, 3259, 3262, 3263, 3276, 3277, 3287, 3288, 3291, 3298, >++ 3308, 3316, 3326, 3334, 3343, 3353, 3361, 3370, 3379, 3389, >++ 3397, 3409, 3413, 3417, 3421, 3427, 3432, 3437, 3441, 3445, >++ 3449, 3453, 3457, 3465, 3469, 3473, 3477, 3481, 3485, 3489, >++ 3493, 3497, 3503, 3504, 3510, 3520, 3529, 3541, 3545, 3555, >++ 3562, 3571, 3579, 3585, 3588, 3593, 3596, 3585, 3617, 3625, >++ 3631, 3636, 3643, 3642, 3659, 3676, 3680, 3693, 3708, 3719, >++ 3718, 3730, 3729, 3740, 3745, 3744, 3756, 3755, 3766, 3775, >++ 3784, 3799, 3798, 3814, 3813, 3830, 3831, 3830, 3840, 3841, >++ 3840, 3850, 3863, 3864, 3867, 3889, 3892, 3900, 3908, 3911, >++ 3915, 3918, 3926, 3929, 3930, 3938, 3941, 3958, 3965, 3966, >++ 3976, 3986, 3992, 3998, 4009, 4016, 4026, 4034, 4044, 4055, >++ 4062, 4080, 4090, 4101, 4108, 4120, 4127, 4143, 4150, 4161, >++ 4168, 4179, 4186, 4227, 4235, 4234, 4252, 4258, 4263, 4267, >++ 4271, 4251, 4293, 4301, 4309, 4318, 4321, 4332, 4333, 4334, >++ 4335, 4338, 4349, 4350, 4361, 4368, 4375, 4382, 4391, 4392, >++ 4393, 4394, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, >++ 4407, 4420, 4430, 4434, 4440, 4447, 4457, 4456, 4466, 4475, >++ 4485, 4485, 4499, 4503, 4507, 4511, 4517, 4522, 4527, 4531, >++ 4535, 4539, 4543, 4547, 4551, 4555, 4559, 4563, 4567, 4571, >++ 4575, 4579, 4584, 4590, 4600, 4610, 4620, 4632, 4633, 4640, >++ 4649, 4658, 4683, 4690, 4704, 4713, 4723, 4735, 4744, 4755, >++ 4763, 4774, 4782, 4792, 4793, 4796, 4805, 4816, 4829, 4842, >++ 4850, 4860, 4868, 4878, 4879, 4882, 4895, 4906, 4907, 4910, >++ 4927, 4931, 4941, 4951, 4951, 4981, 4982, 4992, 4999, 5023, >++ 5035, 5043, 5054, 5068, 5069, 5070, 5073, 5074, 5075, 5076, >++ 5079, 5080, 5081, 5084, 5085, 5088, 5092, 5098, 5099, 5105, >++ 5106, 5109, 5110, 5113, 5116, 5119, 5120, 5121, 5124, 5125, >++ 5128, 5129, 5133 >+ }; >+ #endif >+ >+@@ -6590,28 +6590,20 @@ yyreduce: >+ #line 1984 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc)); >+-#if 0 >+- if (!(yyval.val)) (yyval.val) = new_begin(0, &(yyloc)); >+-#endif >+- >+ } >+-#line 6595 "ripper.c" /* yacc.c:1646 */ >++#line 6591 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 104: >+-#line 1992 "ripper.y" /* yacc.c:1646 */ >++#line 1988 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc)); >+-#if 0 >+- if (!(yyval.val)) (yyval.val) = new_begin(0, &(yyloc)); >+-#endif >+- >+ } >+-#line 6607 "ripper.c" /* yacc.c:1646 */ >++#line 6599 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 105: >+-#line 2000 "ripper.y" /* yacc.c:1646 */ >++#line 1992 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = aryset((yyvsp[-3].val), (yyvsp[-1].val), &(yyloc)); >+@@ -6619,11 +6611,11 @@ yyreduce: >+ (yyval.val) = dispatch2(aref_field, (yyvsp[-3].val), escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 6619 "ripper.c" /* yacc.c:1646 */ >++#line 6611 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 106: >+-#line 2008 "ripper.y" /* yacc.c:1646 */ >++#line 2000 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = attrset((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -6631,11 +6623,11 @@ yyreduce: >+ (yyval.val) = dispatch3(field, (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 6631 "ripper.c" /* yacc.c:1646 */ >++#line 6623 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 107: >+-#line 2016 "ripper.y" /* yacc.c:1646 */ >++#line 2008 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = attrset((yyvsp[-2].val), idCOLON2, (yyvsp[0].val), &(yyloc)); >+@@ -6643,11 +6635,11 @@ yyreduce: >+ (yyval.val) = dispatch3(field, (yyvsp[-2].val), ID2VAL(idCOLON2), (yyvsp[0].val)); >+ >+ } >+-#line 6643 "ripper.c" /* yacc.c:1646 */ >++#line 6635 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 108: >+-#line 2024 "ripper.y" /* yacc.c:1646 */ >++#line 2016 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = attrset((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -6655,36 +6647,36 @@ yyreduce: >+ (yyval.val) = dispatch3(field, (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 6655 "ripper.c" /* yacc.c:1646 */ >++#line 6647 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 109: >+-#line 2032 "ripper.y" /* yacc.c:1646 */ >++#line 2024 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = const_decl(const_path_field((yyvsp[-2].val), (yyvsp[0].val), &(yyloc)), &(yyloc)); >+ } >+-#line 6663 "ripper.c" /* yacc.c:1646 */ >++#line 6655 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 110: >+-#line 2036 "ripper.y" /* yacc.c:1646 */ >++#line 2028 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = const_decl(top_const_field((yyvsp[0].val)), &(yyloc)); >+ } >+-#line 6671 "ripper.c" /* yacc.c:1646 */ >++#line 6663 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 111: >+-#line 2040 "ripper.y" /* yacc.c:1646 */ >++#line 2032 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = var_field((yyvsp[0].val)); >+ (yyval.val) = backref_assign_error((yyvsp[0].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 6680 "ripper.c" /* yacc.c:1646 */ >++#line 6672 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 112: >+-#line 2047 "ripper.y" /* yacc.c:1646 */ >++#line 2039 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ yyerror0("class/module name must be CONSTANT"); >+@@ -6693,11 +6685,11 @@ yyreduce: >+ ripper_error(); >+ >+ } >+-#line 6693 "ripper.c" /* yacc.c:1646 */ >++#line 6685 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 114: >+-#line 2059 "ripper.y" /* yacc.c:1646 */ >++#line 2051 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_COLON3((yyvsp[0].val)); >+@@ -6706,11 +6698,11 @@ yyreduce: >+ (yyval.val) = dispatch1(top_const_ref, (yyvsp[0].val)); >+ >+ } >+-#line 6706 "ripper.c" /* yacc.c:1646 */ >++#line 6698 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 115: >+-#line 2068 "ripper.y" /* yacc.c:1646 */ >++#line 2060 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_COLON2(0, (yyval.val)); >+@@ -6719,11 +6711,11 @@ yyreduce: >+ (yyval.val) = dispatch1(const_ref, (yyvsp[0].val)); >+ >+ } >+-#line 6719 "ripper.c" /* yacc.c:1646 */ >++#line 6711 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 116: >+-#line 2077 "ripper.y" /* yacc.c:1646 */ >++#line 2069 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_COLON2((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -6732,29 +6724,29 @@ yyreduce: >+ (yyval.val) = dispatch2(const_path_ref, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 6732 "ripper.c" /* yacc.c:1646 */ >++#line 6724 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 120: >+-#line 2091 "ripper.y" /* yacc.c:1646 */ >++#line 2083 "ripper.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_ENDFN); >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 6741 "ripper.c" /* yacc.c:1646 */ >++#line 6733 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 121: >+-#line 2096 "ripper.y" /* yacc.c:1646 */ >++#line 2088 "ripper.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_ENDFN); >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 6750 "ripper.c" /* yacc.c:1646 */ >++#line 6742 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 124: >+-#line 2107 "ripper.y" /* yacc.c:1646 */ >++#line 2099 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_lit(ID2SYM((yyvsp[0].val)), &(yyloc)); >+@@ -6762,11 +6754,11 @@ yyreduce: >+ (yyval.val) = dispatch1(symbol_literal, (yyvsp[0].val)); >+ >+ } >+-#line 6762 "ripper.c" /* yacc.c:1646 */ >++#line 6754 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 126: >+-#line 2118 "ripper.y" /* yacc.c:1646 */ >++#line 2110 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_undef((yyvsp[0].val), &(yyloc)); >+@@ -6774,17 +6766,17 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 6774 "ripper.c" /* yacc.c:1646 */ >++#line 6766 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 127: >+-#line 2125 "ripper.y" /* yacc.c:1646 */ >++#line 2117 "ripper.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);} >+-#line 6780 "ripper.c" /* yacc.c:1646 */ >++#line 6772 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 128: >+-#line 2126 "ripper.y" /* yacc.c:1646 */ >++#line 2118 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *undef = new_undef((yyvsp[0].val), &(yyloc)); >+@@ -6793,207 +6785,207 @@ yyreduce: >+ rb_ary_push((yyvsp[-3].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 6793 "ripper.c" /* yacc.c:1646 */ >++#line 6785 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 129: >+-#line 2136 "ripper.y" /* yacc.c:1646 */ >++#line 2128 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '|'); } >+-#line 6799 "ripper.c" /* yacc.c:1646 */ >++#line 6791 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 130: >+-#line 2137 "ripper.y" /* yacc.c:1646 */ >++#line 2129 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '^'); } >+-#line 6805 "ripper.c" /* yacc.c:1646 */ >++#line 6797 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 131: >+-#line 2138 "ripper.y" /* yacc.c:1646 */ >++#line 2130 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '&'); } >+-#line 6811 "ripper.c" /* yacc.c:1646 */ >++#line 6803 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 132: >+-#line 2139 "ripper.y" /* yacc.c:1646 */ >++#line 2131 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tCMP); } >+-#line 6817 "ripper.c" /* yacc.c:1646 */ >++#line 6809 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 133: >+-#line 2140 "ripper.y" /* yacc.c:1646 */ >++#line 2132 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tEQ); } >+-#line 6823 "ripper.c" /* yacc.c:1646 */ >++#line 6815 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 134: >+-#line 2141 "ripper.y" /* yacc.c:1646 */ >++#line 2133 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tEQQ); } >+-#line 6829 "ripper.c" /* yacc.c:1646 */ >++#line 6821 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 135: >+-#line 2142 "ripper.y" /* yacc.c:1646 */ >++#line 2134 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tMATCH); } >+-#line 6835 "ripper.c" /* yacc.c:1646 */ >++#line 6827 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 136: >+-#line 2143 "ripper.y" /* yacc.c:1646 */ >++#line 2135 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tNMATCH); } >+-#line 6841 "ripper.c" /* yacc.c:1646 */ >++#line 6833 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 137: >+-#line 2144 "ripper.y" /* yacc.c:1646 */ >++#line 2136 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '>'); } >+-#line 6847 "ripper.c" /* yacc.c:1646 */ >++#line 6839 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 138: >+-#line 2145 "ripper.y" /* yacc.c:1646 */ >++#line 2137 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tGEQ); } >+-#line 6853 "ripper.c" /* yacc.c:1646 */ >++#line 6845 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 139: >+-#line 2146 "ripper.y" /* yacc.c:1646 */ >++#line 2138 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '<'); } >+-#line 6859 "ripper.c" /* yacc.c:1646 */ >++#line 6851 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 140: >+-#line 2147 "ripper.y" /* yacc.c:1646 */ >++#line 2139 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tLEQ); } >+-#line 6865 "ripper.c" /* yacc.c:1646 */ >++#line 6857 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 141: >+-#line 2148 "ripper.y" /* yacc.c:1646 */ >++#line 2140 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tNEQ); } >+-#line 6871 "ripper.c" /* yacc.c:1646 */ >++#line 6863 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 142: >+-#line 2149 "ripper.y" /* yacc.c:1646 */ >++#line 2141 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tLSHFT); } >+-#line 6877 "ripper.c" /* yacc.c:1646 */ >++#line 6869 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 143: >+-#line 2150 "ripper.y" /* yacc.c:1646 */ >++#line 2142 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tRSHFT); } >+-#line 6883 "ripper.c" /* yacc.c:1646 */ >++#line 6875 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 144: >+-#line 2151 "ripper.y" /* yacc.c:1646 */ >++#line 2143 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '+'); } >+-#line 6889 "ripper.c" /* yacc.c:1646 */ >++#line 6881 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 145: >+-#line 2152 "ripper.y" /* yacc.c:1646 */ >++#line 2144 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '-'); } >+-#line 6895 "ripper.c" /* yacc.c:1646 */ >++#line 6887 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 146: >+-#line 2153 "ripper.y" /* yacc.c:1646 */ >++#line 2145 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '*'); } >+-#line 6901 "ripper.c" /* yacc.c:1646 */ >++#line 6893 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 147: >+-#line 2154 "ripper.y" /* yacc.c:1646 */ >++#line 2146 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '*'); } >+-#line 6907 "ripper.c" /* yacc.c:1646 */ >++#line 6899 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 148: >+-#line 2155 "ripper.y" /* yacc.c:1646 */ >++#line 2147 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '/'); } >+-#line 6913 "ripper.c" /* yacc.c:1646 */ >++#line 6905 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 149: >+-#line 2156 "ripper.y" /* yacc.c:1646 */ >++#line 2148 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '%'); } >+-#line 6919 "ripper.c" /* yacc.c:1646 */ >++#line 6911 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 150: >+-#line 2157 "ripper.y" /* yacc.c:1646 */ >++#line 2149 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tPOW); } >+-#line 6925 "ripper.c" /* yacc.c:1646 */ >++#line 6917 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 151: >+-#line 2158 "ripper.y" /* yacc.c:1646 */ >++#line 2150 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tDSTAR); } >+-#line 6931 "ripper.c" /* yacc.c:1646 */ >++#line 6923 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 152: >+-#line 2159 "ripper.y" /* yacc.c:1646 */ >++#line 2151 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '!'); } >+-#line 6937 "ripper.c" /* yacc.c:1646 */ >++#line 6929 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 153: >+-#line 2160 "ripper.y" /* yacc.c:1646 */ >++#line 2152 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '~'); } >+-#line 6943 "ripper.c" /* yacc.c:1646 */ >++#line 6935 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 154: >+-#line 2161 "ripper.y" /* yacc.c:1646 */ >++#line 2153 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tUPLUS); } >+-#line 6949 "ripper.c" /* yacc.c:1646 */ >++#line 6941 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 155: >+-#line 2162 "ripper.y" /* yacc.c:1646 */ >++#line 2154 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tUMINUS); } >+-#line 6955 "ripper.c" /* yacc.c:1646 */ >++#line 6947 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 156: >+-#line 2163 "ripper.y" /* yacc.c:1646 */ >++#line 2155 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tAREF); } >+-#line 6961 "ripper.c" /* yacc.c:1646 */ >++#line 6953 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 157: >+-#line 2164 "ripper.y" /* yacc.c:1646 */ >++#line 2156 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = tASET); } >+-#line 6967 "ripper.c" /* yacc.c:1646 */ >++#line 6959 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 158: >+-#line 2165 "ripper.y" /* yacc.c:1646 */ >++#line 2157 "ripper.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.val) = '`'); } >+-#line 6973 "ripper.c" /* yacc.c:1646 */ >++#line 6965 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 200: >+-#line 2183 "ripper.y" /* yacc.c:1646 */ >++#line 2175 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = node_assign((yyvsp[-2].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 6981 "ripper.c" /* yacc.c:1646 */ >++#line 6973 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 201: >+-#line 2187 "ripper.y" /* yacc.c:1646 */ >++#line 2179 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_op_assign((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 6989 "ripper.c" /* yacc.c:1646 */ >++#line 6981 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 202: >+-#line 2191 "ripper.y" /* yacc.c:1646 */ >++#line 2183 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *args; >+@@ -7021,38 +7013,38 @@ yyreduce: >+ (yyval.val) = dispatch3(opassign, (yyvsp[-5].val), (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 7021 "ripper.c" /* yacc.c:1646 */ >++#line 7013 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 203: >+-#line 2219 "ripper.y" /* yacc.c:1646 */ >++#line 2211 "ripper.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].val)); >+ (yyval.val) = new_attr_op_assign((yyvsp[-4].val), (yyvsp[-3].val), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 7030 "ripper.c" /* yacc.c:1646 */ >++#line 7022 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 204: >+-#line 2224 "ripper.y" /* yacc.c:1646 */ >++#line 2216 "ripper.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].val)); >+ (yyval.val) = new_attr_op_assign((yyvsp[-4].val), (yyvsp[-3].val), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 7039 "ripper.c" /* yacc.c:1646 */ >++#line 7031 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 205: >+-#line 2229 "ripper.y" /* yacc.c:1646 */ >++#line 2221 "ripper.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].val)); >+ (yyval.val) = new_attr_op_assign((yyvsp[-4].val), ID2VAL(idCOLON2), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 7048 "ripper.c" /* yacc.c:1646 */ >++#line 7040 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 206: >+-#line 2234 "ripper.y" /* yacc.c:1646 */ >++#line 2226 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ YYLTYPE location; >+@@ -7063,29 +7055,29 @@ yyreduce: >+ (yyval.val) = const_path_field((yyvsp[-4].val), (yyvsp[-2].val), &location); >+ (yyval.val) = new_const_op_assign((yyval.val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 7063 "ripper.c" /* yacc.c:1646 */ >++#line 7055 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 207: >+-#line 2245 "ripper.y" /* yacc.c:1646 */ >++#line 2237 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = top_const_field((yyvsp[-2].val)); >+ (yyval.val) = new_const_op_assign((yyval.val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 7072 "ripper.c" /* yacc.c:1646 */ >++#line 7064 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 208: >+-#line 2250 "ripper.y" /* yacc.c:1646 */ >++#line 2242 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[-2].val) = var_field((yyvsp[-2].val)); >+ (yyval.val) = backref_assign_error((yyvsp[-2].val), new_op_assign((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)), &(yyloc)); >+ } >+-#line 7081 "ripper.c" /* yacc.c:1646 */ >++#line 7073 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 209: >+-#line 2255 "ripper.y" /* yacc.c:1646 */ >++#line 2247 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[-2].val)); >+@@ -7096,11 +7088,11 @@ yyreduce: >+ (yyval.val) = dispatch2(dot2, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 7096 "ripper.c" /* yacc.c:1646 */ >++#line 7088 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 210: >+-#line 2266 "ripper.y" /* yacc.c:1646 */ >++#line 2258 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[-2].val)); >+@@ -7111,218 +7103,218 @@ yyreduce: >+ (yyval.val) = dispatch2(dot3, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 7111 "ripper.c" /* yacc.c:1646 */ >++#line 7103 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 211: >+-#line 2277 "ripper.y" /* yacc.c:1646 */ >++#line 2269 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '+', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7119 "ripper.c" /* yacc.c:1646 */ >++#line 7111 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 212: >+-#line 2281 "ripper.y" /* yacc.c:1646 */ >++#line 2273 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '-', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7127 "ripper.c" /* yacc.c:1646 */ >++#line 7119 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 213: >+-#line 2285 "ripper.y" /* yacc.c:1646 */ >++#line 2277 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '*', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7135 "ripper.c" /* yacc.c:1646 */ >++#line 7127 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 214: >+-#line 2289 "ripper.y" /* yacc.c:1646 */ >++#line 2281 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '/', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7143 "ripper.c" /* yacc.c:1646 */ >++#line 7135 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 215: >+-#line 2293 "ripper.y" /* yacc.c:1646 */ >++#line 2285 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '%', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7151 "ripper.c" /* yacc.c:1646 */ >++#line 7143 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 216: >+-#line 2297 "ripper.y" /* yacc.c:1646 */ >++#line 2289 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idPow, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7159 "ripper.c" /* yacc.c:1646 */ >++#line 7151 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 217: >+-#line 2301 "ripper.y" /* yacc.c:1646 */ >++#line 2293 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op(call_bin_op((yyvsp[-2].val), idPow, (yyvsp[0].val), &(yylsp[-2]), &(yyloc)), idUMinus, &(yylsp[-3]), &(yyloc)); >+ } >+-#line 7167 "ripper.c" /* yacc.c:1646 */ >++#line 7159 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 218: >+-#line 2305 "ripper.y" /* yacc.c:1646 */ >++#line 2297 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op((yyvsp[0].val), idUPlus, &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7175 "ripper.c" /* yacc.c:1646 */ >++#line 7167 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 219: >+-#line 2309 "ripper.y" /* yacc.c:1646 */ >++#line 2301 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op((yyvsp[0].val), idUMinus, &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7183 "ripper.c" /* yacc.c:1646 */ >++#line 7175 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 220: >+-#line 2313 "ripper.y" /* yacc.c:1646 */ >++#line 2305 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '|', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7191 "ripper.c" /* yacc.c:1646 */ >++#line 7183 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 221: >+-#line 2317 "ripper.y" /* yacc.c:1646 */ >++#line 2309 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '^', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7199 "ripper.c" /* yacc.c:1646 */ >++#line 7191 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 222: >+-#line 2321 "ripper.y" /* yacc.c:1646 */ >++#line 2313 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), '&', (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7207 "ripper.c" /* yacc.c:1646 */ >++#line 7199 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 223: >+-#line 2325 "ripper.y" /* yacc.c:1646 */ >++#line 2317 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idCmp, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7215 "ripper.c" /* yacc.c:1646 */ >++#line 7207 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 225: >+-#line 2330 "ripper.y" /* yacc.c:1646 */ >++#line 2322 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idEq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7223 "ripper.c" /* yacc.c:1646 */ >++#line 7215 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 226: >+-#line 2334 "ripper.y" /* yacc.c:1646 */ >++#line 2326 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idEqq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7231 "ripper.c" /* yacc.c:1646 */ >++#line 7223 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 227: >+-#line 2338 "ripper.y" /* yacc.c:1646 */ >++#line 2330 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idNeq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7239 "ripper.c" /* yacc.c:1646 */ >++#line 7231 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 228: >+-#line 2342 "ripper.y" /* yacc.c:1646 */ >++#line 2334 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = match_op((yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7247 "ripper.c" /* yacc.c:1646 */ >++#line 7239 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 229: >+-#line 2346 "ripper.y" /* yacc.c:1646 */ >++#line 2338 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idNeqTilde, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7255 "ripper.c" /* yacc.c:1646 */ >++#line 7247 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 230: >+-#line 2350 "ripper.y" /* yacc.c:1646 */ >++#line 2342 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op(method_cond((yyvsp[0].val), &(yylsp[0])), '!', &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7263 "ripper.c" /* yacc.c:1646 */ >++#line 7255 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 231: >+-#line 2354 "ripper.y" /* yacc.c:1646 */ >++#line 2346 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op((yyvsp[0].val), '~', &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7271 "ripper.c" /* yacc.c:1646 */ >++#line 7263 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 232: >+-#line 2358 "ripper.y" /* yacc.c:1646 */ >++#line 2350 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idLTLT, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7279 "ripper.c" /* yacc.c:1646 */ >++#line 7271 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 233: >+-#line 2362 "ripper.y" /* yacc.c:1646 */ >++#line 2354 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), idGTGT, (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7287 "ripper.c" /* yacc.c:1646 */ >++#line 7279 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 234: >+-#line 2366 "ripper.y" /* yacc.c:1646 */ >++#line 2358 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = logop(idANDOP, (yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7295 "ripper.c" /* yacc.c:1646 */ >++#line 7287 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 235: >+-#line 2370 "ripper.y" /* yacc.c:1646 */ >++#line 2362 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = logop(idOROP, (yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7303 "ripper.c" /* yacc.c:1646 */ >++#line 7295 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 236: >+-#line 2373 "ripper.y" /* yacc.c:1646 */ >++#line 2365 "ripper.y" /* yacc.c:1646 */ >+ {in_defined = 1;} >+-#line 7309 "ripper.c" /* yacc.c:1646 */ >++#line 7301 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 237: >+-#line 2374 "ripper.y" /* yacc.c:1646 */ >++#line 2366 "ripper.y" /* yacc.c:1646 */ >+ { >+ in_defined = 0; >+ (yyval.val) = new_defined((yyvsp[0].val), &(yyloc)); >+ } >+-#line 7318 "ripper.c" /* yacc.c:1646 */ >++#line 7310 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 238: >+-#line 2379 "ripper.y" /* yacc.c:1646 */ >++#line 2371 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[-5].val)); >+@@ -7332,60 +7324,60 @@ yyreduce: >+ (yyval.val) = dispatch3(ifop, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[0].val)); >+ >+ } >+-#line 7332 "ripper.c" /* yacc.c:1646 */ >++#line 7324 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 239: >+-#line 2389 "ripper.y" /* yacc.c:1646 */ >++#line 2381 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 7340 "ripper.c" /* yacc.c:1646 */ >++#line 7332 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 240: >+-#line 2394 "ripper.y" /* yacc.c:1646 */ >++#line 2386 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = '>';} >+-#line 7346 "ripper.c" /* yacc.c:1646 */ >++#line 7338 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 241: >+-#line 2395 "ripper.y" /* yacc.c:1646 */ >++#line 2387 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = '<';} >+-#line 7352 "ripper.c" /* yacc.c:1646 */ >++#line 7344 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 242: >+-#line 2396 "ripper.y" /* yacc.c:1646 */ >++#line 2388 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = idGE;} >+-#line 7358 "ripper.c" /* yacc.c:1646 */ >++#line 7350 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 243: >+-#line 2397 "ripper.y" /* yacc.c:1646 */ >++#line 2389 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = idLE;} >+-#line 7364 "ripper.c" /* yacc.c:1646 */ >++#line 7356 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 244: >+-#line 2401 "ripper.y" /* yacc.c:1646 */ >++#line 2393 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_bin_op((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7372 "ripper.c" /* yacc.c:1646 */ >++#line 7364 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 245: >+-#line 2405 "ripper.y" /* yacc.c:1646 */ >++#line 2397 "ripper.y" /* yacc.c:1646 */ >+ { >+ rb_warning1("comparison '%s' after comparison", WARN_ID((yyvsp[-1].val))); >+ (yyval.val) = call_bin_op((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7381 "ripper.c" /* yacc.c:1646 */ >++#line 7373 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 246: >+-#line 2412 "ripper.y" /* yacc.c:1646 */ >++#line 2404 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[0].val)); >+@@ -7395,19 +7387,19 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 7395 "ripper.c" /* yacc.c:1646 */ >++#line 7387 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 248: >+-#line 2425 "ripper.y" /* yacc.c:1646 */ >++#line 2417 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ } >+-#line 7403 "ripper.c" /* yacc.c:1646 */ >++#line 7395 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 249: >+-#line 2429 "ripper.y" /* yacc.c:1646 */ >++#line 2421 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val); >+@@ -7415,11 +7407,11 @@ yyreduce: >+ (yyval.val) = arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val)); >+ >+ } >+-#line 7415 "ripper.c" /* yacc.c:1646 */ >++#line 7407 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 250: >+-#line 2437 "ripper.y" /* yacc.c:1646 */ >++#line 2429 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : 0; >+@@ -7427,11 +7419,11 @@ yyreduce: >+ (yyval.val) = arg_add_assocs(arg_new(), (yyvsp[-1].val)); >+ >+ } >+-#line 7427 "ripper.c" /* yacc.c:1646 */ >++#line 7419 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 251: >+-#line 2447 "ripper.y" /* yacc.c:1646 */ >++#line 2439 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[0].val)); >+@@ -7439,11 +7431,11 @@ yyreduce: >+ #endif >+ >+ } >+-#line 7439 "ripper.c" /* yacc.c:1646 */ >++#line 7431 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 252: >+-#line 2455 "ripper.y" /* yacc.c:1646 */ >++#line 2447 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ YYLTYPE location; >+@@ -7455,11 +7447,11 @@ yyreduce: >+ (yyval.val) = dispatch2(rescue_mod, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 7455 "ripper.c" /* yacc.c:1646 */ >++#line 7447 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 253: >+-#line 2469 "ripper.y" /* yacc.c:1646 */ >++#line 2461 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -7467,19 +7459,19 @@ yyreduce: >+ (yyval.val) = dispatch1(arg_paren, escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 7467 "ripper.c" /* yacc.c:1646 */ >++#line 7459 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 258: >+-#line 2485 "ripper.y" /* yacc.c:1646 */ >++#line 2477 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ } >+-#line 7475 "ripper.c" /* yacc.c:1646 */ >++#line 7467 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 259: >+-#line 2489 "ripper.y" /* yacc.c:1646 */ >++#line 2481 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val); >+@@ -7487,11 +7479,11 @@ yyreduce: >+ (yyval.val) = arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val)); >+ >+ } >+-#line 7487 "ripper.c" /* yacc.c:1646 */ >++#line 7479 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 260: >+-#line 2497 "ripper.y" /* yacc.c:1646 */ >++#line 2489 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yylsp[-1])) : 0; >+@@ -7499,11 +7491,11 @@ yyreduce: >+ (yyval.val) = arg_add_assocs(arg_new(), (yyvsp[-1].val)); >+ >+ } >+-#line 7499 "ripper.c" /* yacc.c:1646 */ >++#line 7491 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 261: >+-#line 2507 "ripper.y" /* yacc.c:1646 */ >++#line 2499 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[0].val)); >+@@ -7512,11 +7504,11 @@ yyreduce: >+ (yyval.val) = arg_add(arg_new(), (yyvsp[0].val)); >+ >+ } >+-#line 7512 "ripper.c" /* yacc.c:1646 */ >++#line 7504 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 262: >+-#line 2516 "ripper.y" /* yacc.c:1646 */ >++#line 2508 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = arg_blk_pass((yyvsp[-1].val), (yyvsp[0].val)); >+@@ -7524,11 +7516,11 @@ yyreduce: >+ (yyval.val) = arg_add_optblock((yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 7524 "ripper.c" /* yacc.c:1646 */ >++#line 7516 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 263: >+-#line 2524 "ripper.y" /* yacc.c:1646 */ >++#line 2516 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yylsp[-1])) : 0; >+@@ -7538,11 +7530,11 @@ yyreduce: >+ (yyval.val) = arg_add_optblock((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 7538 "ripper.c" /* yacc.c:1646 */ >++#line 7530 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 264: >+-#line 2534 "ripper.y" /* yacc.c:1646 */ >++#line 2526 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val); >+@@ -7551,38 +7543,38 @@ yyreduce: >+ (yyval.val) = arg_add_optblock(arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val)), (yyvsp[0].val)); >+ >+ } >+-#line 7551 "ripper.c" /* yacc.c:1646 */ >++#line 7543 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 265: >+-#line 2545 "ripper.y" /* yacc.c:1646 */ >++#line 2537 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = arg_add_block(arg_new(), (yyvsp[0].val)); >+ } >+-#line 7559 "ripper.c" /* yacc.c:1646 */ >++#line 7551 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 266: >+-#line 2551 "ripper.y" /* yacc.c:1646 */ >++#line 2543 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = cmdarg_stack; >+ CMDARG_PUSH(1); >+ } >+-#line 7568 "ripper.c" /* yacc.c:1646 */ >++#line 7560 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 267: >+-#line 2556 "ripper.y" /* yacc.c:1646 */ >++#line 2548 "ripper.y" /* yacc.c:1646 */ >+ { >+ /* CMDARG_POP() */ >+ CMDARG_SET((yyvsp[-1].val)); >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 7578 "ripper.c" /* yacc.c:1646 */ >++#line 7570 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 268: >+-#line 2564 "ripper.y" /* yacc.c:1646 */ >++#line 2556 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_BLOCK_PASS((yyvsp[0].val)); >+@@ -7591,27 +7583,27 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 7591 "ripper.c" /* yacc.c:1646 */ >++#line 7583 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 269: >+-#line 2575 "ripper.y" /* yacc.c:1646 */ >++#line 2567 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 7599 "ripper.c" /* yacc.c:1646 */ >++#line 7591 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 270: >+-#line 2579 "ripper.y" /* yacc.c:1646 */ >++#line 2571 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = 0; >+ } >+-#line 7607 "ripper.c" /* yacc.c:1646 */ >++#line 7599 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 271: >+-#line 2585 "ripper.y" /* yacc.c:1646 */ >++#line 2577 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_list((yyvsp[0].val), &(yyloc)); >+@@ -7619,11 +7611,11 @@ yyreduce: >+ (yyval.val) = arg_add(arg_new(), (yyvsp[0].val)); >+ >+ } >+-#line 7619 "ripper.c" /* yacc.c:1646 */ >++#line 7611 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 272: >+-#line 2593 "ripper.y" /* yacc.c:1646 */ >++#line 2585 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_SPLAT((yyvsp[0].val)); >+@@ -7632,11 +7624,11 @@ yyreduce: >+ (yyval.val) = arg_add_star(arg_new(), (yyvsp[0].val)); >+ >+ } >+-#line 7632 "ripper.c" /* yacc.c:1646 */ >++#line 7624 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 273: >+-#line 2602 "ripper.y" /* yacc.c:1646 */ >++#line 2594 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *n1; >+@@ -7650,11 +7642,11 @@ yyreduce: >+ (yyval.val) = arg_add((yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 7650 "ripper.c" /* yacc.c:1646 */ >++#line 7642 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 274: >+-#line 2616 "ripper.y" /* yacc.c:1646 */ >++#line 2608 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *n1; >+@@ -7668,11 +7660,11 @@ yyreduce: >+ (yyval.val) = arg_add_star((yyvsp[-3].val), (yyvsp[0].val)); >+ >+ } >+-#line 7668 "ripper.c" /* yacc.c:1646 */ >++#line 7660 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 277: >+-#line 2636 "ripper.y" /* yacc.c:1646 */ >++#line 2628 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *n1; >+@@ -7686,11 +7678,11 @@ yyreduce: >+ (yyval.val) = mrhs_add(args2mrhs((yyvsp[-2].val)), (yyvsp[0].val)); >+ >+ } >+-#line 7686 "ripper.c" /* yacc.c:1646 */ >++#line 7678 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 278: >+-#line 2650 "ripper.y" /* yacc.c:1646 */ >++#line 2642 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *n1; >+@@ -7705,11 +7697,11 @@ yyreduce: >+ (yyval.val) = mrhs_add_star(args2mrhs((yyvsp[-3].val)), (yyvsp[0].val)); >+ >+ } >+-#line 7705 "ripper.c" /* yacc.c:1646 */ >++#line 7697 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 279: >+-#line 2665 "ripper.y" /* yacc.c:1646 */ >++#line 2657 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_SPLAT((yyvsp[0].val)); >+@@ -7718,11 +7710,11 @@ yyreduce: >+ (yyval.val) = mrhs_add_star(mrhs_new(), (yyvsp[0].val)); >+ >+ } >+-#line 7718 "ripper.c" /* yacc.c:1646 */ >++#line 7710 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 290: >+-#line 2686 "ripper.y" /* yacc.c:1646 */ >++#line 2678 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_fcall((yyvsp[0].val), 0, &(yyloc)); >+@@ -7730,11 +7722,11 @@ yyreduce: >+ (yyval.val) = method_arg(dispatch1(fcall, (yyvsp[0].val)), arg_new()); >+ >+ } >+-#line 7730 "ripper.c" /* yacc.c:1646 */ >++#line 7722 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 291: >+-#line 2694 "ripper.y" /* yacc.c:1646 */ >++#line 2686 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cmdarg_stack; >+ CMDARG_SET(0); >+@@ -7743,11 +7735,11 @@ yyreduce: >+ #endif >+ >+ } >+-#line 7743 "ripper.c" /* yacc.c:1646 */ >++#line 7735 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 292: >+-#line 2704 "ripper.y" /* yacc.c:1646 */ >++#line 2696 "ripper.y" /* yacc.c:1646 */ >+ { >+ CMDARG_SET((yyvsp[-3].val)); >+ #if 0 >+@@ -7764,17 +7756,17 @@ yyreduce: >+ (yyval.val) = dispatch1(begin, (yyvsp[-1].val)); >+ >+ } >+-#line 7764 "ripper.c" /* yacc.c:1646 */ >++#line 7756 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 293: >+-#line 2720 "ripper.y" /* yacc.c:1646 */ >++#line 2712 "ripper.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_ENDARG);} >+-#line 7770 "ripper.c" /* yacc.c:1646 */ >++#line 7762 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 294: >+-#line 2721 "ripper.y" /* yacc.c:1646 */ >++#line 2713 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_begin(0, &(yyloc)); >+@@ -7782,26 +7774,26 @@ yyreduce: >+ (yyval.val) = dispatch1(paren, 0); >+ >+ } >+-#line 7782 "ripper.c" /* yacc.c:1646 */ >++#line 7774 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 295: >+-#line 2729 "ripper.y" /* yacc.c:1646 */ >++#line 2721 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cmdarg_stack; >+ CMDARG_SET(0); >+ } >+-#line 7791 "ripper.c" /* yacc.c:1646 */ >++#line 7783 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 296: >+-#line 2733 "ripper.y" /* yacc.c:1646 */ >++#line 2725 "ripper.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_ENDARG);} >+-#line 7797 "ripper.c" /* yacc.c:1646 */ >++#line 7789 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 297: >+-#line 2734 "ripper.y" /* yacc.c:1646 */ >++#line 2726 "ripper.y" /* yacc.c:1646 */ >+ { >+ CMDARG_SET((yyvsp[-4].val)); >+ #if 0 >+@@ -7810,11 +7802,11 @@ yyreduce: >+ (yyval.val) = dispatch1(paren, (yyvsp[-2].val)); >+ >+ } >+-#line 7810 "ripper.c" /* yacc.c:1646 */ >++#line 7802 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 298: >+-#line 2743 "ripper.y" /* yacc.c:1646 */ >++#line 2735 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -7822,11 +7814,11 @@ yyreduce: >+ (yyval.val) = dispatch1(paren, (yyvsp[-1].val)); >+ >+ } >+-#line 7822 "ripper.c" /* yacc.c:1646 */ >++#line 7814 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 299: >+-#line 2751 "ripper.y" /* yacc.c:1646 */ >++#line 2743 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_COLON2((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -7835,11 +7827,11 @@ yyreduce: >+ (yyval.val) = dispatch2(const_path_ref, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 7835 "ripper.c" /* yacc.c:1646 */ >++#line 7827 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 300: >+-#line 2760 "ripper.y" /* yacc.c:1646 */ >++#line 2752 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_COLON3((yyvsp[0].val)); >+@@ -7848,11 +7840,11 @@ yyreduce: >+ (yyval.val) = dispatch1(top_const_ref, (yyvsp[0].val)); >+ >+ } >+-#line 7848 "ripper.c" /* yacc.c:1646 */ >++#line 7840 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 301: >+-#line 2769 "ripper.y" /* yacc.c:1646 */ >++#line 2761 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = make_array((yyvsp[-1].val), &(yyloc)); >+@@ -7860,11 +7852,11 @@ yyreduce: >+ (yyval.val) = dispatch1(array, escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 7860 "ripper.c" /* yacc.c:1646 */ >++#line 7852 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 302: >+-#line 2777 "ripper.y" /* yacc.c:1646 */ >++#line 2769 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_hash((yyvsp[-1].val), &(yyloc)); >+@@ -7873,11 +7865,11 @@ yyreduce: >+ (yyval.val) = dispatch1(hash, escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 7873 "ripper.c" /* yacc.c:1646 */ >++#line 7865 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 303: >+-#line 2786 "ripper.y" /* yacc.c:1646 */ >++#line 2778 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_RETURN(0); >+@@ -7886,11 +7878,11 @@ yyreduce: >+ (yyval.val) = dispatch0(return0); >+ >+ } >+-#line 7886 "ripper.c" /* yacc.c:1646 */ >++#line 7878 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 304: >+-#line 2795 "ripper.y" /* yacc.c:1646 */ >++#line 2787 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_yield((yyvsp[-1].val), &(yyloc)); >+@@ -7898,11 +7890,11 @@ yyreduce: >+ (yyval.val) = dispatch1(yield, dispatch1(paren, (yyvsp[-1].val))); >+ >+ } >+-#line 7898 "ripper.c" /* yacc.c:1646 */ >++#line 7890 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 305: >+-#line 2803 "ripper.y" /* yacc.c:1646 */ >++#line 2795 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_YIELD(0); >+@@ -7911,11 +7903,11 @@ yyreduce: >+ (yyval.val) = dispatch1(yield, dispatch1(paren, arg_new())); >+ >+ } >+-#line 7911 "ripper.c" /* yacc.c:1646 */ >++#line 7903 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 306: >+-#line 2812 "ripper.y" /* yacc.c:1646 */ >++#line 2804 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_YIELD(0); >+@@ -7924,42 +7916,42 @@ yyreduce: >+ (yyval.val) = dispatch0(yield0); >+ >+ } >+-#line 7924 "ripper.c" /* yacc.c:1646 */ >++#line 7916 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 307: >+-#line 2820 "ripper.y" /* yacc.c:1646 */ >++#line 2812 "ripper.y" /* yacc.c:1646 */ >+ {in_defined = 1;} >+-#line 7930 "ripper.c" /* yacc.c:1646 */ >++#line 7922 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 308: >+-#line 2821 "ripper.y" /* yacc.c:1646 */ >++#line 2813 "ripper.y" /* yacc.c:1646 */ >+ { >+ in_defined = 0; >+ (yyval.val) = new_defined((yyvsp[-1].val), &(yyloc)); >+ } >+-#line 7939 "ripper.c" /* yacc.c:1646 */ >++#line 7931 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 309: >+-#line 2826 "ripper.y" /* yacc.c:1646 */ >++#line 2818 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op(method_cond((yyvsp[-1].val), &(yylsp[-1])), METHOD_NOT, &(yylsp[-3]), &(yyloc)); >+ } >+-#line 7947 "ripper.c" /* yacc.c:1646 */ >++#line 7939 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 310: >+-#line 2830 "ripper.y" /* yacc.c:1646 */ >++#line 2822 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = call_uni_op(method_cond(new_nil(&(yylsp[-1])), &(yylsp[-1])), METHOD_NOT, &(yylsp[-2]), &(yyloc)); >+ } >+-#line 7955 "ripper.c" /* yacc.c:1646 */ >++#line 7947 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 311: >+-#line 2834 "ripper.y" /* yacc.c:1646 */ >++#line 2826 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyvsp[0].val)->nd_iter = (yyvsp[-1].val); >+@@ -7970,11 +7962,11 @@ yyreduce: >+ (yyval.val) = method_add_block((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 7970 "ripper.c" /* yacc.c:1646 */ >++#line 7962 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 313: >+-#line 2846 "ripper.y" /* yacc.c:1646 */ >++#line 2838 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ block_dup_check((yyvsp[-1].val)->nd_args, (yyvsp[0].val)); >+@@ -7985,19 +7977,19 @@ yyreduce: >+ (yyval.val) = method_add_block((yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 7985 "ripper.c" /* yacc.c:1646 */ >++#line 7977 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 314: >+-#line 2857 "ripper.y" /* yacc.c:1646 */ >++#line 2849 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 7993 "ripper.c" /* yacc.c:1646 */ >++#line 7985 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 315: >+-#line 2864 "ripper.y" /* yacc.c:1646 */ >++#line 2856 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_if((yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[-1].val), &(yyloc)); >+@@ -8006,11 +7998,11 @@ yyreduce: >+ (yyval.val) = dispatch3(if, (yyvsp[-4].val), (yyvsp[-2].val), escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 8006 "ripper.c" /* yacc.c:1646 */ >++#line 7998 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 316: >+-#line 2876 "ripper.y" /* yacc.c:1646 */ >++#line 2868 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_unless((yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[-1].val), &(yyloc)); >+@@ -8019,23 +8011,23 @@ yyreduce: >+ (yyval.val) = dispatch3(unless, (yyvsp[-4].val), (yyvsp[-2].val), escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 8019 "ripper.c" /* yacc.c:1646 */ >++#line 8011 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 317: >+-#line 2884 "ripper.y" /* yacc.c:1646 */ >++#line 2876 "ripper.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8025 "ripper.c" /* yacc.c:1646 */ >++#line 8017 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 318: >+-#line 2884 "ripper.y" /* yacc.c:1646 */ >++#line 2876 "ripper.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8031 "ripper.c" /* yacc.c:1646 */ >++#line 8023 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 319: >+-#line 2887 "ripper.y" /* yacc.c:1646 */ >++#line 2879 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_WHILE(cond((yyvsp[-4].val), &(yylsp[-4])), (yyvsp[-1].val), 1); >+@@ -8045,23 +8037,23 @@ yyreduce: >+ (yyval.val) = dispatch2(while, (yyvsp[-4].val), (yyvsp[-1].val)); >+ >+ } >+-#line 8045 "ripper.c" /* yacc.c:1646 */ >++#line 8037 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 320: >+-#line 2896 "ripper.y" /* yacc.c:1646 */ >++#line 2888 "ripper.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8051 "ripper.c" /* yacc.c:1646 */ >++#line 8043 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 321: >+-#line 2896 "ripper.y" /* yacc.c:1646 */ >++#line 2888 "ripper.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8057 "ripper.c" /* yacc.c:1646 */ >++#line 8049 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 322: >+-#line 2899 "ripper.y" /* yacc.c:1646 */ >++#line 2891 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_UNTIL(cond((yyvsp[-4].val), &(yylsp[-4])), (yyvsp[-1].val), 1); >+@@ -8071,11 +8063,11 @@ yyreduce: >+ (yyval.val) = dispatch2(until, (yyvsp[-4].val), (yyvsp[-1].val)); >+ >+ } >+-#line 8071 "ripper.c" /* yacc.c:1646 */ >++#line 8063 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 323: >+-#line 2911 "ripper.y" /* yacc.c:1646 */ >++#line 2903 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_CASE((yyvsp[-3].val), (yyvsp[-1].val)); >+@@ -8085,11 +8077,11 @@ yyreduce: >+ (yyval.val) = dispatch2(case, (yyvsp[-3].val), (yyvsp[-1].val)); >+ >+ } >+-#line 8085 "ripper.c" /* yacc.c:1646 */ >++#line 8077 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 324: >+-#line 2921 "ripper.y" /* yacc.c:1646 */ >++#line 2913 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_CASE2((yyvsp[-1].val)); >+@@ -8099,23 +8091,23 @@ yyreduce: >+ (yyval.val) = dispatch2(case, Qnil, (yyvsp[-1].val)); >+ >+ } >+-#line 8099 "ripper.c" /* yacc.c:1646 */ >++#line 8091 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 325: >+-#line 2931 "ripper.y" /* yacc.c:1646 */ >++#line 2923 "ripper.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8105 "ripper.c" /* yacc.c:1646 */ >++#line 8097 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 326: >+-#line 2933 "ripper.y" /* yacc.c:1646 */ >++#line 2925 "ripper.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8111 "ripper.c" /* yacc.c:1646 */ >++#line 8103 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 327: >+-#line 2936 "ripper.y" /* yacc.c:1646 */ >++#line 2928 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ /* >+@@ -8163,11 +8155,11 @@ yyreduce: >+ (yyval.val) = dispatch3(for, (yyvsp[-7].val), (yyvsp[-4].val), (yyvsp[-1].val)); >+ >+ } >+-#line 8163 "ripper.c" /* yacc.c:1646 */ >++#line 8155 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 328: >+-#line 2984 "ripper.y" /* yacc.c:1646 */ >++#line 2976 "ripper.y" /* yacc.c:1646 */ >+ { >+ if (in_def) >+ yyerror0("class definition in method body"); >+@@ -8179,11 +8171,11 @@ yyreduce: >+ #endif >+ >+ } >+-#line 8179 "ripper.c" /* yacc.c:1646 */ >++#line 8171 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 329: >+-#line 2997 "ripper.y" /* yacc.c:1646 */ >++#line 2989 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_CLASS((yyvsp[-4].val), (yyvsp[-1].val), (yyvsp[-3].val)); >+@@ -8197,22 +8189,22 @@ yyreduce: >+ local_pop(); >+ in_class = (yyvsp[-5].num) & 1; >+ } >+-#line 8197 "ripper.c" /* yacc.c:1646 */ >++#line 8189 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 330: >+-#line 3011 "ripper.y" /* yacc.c:1646 */ >++#line 3003 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = (in_class << 1) | in_def; >+ in_def = 0; >+ in_class = 0; >+ local_push(0); >+ } >+-#line 8208 "ripper.c" /* yacc.c:1646 */ >++#line 8200 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 331: >+-#line 3020 "ripper.y" /* yacc.c:1646 */ >++#line 3012 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_SCLASS((yyvsp[-4].val), (yyvsp[-1].val)); >+@@ -8227,11 +8219,11 @@ yyreduce: >+ in_def = (yyvsp[-3].num) & 1; >+ in_class = ((yyvsp[-3].num) >> 1) & 1; >+ } >+-#line 8227 "ripper.c" /* yacc.c:1646 */ >++#line 8219 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 332: >+-#line 3035 "ripper.y" /* yacc.c:1646 */ >++#line 3027 "ripper.y" /* yacc.c:1646 */ >+ { >+ if (in_def) >+ yyerror0("module definition in method body"); >+@@ -8243,11 +8235,11 @@ yyreduce: >+ #endif >+ >+ } >+-#line 8243 "ripper.c" /* yacc.c:1646 */ >++#line 8235 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 333: >+-#line 3048 "ripper.y" /* yacc.c:1646 */ >++#line 3040 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_MODULE((yyvsp[-3].val), (yyvsp[-1].val)); >+@@ -8261,30 +8253,30 @@ yyreduce: >+ local_pop(); >+ in_class = (yyvsp[-4].num) & 1; >+ } >+-#line 8261 "ripper.c" /* yacc.c:1646 */ >++#line 8253 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 334: >+-#line 3062 "ripper.y" /* yacc.c:1646 */ >++#line 3054 "ripper.y" /* yacc.c:1646 */ >+ { >+ local_push(0); >+ (yyval.id) = current_arg; >+ current_arg = 0; >+ } >+-#line 8271 "ripper.c" /* yacc.c:1646 */ >++#line 8263 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 335: >+-#line 3067 "ripper.y" /* yacc.c:1646 */ >++#line 3059 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = in_def; >+ in_def = 1; >+ } >+-#line 8280 "ripper.c" /* yacc.c:1646 */ >++#line 8272 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 336: >+-#line 3074 "ripper.y" /* yacc.c:1646 */ >++#line 3066 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *body = remove_begin((yyvsp[-1].val)); >+@@ -8301,17 +8293,17 @@ yyreduce: >+ in_def = (yyvsp[-3].num) & 1; >+ current_arg = (yyvsp[-4].id); >+ } >+-#line 8301 "ripper.c" /* yacc.c:1646 */ >++#line 8293 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 337: >+-#line 3090 "ripper.y" /* yacc.c:1646 */ >++#line 3082 "ripper.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_FNAME);} >+-#line 8307 "ripper.c" /* yacc.c:1646 */ >++#line 8299 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 338: >+-#line 3091 "ripper.y" /* yacc.c:1646 */ >++#line 3083 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[-1].num) = in_def; >+ in_def = 1; >+@@ -8320,11 +8312,11 @@ yyreduce: >+ (yyval.id) = current_arg; >+ current_arg = 0; >+ } >+-#line 8320 "ripper.c" /* yacc.c:1646 */ >++#line 8312 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 339: >+-#line 3102 "ripper.y" /* yacc.c:1646 */ >++#line 3094 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *body = remove_begin((yyvsp[-1].val)); >+@@ -8341,11 +8333,11 @@ yyreduce: >+ in_def = (yyvsp[-5].num) & 1; >+ current_arg = (yyvsp[-3].id); >+ } >+-#line 8341 "ripper.c" /* yacc.c:1646 */ >++#line 8333 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 340: >+-#line 3119 "ripper.y" /* yacc.c:1646 */ >++#line 3111 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_BREAK(0); >+@@ -8354,11 +8346,11 @@ yyreduce: >+ (yyval.val) = dispatch1(break, arg_new()); >+ >+ } >+-#line 8354 "ripper.c" /* yacc.c:1646 */ >++#line 8346 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 341: >+-#line 3128 "ripper.y" /* yacc.c:1646 */ >++#line 3120 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_NEXT(0); >+@@ -8367,11 +8359,11 @@ yyreduce: >+ (yyval.val) = dispatch1(next, arg_new()); >+ >+ } >+-#line 8367 "ripper.c" /* yacc.c:1646 */ >++#line 8359 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 342: >+-#line 3137 "ripper.y" /* yacc.c:1646 */ >++#line 3129 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_REDO(); >+@@ -8380,11 +8372,11 @@ yyreduce: >+ (yyval.val) = dispatch0(redo); >+ >+ } >+-#line 8380 "ripper.c" /* yacc.c:1646 */ >++#line 8372 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 343: >+-#line 3146 "ripper.y" /* yacc.c:1646 */ >++#line 3138 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_RETRY(); >+@@ -8393,11 +8385,11 @@ yyreduce: >+ (yyval.val) = dispatch0(retry); >+ >+ } >+-#line 8393 "ripper.c" /* yacc.c:1646 */ >++#line 8385 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 344: >+-#line 3157 "ripper.y" /* yacc.c:1646 */ >++#line 3149 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[0].val)); >+@@ -8407,51 +8399,51 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 8407 "ripper.c" /* yacc.c:1646 */ >++#line 8399 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 345: >+-#line 3169 "ripper.y" /* yacc.c:1646 */ >++#line 3161 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("begin"); >+ } >+-#line 8415 "ripper.c" /* yacc.c:1646 */ >++#line 8407 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 346: >+-#line 3175 "ripper.y" /* yacc.c:1646 */ >++#line 3167 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("if"); >+ } >+-#line 8423 "ripper.c" /* yacc.c:1646 */ >++#line 8415 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 347: >+-#line 3181 "ripper.y" /* yacc.c:1646 */ >++#line 3173 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("unless"); >+ } >+-#line 8431 "ripper.c" /* yacc.c:1646 */ >++#line 8423 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 348: >+-#line 3187 "ripper.y" /* yacc.c:1646 */ >++#line 3179 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("while"); >+ } >+-#line 8439 "ripper.c" /* yacc.c:1646 */ >++#line 8431 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 349: >+-#line 3193 "ripper.y" /* yacc.c:1646 */ >++#line 3185 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("until"); >+ } >+-#line 8447 "ripper.c" /* yacc.c:1646 */ >++#line 8439 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 350: >+-#line 3199 "ripper.y" /* yacc.c:1646 */ >++#line 3191 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("case"); >+ #if 0 >+@@ -8459,35 +8451,35 @@ yyreduce: >+ #endif >+ >+ } >+-#line 8459 "ripper.c" /* yacc.c:1646 */ >++#line 8451 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 351: >+-#line 3209 "ripper.y" /* yacc.c:1646 */ >++#line 3201 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("for"); >+ } >+-#line 8467 "ripper.c" /* yacc.c:1646 */ >++#line 8459 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 352: >+-#line 3215 "ripper.y" /* yacc.c:1646 */ >++#line 3207 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("class"); >+ } >+-#line 8475 "ripper.c" /* yacc.c:1646 */ >++#line 8467 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 353: >+-#line 3221 "ripper.y" /* yacc.c:1646 */ >++#line 3213 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("module"); >+ } >+-#line 8483 "ripper.c" /* yacc.c:1646 */ >++#line 8475 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 354: >+-#line 3227 "ripper.y" /* yacc.c:1646 */ >++#line 3219 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_push("def"); >+ #if 0 >+@@ -8495,46 +8487,46 @@ yyreduce: >+ #endif >+ >+ } >+-#line 8495 "ripper.c" /* yacc.c:1646 */ >++#line 8487 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 355: >+-#line 3237 "ripper.y" /* yacc.c:1646 */ >++#line 3229 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_pop("end"); >+ } >+-#line 8503 "ripper.c" /* yacc.c:1646 */ >++#line 8495 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 356: >+-#line 3243 "ripper.y" /* yacc.c:1646 */ >++#line 3235 "ripper.y" /* yacc.c:1646 */ >+ { >+ if (in_class && !in_def && !dyna_in_block()) >+ yyerror0("Invalid return in class/module body"); >+ } >+-#line 8512 "ripper.c" /* yacc.c:1646 */ >++#line 8504 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 357: >+-#line 3252 "ripper.y" /* yacc.c:1646 */ >++#line 3244 "ripper.y" /* yacc.c:1646 */ >+ { (yyval.val) = Qnil; } >+-#line 8518 "ripper.c" /* yacc.c:1646 */ >++#line 8510 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 359: >+-#line 3258 "ripper.y" /* yacc.c:1646 */ >++#line 3250 "ripper.y" /* yacc.c:1646 */ >+ { (yyval.val) = (yyvsp[0].val); } >+-#line 8524 "ripper.c" /* yacc.c:1646 */ >++#line 8516 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 360: >+-#line 3265 "ripper.y" /* yacc.c:1646 */ >++#line 3257 "ripper.y" /* yacc.c:1646 */ >+ { (yyval.val) = Qnil; } >+-#line 8530 "ripper.c" /* yacc.c:1646 */ >++#line 8522 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 363: >+-#line 3274 "ripper.y" /* yacc.c:1646 */ >++#line 3266 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_if((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -8543,11 +8535,11 @@ yyreduce: >+ (yyval.val) = dispatch3(elsif, (yyvsp[-3].val), (yyvsp[-1].val), escape_Qundef((yyvsp[0].val))); >+ >+ } >+-#line 8543 "ripper.c" /* yacc.c:1646 */ >++#line 8535 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 365: >+-#line 3286 "ripper.y" /* yacc.c:1646 */ >++#line 3278 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -8555,22 +8547,22 @@ yyreduce: >+ (yyval.val) = dispatch1(else, (yyvsp[0].val)); >+ >+ } >+-#line 8555 "ripper.c" /* yacc.c:1646 */ >++#line 8547 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 368: >+-#line 3300 "ripper.y" /* yacc.c:1646 */ >++#line 3292 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc)); >+ #if 0 >+ #endif >+ >+ } >+-#line 8566 "ripper.c" /* yacc.c:1646 */ >++#line 8558 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 369: >+-#line 3307 "ripper.y" /* yacc.c:1646 */ >++#line 3299 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -8578,11 +8570,11 @@ yyreduce: >+ (yyval.val) = dispatch1(mlhs_paren, (yyvsp[-1].val)); >+ >+ } >+-#line 8578 "ripper.c" /* yacc.c:1646 */ >++#line 8570 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 370: >+-#line 3317 "ripper.y" /* yacc.c:1646 */ >++#line 3309 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_list((yyvsp[0].val), &(yyloc)); >+@@ -8590,11 +8582,11 @@ yyreduce: >+ (yyval.val) = mlhs_add(mlhs_new(), (yyvsp[0].val)); >+ >+ } >+-#line 8590 "ripper.c" /* yacc.c:1646 */ >++#line 8582 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 371: >+-#line 3325 "ripper.y" /* yacc.c:1646 */ >++#line 3317 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = list_append((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -8602,11 +8594,11 @@ yyreduce: >+ (yyval.val) = mlhs_add((yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 8602 "ripper.c" /* yacc.c:1646 */ >++#line 8594 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 372: >+-#line 3335 "ripper.y" /* yacc.c:1646 */ >++#line 3327 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_masgn((yyvsp[0].val), 0, &(yyloc)); >+@@ -8614,11 +8606,11 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 8614 "ripper.c" /* yacc.c:1646 */ >++#line 8606 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 373: >+-#line 3343 "ripper.y" /* yacc.c:1646 */ >++#line 3335 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc)); >+ #if 0 >+@@ -8627,11 +8619,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_star((yyvsp[-3].val), (yyval.val)); >+ >+ } >+-#line 8627 "ripper.c" /* yacc.c:1646 */ >++#line 8619 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 374: >+-#line 3352 "ripper.y" /* yacc.c:1646 */ >++#line 3344 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[-2].val), 0, &(yyloc)); >+ #if 0 >+@@ -8641,11 +8633,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 8641 "ripper.c" /* yacc.c:1646 */ >++#line 8633 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 375: >+-#line 3362 "ripper.y" /* yacc.c:1646 */ >++#line 3354 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_masgn((yyvsp[-2].val), NODE_SPECIAL_NO_NAME_REST, &(yyloc)); >+@@ -8653,11 +8645,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_star((yyvsp[-2].val), Qnil); >+ >+ } >+-#line 8653 "ripper.c" /* yacc.c:1646 */ >++#line 8645 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 376: >+-#line 3370 "ripper.y" /* yacc.c:1646 */ >++#line 3362 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_masgn((yyvsp[-4].val), new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].val), &(yyloc)), &(yyloc)); >+@@ -8666,11 +8658,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 8666 "ripper.c" /* yacc.c:1646 */ >++#line 8658 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 377: >+-#line 3379 "ripper.y" /* yacc.c:1646 */ >++#line 3371 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc)); >+ #if 0 >+@@ -8679,11 +8671,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_star(mlhs_new(), (yyval.val)); >+ >+ } >+-#line 8679 "ripper.c" /* yacc.c:1646 */ >++#line 8671 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 378: >+-#line 3388 "ripper.y" /* yacc.c:1646 */ >++#line 3380 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[-2].val), 0, &(yyloc)); >+ #if 0 >+@@ -8693,11 +8685,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 8693 "ripper.c" /* yacc.c:1646 */ >++#line 8685 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 379: >+-#line 3398 "ripper.y" /* yacc.c:1646 */ >++#line 3390 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_masgn(0, NODE_SPECIAL_NO_NAME_REST, &(yyloc)); >+@@ -8705,11 +8697,11 @@ yyreduce: >+ (yyval.val) = mlhs_add_star(mlhs_new(), Qnil); >+ >+ } >+-#line 8705 "ripper.c" /* yacc.c:1646 */ >++#line 8697 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 380: >+-#line 3406 "ripper.y" /* yacc.c:1646 */ >++#line 3398 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_masgn(0, new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].val), &(yyloc)), &(yyloc)); >+@@ -8718,99 +8710,99 @@ yyreduce: >+ (yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 8718 "ripper.c" /* yacc.c:1646 */ >++#line 8710 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 381: >+-#line 3418 "ripper.y" /* yacc.c:1646 */ >++#line 3410 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 8726 "ripper.c" /* yacc.c:1646 */ >++#line 8718 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 382: >+-#line 3422 "ripper.y" /* yacc.c:1646 */ >++#line 3414 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail((yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 8734 "ripper.c" /* yacc.c:1646 */ >++#line 8726 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 383: >+-#line 3426 "ripper.y" /* yacc.c:1646 */ >++#line 3418 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 8742 "ripper.c" /* yacc.c:1646 */ >++#line 8734 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 384: >+-#line 3430 "ripper.y" /* yacc.c:1646 */ >++#line 3422 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, Qnone, (yyvsp[0].val), &(yylsp[0])); >+ } >+-#line 8750 "ripper.c" /* yacc.c:1646 */ >++#line 8742 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 385: >+-#line 3436 "ripper.y" /* yacc.c:1646 */ >++#line 3428 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 8758 "ripper.c" /* yacc.c:1646 */ >++#line 8750 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 386: >+-#line 3440 "ripper.y" /* yacc.c:1646 */ >++#line 3432 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ } >+-#line 8766 "ripper.c" /* yacc.c:1646 */ >++#line 8758 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 387: >+-#line 3446 "ripper.y" /* yacc.c:1646 */ >++#line 3438 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8774 "ripper.c" /* yacc.c:1646 */ >++#line 8766 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 388: >+-#line 3450 "ripper.y" /* yacc.c:1646 */ >++#line 3442 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-7].val), (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8782 "ripper.c" /* yacc.c:1646 */ >++#line 8774 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 389: >+-#line 3454 "ripper.y" /* yacc.c:1646 */ >++#line 3446 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-3].val), (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8790 "ripper.c" /* yacc.c:1646 */ >++#line 8782 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 390: >+-#line 3458 "ripper.y" /* yacc.c:1646 */ >++#line 3450 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8798 "ripper.c" /* yacc.c:1646 */ >++#line 8790 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 391: >+-#line 3462 "ripper.y" /* yacc.c:1646 */ >++#line 3454 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-3].val), Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8806 "ripper.c" /* yacc.c:1646 */ >++#line 8798 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 392: >+-#line 3466 "ripper.y" /* yacc.c:1646 */ >++#line 3458 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-1].val), Qnone, 1, Qnone, new_args_tail(Qnone, Qnone, Qnone, &(yylsp[-1])), &(yyloc)); >+ #if 0 >+@@ -8818,91 +8810,91 @@ yyreduce: >+ dispatch1(excessed_comma, (yyval.val)); >+ >+ } >+-#line 8818 "ripper.c" /* yacc.c:1646 */ >++#line 8810 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 393: >+-#line 3474 "ripper.y" /* yacc.c:1646 */ >++#line 3466 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8826 "ripper.c" /* yacc.c:1646 */ >++#line 8818 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 394: >+-#line 3478 "ripper.y" /* yacc.c:1646 */ >++#line 3470 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-1].val), Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8834 "ripper.c" /* yacc.c:1646 */ >++#line 8826 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 395: >+-#line 3482 "ripper.y" /* yacc.c:1646 */ >++#line 3474 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8842 "ripper.c" /* yacc.c:1646 */ >++#line 8834 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 396: >+-#line 3486 "ripper.y" /* yacc.c:1646 */ >++#line 3478 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8850 "ripper.c" /* yacc.c:1646 */ >++#line 8842 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 397: >+-#line 3490 "ripper.y" /* yacc.c:1646 */ >++#line 3482 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8858 "ripper.c" /* yacc.c:1646 */ >++#line 8850 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 398: >+-#line 3494 "ripper.y" /* yacc.c:1646 */ >++#line 3486 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8866 "ripper.c" /* yacc.c:1646 */ >++#line 8858 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 399: >+-#line 3498 "ripper.y" /* yacc.c:1646 */ >++#line 3490 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8874 "ripper.c" /* yacc.c:1646 */ >++#line 8866 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 400: >+-#line 3502 "ripper.y" /* yacc.c:1646 */ >++#line 3494 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8882 "ripper.c" /* yacc.c:1646 */ >++#line 8874 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 401: >+-#line 3506 "ripper.y" /* yacc.c:1646 */ >++#line 3498 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 8890 "ripper.c" /* yacc.c:1646 */ >++#line 8882 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 403: >+-#line 3513 "ripper.y" /* yacc.c:1646 */ >++#line 3505 "ripper.y" /* yacc.c:1646 */ >+ { >+ command_start = TRUE; >+ } >+-#line 8898 "ripper.c" /* yacc.c:1646 */ >++#line 8890 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 404: >+-#line 3519 "ripper.y" /* yacc.c:1646 */ >++#line 3511 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ #if 0 >+@@ -8912,11 +8904,11 @@ yyreduce: >+ escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 8912 "ripper.c" /* yacc.c:1646 */ >++#line 8904 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 405: >+-#line 3529 "ripper.y" /* yacc.c:1646 */ >++#line 3521 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -8925,11 +8917,11 @@ yyreduce: >+ Qnil); >+ >+ } >+-#line 8925 "ripper.c" /* yacc.c:1646 */ >++#line 8917 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 406: >+-#line 3538 "ripper.y" /* yacc.c:1646 */ >++#line 3530 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ #if 0 >+@@ -8938,19 +8930,19 @@ yyreduce: >+ (yyval.val) = blockvar_new(escape_Qundef((yyvsp[-2].val)), escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 8938 "ripper.c" /* yacc.c:1646 */ >++#line 8930 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 407: >+-#line 3550 "ripper.y" /* yacc.c:1646 */ >++#line 3542 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = 0; >+ } >+-#line 8946 "ripper.c" /* yacc.c:1646 */ >++#line 8938 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 408: >+-#line 3554 "ripper.y" /* yacc.c:1646 */ >++#line 3546 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -8958,27 +8950,27 @@ yyreduce: >+ (yyval.val) = (yyvsp[-1].val); >+ >+ } >+-#line 8958 "ripper.c" /* yacc.c:1646 */ >++#line 8950 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 409: >+-#line 3566 "ripper.y" /* yacc.c:1646 */ >++#line 3558 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ } >+-#line 8966 "ripper.c" /* yacc.c:1646 */ >++#line 8958 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 410: >+-#line 3573 "ripper.y" /* yacc.c:1646 */ >++#line 3565 "ripper.y" /* yacc.c:1646 */ >+ { >+ rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ } >+-#line 8974 "ripper.c" /* yacc.c:1646 */ >++#line 8966 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 411: >+-#line 3580 "ripper.y" /* yacc.c:1646 */ >++#line 3572 "ripper.y" /* yacc.c:1646 */ >+ { >+ new_bv(get_id((yyvsp[0].val))); >+ #if 0 >+@@ -8986,53 +8978,53 @@ yyreduce: >+ (yyval.val) = get_value((yyvsp[0].val)); >+ >+ } >+-#line 8986 "ripper.c" /* yacc.c:1646 */ >++#line 8978 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 412: >+-#line 3588 "ripper.y" /* yacc.c:1646 */ >++#line 3580 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = 0; >+ } >+-#line 8994 "ripper.c" /* yacc.c:1646 */ >++#line 8986 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 413: >+-#line 3593 "ripper.y" /* yacc.c:1646 */ >++#line 3585 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.vars) = dyna_push(); >+ } >+-#line 9002 "ripper.c" /* yacc.c:1646 */ >++#line 8994 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 414: >+-#line 3596 "ripper.y" /* yacc.c:1646 */ >++#line 3588 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = lpar_beg; >+ lpar_beg = ++paren_nest; >+ } >+-#line 9011 "ripper.c" /* yacc.c:1646 */ >++#line 9003 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 415: >+-#line 3601 "ripper.y" /* yacc.c:1646 */ >++#line 3593 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = ruby_sourceline; >+ } >+-#line 9019 "ripper.c" /* yacc.c:1646 */ >++#line 9011 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 416: >+-#line 3604 "ripper.y" /* yacc.c:1646 */ >++#line 3596 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = cmdarg_stack; >+ CMDARG_SET(0); >+ } >+-#line 9028 "ripper.c" /* yacc.c:1646 */ >++#line 9020 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 417: >+-#line 3609 "ripper.y" /* yacc.c:1646 */ >++#line 3601 "ripper.y" /* yacc.c:1646 */ >+ { >+ lpar_beg = (yyvsp[-4].num); >+ CMDARG_SET((yyvsp[-1].val)); >+@@ -9047,11 +9039,11 @@ yyreduce: >+ >+ dyna_pop((yyvsp[-5].vars)); >+ } >+-#line 9047 "ripper.c" /* yacc.c:1646 */ >++#line 9039 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 418: >+-#line 3626 "ripper.y" /* yacc.c:1646 */ >++#line 3618 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-2].val); >+@@ -9059,46 +9051,46 @@ yyreduce: >+ (yyval.val) = dispatch1(paren, (yyvsp[-2].val)); >+ >+ } >+-#line 9059 "ripper.c" /* yacc.c:1646 */ >++#line 9051 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 419: >+-#line 3634 "ripper.y" /* yacc.c:1646 */ >++#line 3626 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 9067 "ripper.c" /* yacc.c:1646 */ >++#line 9059 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 420: >+-#line 3640 "ripper.y" /* yacc.c:1646 */ >++#line 3632 "ripper.y" /* yacc.c:1646 */ >+ { >+ token_info_pop("}"); >+ (yyval.val) = (yyvsp[-1].val); >+ } >+-#line 9076 "ripper.c" /* yacc.c:1646 */ >++#line 9068 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 421: >+-#line 3645 "ripper.y" /* yacc.c:1646 */ >++#line 3637 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ } >+-#line 9084 "ripper.c" /* yacc.c:1646 */ >++#line 9076 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 422: >+-#line 3651 "ripper.y" /* yacc.c:1646 */ >++#line 3643 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9094 "ripper.c" /* yacc.c:1646 */ >++#line 9086 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 423: >+-#line 3657 "ripper.y" /* yacc.c:1646 */ >++#line 3649 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ #if 0 >+@@ -9107,11 +9099,11 @@ yyreduce: >+ nd_set_line((yyval.val), (yyvsp[-2].num)); >+ #endif >+ } >+-#line 9107 "ripper.c" /* yacc.c:1646 */ >++#line 9099 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 424: >+-#line 3668 "ripper.y" /* yacc.c:1646 */ >++#line 3660 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (nd_type((yyvsp[-1].val)) == NODE_YIELD) { >+@@ -9128,19 +9120,19 @@ yyreduce: >+ (yyval.val) = method_add_block((yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 9128 "ripper.c" /* yacc.c:1646 */ >++#line 9120 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 425: >+-#line 3685 "ripper.y" /* yacc.c:1646 */ >++#line 3677 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall((yyvsp[-2].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 9136 "ripper.c" /* yacc.c:1646 */ >++#line 9128 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 426: >+-#line 3689 "ripper.y" /* yacc.c:1646 */ >++#line 3681 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ block_dup_check((yyvsp[-1].val), (yyvsp[0].val)); >+@@ -9153,11 +9145,11 @@ yyreduce: >+ (yyval.val) = method_add_block((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 9153 "ripper.c" /* yacc.c:1646 */ >++#line 9145 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 427: >+-#line 3702 "ripper.y" /* yacc.c:1646 */ >++#line 3694 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ block_dup_check((yyvsp[-1].val), (yyvsp[0].val)); >+@@ -9170,11 +9162,11 @@ yyreduce: >+ (yyval.val) = method_add_block((yyval.val), (yyvsp[0].val)); >+ >+ } >+-#line 9170 "ripper.c" /* yacc.c:1646 */ >++#line 9162 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 428: >+-#line 3717 "ripper.y" /* yacc.c:1646 */ >++#line 3709 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -9184,95 +9176,95 @@ yyreduce: >+ (yyval.val) = method_arg(dispatch1(fcall, (yyvsp[-1].val)), (yyvsp[0].val)); >+ >+ } >+-#line 9184 "ripper.c" /* yacc.c:1646 */ >++#line 9176 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 429: >+-#line 3727 "ripper.y" /* yacc.c:1646 */ >++#line 3719 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9194 "ripper.c" /* yacc.c:1646 */ >++#line 9186 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 430: >+-#line 3733 "ripper.y" /* yacc.c:1646 */ >++#line 3725 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall((yyvsp[-3].val), (yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[0].val), &(yyloc)); >+ nd_set_line((yyval.val), (yyvsp[-1].num)); >+ } >+-#line 9203 "ripper.c" /* yacc.c:1646 */ >++#line 9195 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 431: >+-#line 3738 "ripper.y" /* yacc.c:1646 */ >++#line 3730 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9213 "ripper.c" /* yacc.c:1646 */ >++#line 9205 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 432: >+-#line 3744 "ripper.y" /* yacc.c:1646 */ >++#line 3736 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[0].val), &(yyloc)); >+ nd_set_line((yyval.val), (yyvsp[-1].num)); >+ } >+-#line 9222 "ripper.c" /* yacc.c:1646 */ >++#line 9214 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 433: >+-#line 3749 "ripper.y" /* yacc.c:1646 */ >++#line 3741 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-2].val), (yyvsp[0].val), Qnull, &(yyloc)); >+ } >+-#line 9230 "ripper.c" /* yacc.c:1646 */ >++#line 9222 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 434: >+-#line 3753 "ripper.y" /* yacc.c:1646 */ >++#line 3745 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9240 "ripper.c" /* yacc.c:1646 */ >++#line 9232 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 435: >+-#line 3759 "ripper.y" /* yacc.c:1646 */ >++#line 3751 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall((yyvsp[-2].val), (yyvsp[-3].val), ID2VAL(idCall), (yyvsp[0].val), &(yyloc)); >+ nd_set_line((yyval.val), (yyvsp[-1].num)); >+ } >+-#line 9249 "ripper.c" /* yacc.c:1646 */ >++#line 9241 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 436: >+-#line 3764 "ripper.y" /* yacc.c:1646 */ >++#line 3756 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9259 "ripper.c" /* yacc.c:1646 */ >++#line 9251 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 437: >+-#line 3770 "ripper.y" /* yacc.c:1646 */ >++#line 3762 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-3].val), ID2VAL(idCall), (yyvsp[0].val), &(yyloc)); >+ nd_set_line((yyval.val), (yyvsp[-1].num)); >+ } >+-#line 9268 "ripper.c" /* yacc.c:1646 */ >++#line 9260 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 438: >+-#line 3775 "ripper.y" /* yacc.c:1646 */ >++#line 3767 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_SUPER((yyvsp[0].val)); >+@@ -9281,11 +9273,11 @@ yyreduce: >+ (yyval.val) = dispatch1(super, (yyvsp[0].val)); >+ >+ } >+-#line 9281 "ripper.c" /* yacc.c:1646 */ >++#line 9273 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 439: >+-#line 3784 "ripper.y" /* yacc.c:1646 */ >++#line 3776 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_ZSUPER(); >+@@ -9294,11 +9286,11 @@ yyreduce: >+ (yyval.val) = dispatch0(zsuper); >+ >+ } >+-#line 9294 "ripper.c" /* yacc.c:1646 */ >++#line 9286 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 440: >+-#line 3793 "ripper.y" /* yacc.c:1646 */ >++#line 3785 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if ((yyvsp[-3].val) && nd_type((yyvsp[-3].val)) == NODE_SELF) >+@@ -9310,21 +9302,21 @@ yyreduce: >+ (yyval.val) = dispatch2(aref, (yyvsp[-3].val), escape_Qundef((yyvsp[-1].val))); >+ >+ } >+-#line 9310 "ripper.c" /* yacc.c:1646 */ >++#line 9302 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 441: >+-#line 3807 "ripper.y" /* yacc.c:1646 */ >++#line 3799 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9320 "ripper.c" /* yacc.c:1646 */ >++#line 9312 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 442: >+-#line 3813 "ripper.y" /* yacc.c:1646 */ >++#line 3805 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ #if 0 >+@@ -9333,21 +9325,21 @@ yyreduce: >+ nd_set_line((yyval.val), (yyvsp[-2].num)); >+ #endif >+ } >+-#line 9333 "ripper.c" /* yacc.c:1646 */ >++#line 9325 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 443: >+-#line 3822 "ripper.y" /* yacc.c:1646 */ >++#line 3814 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.num) = ruby_sourceline; >+ #endif >+ } >+-#line 9343 "ripper.c" /* yacc.c:1646 */ >++#line 9335 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 444: >+-#line 3828 "ripper.y" /* yacc.c:1646 */ >++#line 3820 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ #if 0 >+@@ -9356,55 +9348,55 @@ yyreduce: >+ nd_set_line((yyval.val), (yyvsp[-2].num)); >+ #endif >+ } >+-#line 9356 "ripper.c" /* yacc.c:1646 */ >++#line 9348 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 445: >+-#line 3838 "ripper.y" /* yacc.c:1646 */ >++#line 3830 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.vars) = dyna_push();} >+-#line 9362 "ripper.c" /* yacc.c:1646 */ >++#line 9354 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 446: >+-#line 3839 "ripper.y" /* yacc.c:1646 */ >++#line 3831 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = cmdarg_stack >> 1; CMDARG_SET(0);} >+-#line 9368 "ripper.c" /* yacc.c:1646 */ >++#line 9360 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 447: >+-#line 3841 "ripper.y" /* yacc.c:1646 */ >++#line 3833 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_brace_body((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ dyna_pop((yyvsp[-3].vars)); >+ CMDARG_SET((yyvsp[-2].val)); >+ } >+-#line 9378 "ripper.c" /* yacc.c:1646 */ >++#line 9370 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 448: >+-#line 3848 "ripper.y" /* yacc.c:1646 */ >++#line 3840 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.vars) = dyna_push();} >+-#line 9384 "ripper.c" /* yacc.c:1646 */ >++#line 9376 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 449: >+-#line 3849 "ripper.y" /* yacc.c:1646 */ >++#line 3841 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = cmdarg_stack; CMDARG_SET(0);} >+-#line 9390 "ripper.c" /* yacc.c:1646 */ >++#line 9382 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 450: >+-#line 3851 "ripper.y" /* yacc.c:1646 */ >++#line 3843 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_do_body((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ dyna_pop((yyvsp[-3].vars)); >+ CMDARG_SET((yyvsp[-2].val)); >+ } >+-#line 9400 "ripper.c" /* yacc.c:1646 */ >++#line 9392 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 451: >+-#line 3861 "ripper.y" /* yacc.c:1646 */ >++#line 3853 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_WHEN((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val)); >+@@ -9413,11 +9405,11 @@ yyreduce: >+ (yyval.val) = dispatch3(when, (yyvsp[-3].val), (yyvsp[-1].val), escape_Qundef((yyvsp[0].val))); >+ >+ } >+-#line 9413 "ripper.c" /* yacc.c:1646 */ >++#line 9405 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 454: >+-#line 3878 "ripper.y" /* yacc.c:1646 */ >++#line 3870 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if ((yyvsp[-3].val)) { >+@@ -9437,11 +9429,11 @@ yyreduce: >+ escape_Qundef((yyvsp[0].val))); >+ >+ } >+-#line 9437 "ripper.c" /* yacc.c:1646 */ >++#line 9429 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 456: >+-#line 3901 "ripper.y" /* yacc.c:1646 */ >++#line 3893 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_list((yyvsp[0].val), &(yyloc)); >+@@ -9449,11 +9441,11 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 9449 "ripper.c" /* yacc.c:1646 */ >++#line 9441 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 457: >+-#line 3909 "ripper.y" /* yacc.c:1646 */ >++#line 3901 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (!((yyval.val) = splat_array((yyvsp[0].val)))) (yyval.val) = (yyvsp[0].val); >+@@ -9461,19 +9453,19 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 9461 "ripper.c" /* yacc.c:1646 */ >++#line 9453 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 459: >+-#line 3920 "ripper.y" /* yacc.c:1646 */ >++#line 3912 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 9469 "ripper.c" /* yacc.c:1646 */ >++#line 9461 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 461: >+-#line 3927 "ripper.y" /* yacc.c:1646 */ >++#line 3919 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -9481,11 +9473,11 @@ yyreduce: >+ (yyval.val) = dispatch1(ensure, (yyvsp[0].val)); >+ >+ } >+-#line 9481 "ripper.c" /* yacc.c:1646 */ >++#line 9473 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 464: >+-#line 3939 "ripper.y" /* yacc.c:1646 */ >++#line 3931 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_lit(ID2SYM((yyvsp[0].val)), &(yyloc)); >+@@ -9493,11 +9485,11 @@ yyreduce: >+ (yyval.val) = dispatch1(symbol_literal, (yyvsp[0].val)); >+ >+ } >+-#line 9493 "ripper.c" /* yacc.c:1646 */ >++#line 9485 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 466: >+-#line 3950 "ripper.y" /* yacc.c:1646 */ >++#line 3942 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *node = (yyvsp[0].val); >+@@ -9512,22 +9504,22 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 9512 "ripper.c" /* yacc.c:1646 */ >++#line 9504 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 467: >+-#line 3967 "ripper.y" /* yacc.c:1646 */ >++#line 3959 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 9523 "ripper.c" /* yacc.c:1646 */ >++#line 9515 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 469: >+-#line 3975 "ripper.y" /* yacc.c:1646 */ >++#line 3967 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -9535,11 +9527,11 @@ yyreduce: >+ (yyval.val) = dispatch2(string_concat, (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 9535 "ripper.c" /* yacc.c:1646 */ >++#line 9527 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 470: >+-#line 3985 "ripper.y" /* yacc.c:1646 */ >++#line 3977 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_string1(heredoc_dedent((yyvsp[-1].val))); >+ #if 0 >+@@ -9547,27 +9539,27 @@ yyreduce: >+ #endif >+ >+ } >+-#line 9547 "ripper.c" /* yacc.c:1646 */ >++#line 9539 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 471: >+-#line 3995 "ripper.y" /* yacc.c:1646 */ >++#line 3987 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_xstring(heredoc_dedent((yyvsp[-1].val)), &(yyloc)); >+ } >+-#line 9555 "ripper.c" /* yacc.c:1646 */ >++#line 9547 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 472: >+-#line 4001 "ripper.y" /* yacc.c:1646 */ >++#line 3993 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_regexp((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 9563 "ripper.c" /* yacc.c:1646 */ >++#line 9555 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 473: >+-#line 4007 "ripper.y" /* yacc.c:1646 */ >++#line 3999 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = make_array((yyvsp[-1].val), &(yyloc)); >+@@ -9575,11 +9567,11 @@ yyreduce: >+ (yyval.val) = dispatch1(array, (yyvsp[-1].val)); >+ >+ } >+-#line 9575 "ripper.c" /* yacc.c:1646 */ >++#line 9567 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 474: >+-#line 4017 "ripper.y" /* yacc.c:1646 */ >++#line 4009 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9587,11 +9579,11 @@ yyreduce: >+ (yyval.val) = dispatch0(words_new); >+ >+ } >+-#line 9587 "ripper.c" /* yacc.c:1646 */ >++#line 9579 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 475: >+-#line 4025 "ripper.y" /* yacc.c:1646 */ >++#line 4017 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = list_append((yyvsp[-2].val), evstr2dstr((yyvsp[-1].val))); >+@@ -9599,20 +9591,20 @@ yyreduce: >+ (yyval.val) = dispatch2(words_add, (yyvsp[-2].val), (yyvsp[-1].val)); >+ >+ } >+-#line 9599 "ripper.c" /* yacc.c:1646 */ >++#line 9591 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 476: >+-#line 4037 "ripper.y" /* yacc.c:1646 */ >++#line 4029 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = dispatch0(word_new); >+ (yyval.val) = dispatch2(word_add, (yyval.val), (yyvsp[0].val)); >+ } >+-#line 9608 "ripper.c" /* yacc.c:1646 */ >++#line 9600 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 477: >+-#line 4043 "ripper.y" /* yacc.c:1646 */ >++#line 4035 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -9620,11 +9612,11 @@ yyreduce: >+ (yyval.val) = dispatch2(word_add, (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 9620 "ripper.c" /* yacc.c:1646 */ >++#line 9612 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 478: >+-#line 4053 "ripper.y" /* yacc.c:1646 */ >++#line 4045 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = make_array((yyvsp[-1].val), &(yyloc)); >+@@ -9632,11 +9624,11 @@ yyreduce: >+ (yyval.val) = dispatch1(array, (yyvsp[-1].val)); >+ >+ } >+-#line 9632 "ripper.c" /* yacc.c:1646 */ >++#line 9624 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 479: >+-#line 4063 "ripper.y" /* yacc.c:1646 */ >++#line 4055 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9644,11 +9636,11 @@ yyreduce: >+ (yyval.val) = dispatch0(symbols_new); >+ >+ } >+-#line 9644 "ripper.c" /* yacc.c:1646 */ >++#line 9636 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 480: >+-#line 4071 "ripper.y" /* yacc.c:1646 */ >++#line 4063 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyvsp[-1].val) = evstr2dstr((yyvsp[-1].val)); >+@@ -9664,11 +9656,11 @@ yyreduce: >+ (yyval.val) = dispatch2(symbols_add, (yyvsp[-2].val), (yyvsp[-1].val)); >+ >+ } >+-#line 9664 "ripper.c" /* yacc.c:1646 */ >++#line 9656 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 481: >+-#line 4089 "ripper.y" /* yacc.c:1646 */ >++#line 4081 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = make_array((yyvsp[-1].val), &(yyloc)); >+@@ -9676,11 +9668,11 @@ yyreduce: >+ (yyval.val) = dispatch1(array, (yyvsp[-1].val)); >+ >+ } >+-#line 9676 "ripper.c" /* yacc.c:1646 */ >++#line 9668 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 482: >+-#line 4099 "ripper.y" /* yacc.c:1646 */ >++#line 4091 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = make_array((yyvsp[-1].val), &(yyloc)); >+@@ -9688,11 +9680,11 @@ yyreduce: >+ (yyval.val) = dispatch1(array, (yyvsp[-1].val)); >+ >+ } >+-#line 9688 "ripper.c" /* yacc.c:1646 */ >++#line 9680 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 483: >+-#line 4109 "ripper.y" /* yacc.c:1646 */ >++#line 4101 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9700,11 +9692,11 @@ yyreduce: >+ (yyval.val) = dispatch0(qwords_new); >+ >+ } >+-#line 9700 "ripper.c" /* yacc.c:1646 */ >++#line 9692 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 484: >+-#line 4117 "ripper.y" /* yacc.c:1646 */ >++#line 4109 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyvsp[-1].val)->nd_loc = (yylsp[-1]); >+@@ -9713,11 +9705,11 @@ yyreduce: >+ (yyval.val) = dispatch2(qwords_add, (yyvsp[-2].val), (yyvsp[-1].val)); >+ >+ } >+-#line 9713 "ripper.c" /* yacc.c:1646 */ >++#line 9705 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 485: >+-#line 4128 "ripper.y" /* yacc.c:1646 */ >++#line 4120 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9725,11 +9717,11 @@ yyreduce: >+ (yyval.val) = dispatch0(qsymbols_new); >+ >+ } >+-#line 9725 "ripper.c" /* yacc.c:1646 */ >++#line 9717 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 486: >+-#line 4136 "ripper.y" /* yacc.c:1646 */ >++#line 4128 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ VALUE lit; >+@@ -9742,11 +9734,11 @@ yyreduce: >+ (yyval.val) = dispatch2(qsymbols_add, (yyvsp[-2].val), (yyvsp[-1].val)); >+ >+ } >+-#line 9742 "ripper.c" /* yacc.c:1646 */ >++#line 9734 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 487: >+-#line 4151 "ripper.y" /* yacc.c:1646 */ >++#line 4143 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9754,11 +9746,11 @@ yyreduce: >+ (yyval.val) = dispatch0(string_content); >+ >+ } >+-#line 9754 "ripper.c" /* yacc.c:1646 */ >++#line 9746 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 488: >+-#line 4159 "ripper.y" /* yacc.c:1646 */ >++#line 4151 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -9766,11 +9758,11 @@ yyreduce: >+ (yyval.val) = dispatch2(string_add, (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 9766 "ripper.c" /* yacc.c:1646 */ >++#line 9758 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 489: >+-#line 4169 "ripper.y" /* yacc.c:1646 */ >++#line 4161 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9778,11 +9770,11 @@ yyreduce: >+ (yyval.val) = dispatch0(xstring_new); >+ >+ } >+-#line 9778 "ripper.c" /* yacc.c:1646 */ >++#line 9770 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 490: >+-#line 4177 "ripper.y" /* yacc.c:1646 */ >++#line 4169 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -9790,11 +9782,11 @@ yyreduce: >+ (yyval.val) = dispatch2(xstring_add, (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 9790 "ripper.c" /* yacc.c:1646 */ >++#line 9782 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 491: >+-#line 4187 "ripper.y" /* yacc.c:1646 */ >++#line 4179 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -9802,11 +9794,11 @@ yyreduce: >+ (yyval.val) = ripper_new_yylval(0, dispatch0(regexp_new), 0); >+ >+ } >+-#line 9802 "ripper.c" /* yacc.c:1646 */ >++#line 9794 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 492: >+-#line 4195 "ripper.y" /* yacc.c:1646 */ >++#line 4187 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *head = (yyvsp[-1].val), *tail = (yyvsp[0].val); >+@@ -9845,33 +9837,33 @@ yyreduce: >+ } >+ >+ } >+-#line 9845 "ripper.c" /* yacc.c:1646 */ >++#line 9837 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 493: >+-#line 4236 "ripper.y" /* yacc.c:1646 */ >++#line 4228 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 9856 "ripper.c" /* yacc.c:1646 */ >++#line 9848 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 494: >+-#line 4243 "ripper.y" /* yacc.c:1646 */ >++#line 4235 "ripper.y" /* yacc.c:1646 */ >+ { >+ /* need to backup lex_strterm so that a string literal `%&foo,#$&,bar&` can be parsed */ >+ (yyval.strterm) = lex_strterm; >+ lex_strterm = 0; >+ SET_LEX_STATE(EXPR_BEG); >+ } >+-#line 9867 "ripper.c" /* yacc.c:1646 */ >++#line 9859 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 495: >+-#line 4250 "ripper.y" /* yacc.c:1646 */ >++#line 4242 "ripper.y" /* yacc.c:1646 */ >+ { >+ lex_strterm = (yyvsp[-1].strterm); >+ #if 0 >+@@ -9881,59 +9873,59 @@ yyreduce: >+ (yyval.val) = dispatch1(string_dvar, (yyvsp[0].val)); >+ >+ } >+-#line 9881 "ripper.c" /* yacc.c:1646 */ >++#line 9873 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 496: >+-#line 4260 "ripper.y" /* yacc.c:1646 */ >++#line 4252 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cond_stack; >+ (yyval.val) = cmdarg_stack; >+ COND_SET(0); >+ CMDARG_SET(0); >+ } >+-#line 9892 "ripper.c" /* yacc.c:1646 */ >++#line 9884 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 497: >+-#line 4266 "ripper.y" /* yacc.c:1646 */ >++#line 4258 "ripper.y" /* yacc.c:1646 */ >+ { >+ /* need to backup lex_strterm so that a string literal `%!foo,#{ !0 },bar!` can be parsed */ >+ (yyval.strterm) = lex_strterm; >+ lex_strterm = 0; >+ } >+-#line 9902 "ripper.c" /* yacc.c:1646 */ >++#line 9894 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 498: >+-#line 4271 "ripper.y" /* yacc.c:1646 */ >++#line 4263 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = lex_state; >+ SET_LEX_STATE(EXPR_BEG); >+ } >+-#line 9911 "ripper.c" /* yacc.c:1646 */ >++#line 9903 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 499: >+-#line 4275 "ripper.y" /* yacc.c:1646 */ >++#line 4267 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = brace_nest; >+ brace_nest = 0; >+ } >+-#line 9920 "ripper.c" /* yacc.c:1646 */ >++#line 9912 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 500: >+-#line 4279 "ripper.y" /* yacc.c:1646 */ >++#line 4271 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = heredoc_indent; >+ heredoc_indent = 0; >+ } >+-#line 9929 "ripper.c" /* yacc.c:1646 */ >++#line 9921 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 501: >+-#line 4284 "ripper.y" /* yacc.c:1646 */ >++#line 4276 "ripper.y" /* yacc.c:1646 */ >+ { >+ COND_SET((yyvsp[-7].val)); >+ CMDARG_SET((yyvsp[-6].val)); >+@@ -9949,11 +9941,11 @@ yyreduce: >+ (yyval.val) = dispatch1(string_embexpr, (yyvsp[-1].val)); >+ >+ } >+-#line 9949 "ripper.c" /* yacc.c:1646 */ >++#line 9941 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 502: >+-#line 4302 "ripper.y" /* yacc.c:1646 */ >++#line 4294 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_gvar((yyvsp[0].val), &(yyloc)); >+@@ -9961,11 +9953,11 @@ yyreduce: >+ (yyval.val) = dispatch1(var_ref, (yyvsp[0].val)); >+ >+ } >+-#line 9961 "ripper.c" /* yacc.c:1646 */ >++#line 9953 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 503: >+-#line 4310 "ripper.y" /* yacc.c:1646 */ >++#line 4302 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = new_ivar((yyvsp[0].val), &(yyloc)); >+@@ -9973,11 +9965,11 @@ yyreduce: >+ (yyval.val) = dispatch1(var_ref, (yyvsp[0].val)); >+ >+ } >+-#line 9973 "ripper.c" /* yacc.c:1646 */ >++#line 9965 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 504: >+-#line 4318 "ripper.y" /* yacc.c:1646 */ >++#line 4310 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = NEW_CVAR((yyvsp[0].val)); >+@@ -9986,11 +9978,11 @@ yyreduce: >+ (yyval.val) = dispatch1(var_ref, (yyvsp[0].val)); >+ >+ } >+-#line 9986 "ripper.c" /* yacc.c:1646 */ >++#line 9978 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 506: >+-#line 4330 "ripper.y" /* yacc.c:1646 */ >++#line 4322 "ripper.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_END|EXPR_ENDARG); >+ #if 0 >+@@ -9999,11 +9991,11 @@ yyreduce: >+ (yyval.val) = dispatch1(symbol, (yyvsp[0].val)); >+ >+ } >+-#line 9999 "ripper.c" /* yacc.c:1646 */ >++#line 9991 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 511: >+-#line 4347 "ripper.y" /* yacc.c:1646 */ >++#line 4339 "ripper.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_END|EXPR_ENDARG); >+ #if 0 >+@@ -10012,11 +10004,11 @@ yyreduce: >+ (yyval.val) = dispatch1(dyna_symbol, (yyvsp[-1].val)); >+ >+ } >+-#line 10012 "ripper.c" /* yacc.c:1646 */ >++#line 10004 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 513: >+-#line 4359 "ripper.y" /* yacc.c:1646 */ >++#line 4351 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -10025,97 +10017,97 @@ yyreduce: >+ (yyval.val) = dispatch2(unary, ID2VAL(idUMinus), (yyvsp[0].val)); >+ >+ } >+-#line 10025 "ripper.c" /* yacc.c:1646 */ >++#line 10017 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 514: >+-#line 4370 "ripper.y" /* yacc.c:1646 */ >++#line 4362 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10036 "ripper.c" /* yacc.c:1646 */ >++#line 10028 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 515: >+-#line 4377 "ripper.y" /* yacc.c:1646 */ >++#line 4369 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10047 "ripper.c" /* yacc.c:1646 */ >++#line 10039 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 516: >+-#line 4384 "ripper.y" /* yacc.c:1646 */ >++#line 4376 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10058 "ripper.c" /* yacc.c:1646 */ >++#line 10050 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 517: >+-#line 4391 "ripper.y" /* yacc.c:1646 */ >++#line 4383 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10069 "ripper.c" /* yacc.c:1646 */ >++#line 10061 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 523: >+-#line 4406 "ripper.y" /* yacc.c:1646 */ >++#line 4398 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(nil, (yyvsp[0].val));} >+-#line 10075 "ripper.c" /* yacc.c:1646 */ >++#line 10067 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 524: >+-#line 4407 "ripper.y" /* yacc.c:1646 */ >++#line 4399 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(self, (yyvsp[0].val));} >+-#line 10081 "ripper.c" /* yacc.c:1646 */ >++#line 10073 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 525: >+-#line 4408 "ripper.y" /* yacc.c:1646 */ >++#line 4400 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(true, (yyvsp[0].val));} >+-#line 10087 "ripper.c" /* yacc.c:1646 */ >++#line 10079 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 526: >+-#line 4409 "ripper.y" /* yacc.c:1646 */ >++#line 4401 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(false, (yyvsp[0].val));} >+-#line 10093 "ripper.c" /* yacc.c:1646 */ >++#line 10085 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 527: >+-#line 4410 "ripper.y" /* yacc.c:1646 */ >++#line 4402 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(_FILE__, (yyvsp[0].val));} >+-#line 10099 "ripper.c" /* yacc.c:1646 */ >++#line 10091 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 528: >+-#line 4411 "ripper.y" /* yacc.c:1646 */ >++#line 4403 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(_LINE__, (yyvsp[0].val));} >+-#line 10105 "ripper.c" /* yacc.c:1646 */ >++#line 10097 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 529: >+-#line 4412 "ripper.y" /* yacc.c:1646 */ >++#line 4404 "ripper.y" /* yacc.c:1646 */ >+ {(yyval.val) = KWD2EID(_ENCODING__, (yyvsp[0].val));} >+-#line 10111 "ripper.c" /* yacc.c:1646 */ >++#line 10103 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 530: >+-#line 4416 "ripper.y" /* yacc.c:1646 */ >++#line 4408 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (!((yyval.val) = gettable((yyvsp[0].val), &(yyloc)))) (yyval.val) = new_begin(0, &(yyloc)); >+@@ -10128,11 +10120,11 @@ yyreduce: >+ } >+ >+ } >+-#line 10128 "ripper.c" /* yacc.c:1646 */ >++#line 10120 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 531: >+-#line 4429 "ripper.y" /* yacc.c:1646 */ >++#line 4421 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (!((yyval.val) = gettable((yyvsp[0].val), &(yyloc)))) (yyval.val) = new_begin(0, &(yyloc)); >+@@ -10140,66 +10132,66 @@ yyreduce: >+ (yyval.val) = dispatch1(var_ref, (yyvsp[0].val)); >+ >+ } >+-#line 10140 "ripper.c" /* yacc.c:1646 */ >++#line 10132 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 532: >+-#line 4439 "ripper.y" /* yacc.c:1646 */ >++#line 4431 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc)); >+ } >+-#line 10148 "ripper.c" /* yacc.c:1646 */ >++#line 10140 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 533: >+-#line 4443 "ripper.y" /* yacc.c:1646 */ >++#line 4435 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc)); >+ } >+-#line 10156 "ripper.c" /* yacc.c:1646 */ >++#line 10148 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 534: >+-#line 4449 "ripper.y" /* yacc.c:1646 */ >++#line 4441 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10167 "ripper.c" /* yacc.c:1646 */ >++#line 10159 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 535: >+-#line 4456 "ripper.y" /* yacc.c:1646 */ >++#line 4448 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val)->nd_loc = (yyloc); >+ #endif >+ >+ } >+-#line 10178 "ripper.c" /* yacc.c:1646 */ >++#line 10170 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 536: >+-#line 4465 "ripper.y" /* yacc.c:1646 */ >++#line 4457 "ripper.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10187 "ripper.c" /* yacc.c:1646 */ >++#line 10179 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 537: >+-#line 4470 "ripper.y" /* yacc.c:1646 */ >++#line 4462 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[-1].val); >+ } >+-#line 10195 "ripper.c" /* yacc.c:1646 */ >++#line 10187 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 538: >+-#line 4474 "ripper.y" /* yacc.c:1646 */ >++#line 4466 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -10207,11 +10199,11 @@ yyreduce: >+ (yyval.val) = Qnil; >+ >+ } >+-#line 10207 "ripper.c" /* yacc.c:1646 */ >++#line 10199 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 539: >+-#line 4484 "ripper.y" /* yacc.c:1646 */ >++#line 4476 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -10221,201 +10213,201 @@ yyreduce: >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10221 "ripper.c" /* yacc.c:1646 */ >++#line 10213 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 540: >+-#line 4493 "ripper.y" /* yacc.c:1646 */ >++#line 4485 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = parser->in_kwarg; >+ parser->in_kwarg = 1; >+ SET_LEX_STATE(lex_state|EXPR_LABEL); /* force for args */ >+ } >+-#line 10231 "ripper.c" /* yacc.c:1646 */ >++#line 10223 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 541: >+-#line 4499 "ripper.y" /* yacc.c:1646 */ >++#line 4491 "ripper.y" /* yacc.c:1646 */ >+ { >+ parser->in_kwarg = !!(yyvsp[-2].num); >+ (yyval.val) = (yyvsp[-1].val); >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10242 "ripper.c" /* yacc.c:1646 */ >++#line 10234 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 542: >+-#line 4508 "ripper.y" /* yacc.c:1646 */ >++#line 4500 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 10250 "ripper.c" /* yacc.c:1646 */ >++#line 10242 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 543: >+-#line 4512 "ripper.y" /* yacc.c:1646 */ >++#line 4504 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail((yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 10258 "ripper.c" /* yacc.c:1646 */ >++#line 10250 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 544: >+-#line 4516 "ripper.y" /* yacc.c:1646 */ >++#line 4508 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1])); >+ } >+-#line 10266 "ripper.c" /* yacc.c:1646 */ >++#line 10258 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 545: >+-#line 4520 "ripper.y" /* yacc.c:1646 */ >++#line 4512 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, Qnone, (yyvsp[0].val), &(yylsp[0])); >+ } >+-#line 10274 "ripper.c" /* yacc.c:1646 */ >++#line 10266 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 546: >+-#line 4526 "ripper.y" /* yacc.c:1646 */ >++#line 4518 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 10282 "ripper.c" /* yacc.c:1646 */ >++#line 10274 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 547: >+-#line 4530 "ripper.y" /* yacc.c:1646 */ >++#line 4522 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ } >+-#line 10290 "ripper.c" /* yacc.c:1646 */ >++#line 10282 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 548: >+-#line 4536 "ripper.y" /* yacc.c:1646 */ >++#line 4528 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10298 "ripper.c" /* yacc.c:1646 */ >++#line 10290 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 549: >+-#line 4540 "ripper.y" /* yacc.c:1646 */ >++#line 4532 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-7].val), (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10306 "ripper.c" /* yacc.c:1646 */ >++#line 10298 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 550: >+-#line 4544 "ripper.y" /* yacc.c:1646 */ >++#line 4536 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-3].val), (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10314 "ripper.c" /* yacc.c:1646 */ >++#line 10306 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 551: >+-#line 4548 "ripper.y" /* yacc.c:1646 */ >++#line 4540 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10322 "ripper.c" /* yacc.c:1646 */ >++#line 10314 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 552: >+-#line 4552 "ripper.y" /* yacc.c:1646 */ >++#line 4544 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-3].val), Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10330 "ripper.c" /* yacc.c:1646 */ >++#line 10322 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 553: >+-#line 4556 "ripper.y" /* yacc.c:1646 */ >++#line 4548 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-5].val), Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10338 "ripper.c" /* yacc.c:1646 */ >++#line 10330 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 554: >+-#line 4560 "ripper.y" /* yacc.c:1646 */ >++#line 4552 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args((yyvsp[-1].val), Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10346 "ripper.c" /* yacc.c:1646 */ >++#line 10338 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 555: >+-#line 4564 "ripper.y" /* yacc.c:1646 */ >++#line 4556 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10354 "ripper.c" /* yacc.c:1646 */ >++#line 10346 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 556: >+-#line 4568 "ripper.y" /* yacc.c:1646 */ >++#line 4560 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10362 "ripper.c" /* yacc.c:1646 */ >++#line 10354 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 557: >+-#line 4572 "ripper.y" /* yacc.c:1646 */ >++#line 4564 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10370 "ripper.c" /* yacc.c:1646 */ >++#line 10362 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 558: >+-#line 4576 "ripper.y" /* yacc.c:1646 */ >++#line 4568 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10378 "ripper.c" /* yacc.c:1646 */ >++#line 10370 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 559: >+-#line 4580 "ripper.y" /* yacc.c:1646 */ >++#line 4572 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10386 "ripper.c" /* yacc.c:1646 */ >++#line 10378 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 560: >+-#line 4584 "ripper.y" /* yacc.c:1646 */ >++#line 4576 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10394 "ripper.c" /* yacc.c:1646 */ >++#line 10386 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 561: >+-#line 4588 "ripper.y" /* yacc.c:1646 */ >++#line 4580 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc)); >+ } >+-#line 10402 "ripper.c" /* yacc.c:1646 */ >++#line 10394 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 562: >+-#line 4592 "ripper.y" /* yacc.c:1646 */ >++#line 4584 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ (yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyval.val), &(yylsp[0])); >+ } >+-#line 10411 "ripper.c" /* yacc.c:1646 */ >++#line 10403 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 563: >+-#line 4599 "ripper.y" /* yacc.c:1646 */ >++#line 4591 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ yyerror0("formal argument cannot be a constant"); >+@@ -10425,11 +10417,11 @@ yyreduce: >+ ripper_error(); >+ >+ } >+-#line 10425 "ripper.c" /* yacc.c:1646 */ >++#line 10417 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 564: >+-#line 4609 "ripper.y" /* yacc.c:1646 */ >++#line 4601 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ yyerror0("formal argument cannot be an instance variable"); >+@@ -10439,11 +10431,11 @@ yyreduce: >+ ripper_error(); >+ >+ } >+-#line 10439 "ripper.c" /* yacc.c:1646 */ >++#line 10431 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 565: >+-#line 4619 "ripper.y" /* yacc.c:1646 */ >++#line 4611 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ yyerror0("formal argument cannot be a global variable"); >+@@ -10453,11 +10445,11 @@ yyreduce: >+ ripper_error(); >+ >+ } >+-#line 10453 "ripper.c" /* yacc.c:1646 */ >++#line 10445 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 566: >+-#line 4629 "ripper.y" /* yacc.c:1646 */ >++#line 4621 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ yyerror0("formal argument cannot be a class variable"); >+@@ -10467,31 +10459,31 @@ yyreduce: >+ ripper_error(); >+ >+ } >+-#line 10467 "ripper.c" /* yacc.c:1646 */ >++#line 10459 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 568: >+-#line 4642 "ripper.y" /* yacc.c:1646 */ >++#line 4634 "ripper.y" /* yacc.c:1646 */ >+ { >+ formal_argument(get_id((yyvsp[0].val))); >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 10476 "ripper.c" /* yacc.c:1646 */ >++#line 10468 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 569: >+-#line 4649 "ripper.y" /* yacc.c:1646 */ >++#line 4641 "ripper.y" /* yacc.c:1646 */ >+ { >+ ID id = get_id((yyvsp[0].val)); >+ arg_var(id); >+ current_arg = id; >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 10487 "ripper.c" /* yacc.c:1646 */ >++#line 10479 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 570: >+-#line 4658 "ripper.y" /* yacc.c:1646 */ >++#line 4650 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ #if 0 >+@@ -10500,11 +10492,11 @@ yyreduce: >+ (yyval.val) = get_value((yyvsp[0].val)); >+ >+ } >+-#line 10500 "ripper.c" /* yacc.c:1646 */ >++#line 10492 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 571: >+-#line 4667 "ripper.y" /* yacc.c:1646 */ >++#line 4659 "ripper.y" /* yacc.c:1646 */ >+ { >+ ID tid = internal_id(); >+ #if 0 >+@@ -10527,19 +10519,19 @@ yyreduce: >+ (yyval.val) = dispatch1(mlhs_paren, (yyvsp[-1].val)); >+ >+ } >+-#line 10527 "ripper.c" /* yacc.c:1646 */ >++#line 10519 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 572: >+-#line 4694 "ripper.y" /* yacc.c:1646 */ >++#line 4686 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ } >+-#line 10535 "ripper.c" /* yacc.c:1646 */ >++#line 10527 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 573: >+-#line 4699 "ripper.y" /* yacc.c:1646 */ >++#line 4691 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-2].val); >+@@ -10550,22 +10542,22 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10550 "ripper.c" /* yacc.c:1646 */ >++#line 10542 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 574: >+-#line 4713 "ripper.y" /* yacc.c:1646 */ >++#line 4705 "ripper.y" /* yacc.c:1646 */ >+ { >+ ID id = get_id((yyvsp[0].val)); >+ arg_var(formal_argument(id)); >+ current_arg = id; >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 10561 "ripper.c" /* yacc.c:1646 */ >++#line 10553 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 575: >+-#line 4722 "ripper.y" /* yacc.c:1646 */ >++#line 4714 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.val) = assignable((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+@@ -10575,11 +10567,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10575 "ripper.c" /* yacc.c:1646 */ >++#line 10567 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 576: >+-#line 4732 "ripper.y" /* yacc.c:1646 */ >++#line 4724 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.val) = assignable((yyvsp[0].val), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc)); >+@@ -10589,11 +10581,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), 0); >+ >+ } >+-#line 10589 "ripper.c" /* yacc.c:1646 */ >++#line 10581 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 577: >+-#line 4744 "ripper.y" /* yacc.c:1646 */ >++#line 4736 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[-1].val), (yyvsp[0].val), &(yyloc)); >+ #if 0 >+@@ -10602,11 +10594,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10602 "ripper.c" /* yacc.c:1646 */ >++#line 10594 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 578: >+-#line 4753 "ripper.y" /* yacc.c:1646 */ >++#line 4745 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = assignable((yyvsp[0].val), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc)); >+ #if 0 >+@@ -10615,11 +10607,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), 0); >+ >+ } >+-#line 10615 "ripper.c" /* yacc.c:1646 */ >++#line 10607 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 579: >+-#line 4764 "ripper.y" /* yacc.c:1646 */ >++#line 4756 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -10627,11 +10619,11 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 10627 "ripper.c" /* yacc.c:1646 */ >++#line 10619 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 580: >+-#line 4772 "ripper.y" /* yacc.c:1646 */ >++#line 4764 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = kwd_append((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -10639,11 +10631,11 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10639 "ripper.c" /* yacc.c:1646 */ >++#line 10631 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 581: >+-#line 4783 "ripper.y" /* yacc.c:1646 */ >++#line 4775 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -10651,11 +10643,11 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 10651 "ripper.c" /* yacc.c:1646 */ >++#line 10643 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 582: >+-#line 4791 "ripper.y" /* yacc.c:1646 */ >++#line 4783 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = kwd_append((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -10663,11 +10655,11 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10663 "ripper.c" /* yacc.c:1646 */ >++#line 10655 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 585: >+-#line 4805 "ripper.y" /* yacc.c:1646 */ >++#line 4797 "ripper.y" /* yacc.c:1646 */ >+ { >+ shadowing_lvar(get_id((yyvsp[0].val))); >+ #if 0 >+@@ -10676,11 +10668,11 @@ yyreduce: >+ (yyval.val) = dispatch1(kwrest_param, (yyvsp[0].val)); >+ >+ } >+-#line 10676 "ripper.c" /* yacc.c:1646 */ >++#line 10668 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 586: >+-#line 4814 "ripper.y" /* yacc.c:1646 */ >++#line 4806 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = internal_id(); >+@@ -10689,11 +10681,11 @@ yyreduce: >+ (yyval.val) = dispatch1(kwrest_param, Qnil); >+ >+ } >+-#line 10689 "ripper.c" /* yacc.c:1646 */ >++#line 10681 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 587: >+-#line 4825 "ripper.y" /* yacc.c:1646 */ >++#line 4817 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.val) = assignable((yyvsp[-2].val), (yyvsp[0].val), &(yyloc)); >+@@ -10704,11 +10696,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10704 "ripper.c" /* yacc.c:1646 */ >++#line 10696 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 588: >+-#line 4838 "ripper.y" /* yacc.c:1646 */ >++#line 4830 "ripper.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.val) = assignable((yyvsp[-2].val), (yyvsp[0].val), &(yyloc)); >+@@ -10719,11 +10711,11 @@ yyreduce: >+ (yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10719 "ripper.c" /* yacc.c:1646 */ >++#line 10711 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 589: >+-#line 4851 "ripper.y" /* yacc.c:1646 */ >++#line 4843 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -10731,11 +10723,11 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 10731 "ripper.c" /* yacc.c:1646 */ >++#line 10723 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 590: >+-#line 4859 "ripper.y" /* yacc.c:1646 */ >++#line 4851 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = opt_arg_append((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -10743,11 +10735,11 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10743 "ripper.c" /* yacc.c:1646 */ >++#line 10735 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 591: >+-#line 4869 "ripper.y" /* yacc.c:1646 */ >++#line 4861 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[0].val); >+@@ -10755,11 +10747,11 @@ yyreduce: >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ >+ } >+-#line 10755 "ripper.c" /* yacc.c:1646 */ >++#line 10747 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 592: >+-#line 4877 "ripper.y" /* yacc.c:1646 */ >++#line 4869 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = opt_arg_append((yyvsp[-2].val), (yyvsp[0].val)); >+@@ -10767,11 +10759,11 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10767 "ripper.c" /* yacc.c:1646 */ >++#line 10759 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 595: >+-#line 4891 "ripper.y" /* yacc.c:1646 */ >++#line 4883 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (!is_local_id((yyvsp[0].val))) >+@@ -10784,11 +10776,11 @@ yyreduce: >+ (yyval.val) = dispatch1(rest_param, (yyvsp[0].val)); >+ >+ } >+-#line 10784 "ripper.c" /* yacc.c:1646 */ >++#line 10776 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 596: >+-#line 4904 "ripper.y" /* yacc.c:1646 */ >++#line 4896 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = internal_id(); >+@@ -10797,11 +10789,11 @@ yyreduce: >+ (yyval.val) = dispatch1(rest_param, Qnil); >+ >+ } >+-#line 10797 "ripper.c" /* yacc.c:1646 */ >++#line 10789 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 599: >+-#line 4919 "ripper.y" /* yacc.c:1646 */ >++#line 4911 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (!is_local_id((yyvsp[0].val))) >+@@ -10816,19 +10808,19 @@ yyreduce: >+ (yyval.val) = dispatch1(blockarg, (yyvsp[0].val)); >+ >+ } >+-#line 10816 "ripper.c" /* yacc.c:1646 */ >++#line 10808 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 600: >+-#line 4936 "ripper.y" /* yacc.c:1646 */ >++#line 4928 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = (yyvsp[0].val); >+ } >+-#line 10824 "ripper.c" /* yacc.c:1646 */ >++#line 10816 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 601: >+-#line 4940 "ripper.y" /* yacc.c:1646 */ >++#line 4932 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = 0; >+@@ -10836,11 +10828,11 @@ yyreduce: >+ (yyval.val) = Qundef; >+ >+ } >+-#line 10836 "ripper.c" /* yacc.c:1646 */ >++#line 10828 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 602: >+-#line 4950 "ripper.y" /* yacc.c:1646 */ >++#line 4942 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ value_expr((yyvsp[0].val)); >+@@ -10850,17 +10842,17 @@ yyreduce: >+ (yyval.val) = (yyvsp[0].val); >+ >+ } >+-#line 10850 "ripper.c" /* yacc.c:1646 */ >++#line 10842 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 603: >+-#line 4959 "ripper.y" /* yacc.c:1646 */ >++#line 4951 "ripper.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_BEG);} >+-#line 10856 "ripper.c" /* yacc.c:1646 */ >++#line 10848 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 604: >+-#line 4960 "ripper.y" /* yacc.c:1646 */ >++#line 4952 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if ((yyvsp[-1].val) == 0) { >+@@ -10888,11 +10880,11 @@ yyreduce: >+ (yyval.val) = dispatch1(paren, (yyvsp[-1].val)); >+ >+ } >+-#line 10888 "ripper.c" /* yacc.c:1646 */ >++#line 10880 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 606: >+-#line 4991 "ripper.y" /* yacc.c:1646 */ >++#line 4983 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = (yyvsp[-1].val); >+@@ -10900,19 +10892,19 @@ yyreduce: >+ (yyval.val) = dispatch1(assoclist_from_args, (yyvsp[-1].val)); >+ >+ } >+-#line 10900 "ripper.c" /* yacc.c:1646 */ >++#line 10892 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 607: >+-#line 5003 "ripper.y" /* yacc.c:1646 */ >++#line 4995 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val))); >+ } >+-#line 10908 "ripper.c" /* yacc.c:1646 */ >++#line 10900 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 608: >+-#line 5008 "ripper.y" /* yacc.c:1646 */ >++#line 5000 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ NODE *assocs = (yyvsp[-2].val); >+@@ -10934,11 +10926,11 @@ yyreduce: >+ (yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val))); >+ >+ } >+-#line 10934 "ripper.c" /* yacc.c:1646 */ >++#line 10926 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 609: >+-#line 5032 "ripper.y" /* yacc.c:1646 */ >++#line 5024 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (nd_type((yyvsp[-2].val)) == NODE_STR) { >+@@ -10950,11 +10942,11 @@ yyreduce: >+ (yyval.val) = dispatch2(assoc_new, (yyvsp[-2].val), (yyvsp[0].val)); >+ >+ } >+-#line 10950 "ripper.c" /* yacc.c:1646 */ >++#line 10942 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 610: >+-#line 5044 "ripper.y" /* yacc.c:1646 */ >++#line 5036 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ (yyval.val) = list_append(new_list(new_lit(ID2SYM((yyvsp[-1].val)), &(yylsp[-1])), &(yyloc)), (yyvsp[0].val)); >+@@ -10962,11 +10954,11 @@ yyreduce: >+ (yyval.val) = dispatch2(assoc_new, (yyvsp[-1].val), (yyvsp[0].val)); >+ >+ } >+-#line 10962 "ripper.c" /* yacc.c:1646 */ >++#line 10954 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 611: >+-#line 5052 "ripper.y" /* yacc.c:1646 */ >++#line 5044 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ YYLTYPE location; >+@@ -10977,11 +10969,11 @@ yyreduce: >+ (yyval.val) = dispatch2(assoc_new, dispatch1(dyna_symbol, (yyvsp[-2].val)), (yyvsp[0].val)); >+ >+ } >+-#line 10977 "ripper.c" /* yacc.c:1646 */ >++#line 10969 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 612: >+-#line 5063 "ripper.y" /* yacc.c:1646 */ >++#line 5055 "ripper.y" /* yacc.c:1646 */ >+ { >+ #if 0 >+ if (nd_type((yyvsp[0].val)) == NODE_HASH && >+@@ -10993,61 +10985,61 @@ yyreduce: >+ (yyval.val) = dispatch1(assoc_splat, (yyvsp[0].val)); >+ >+ } >+-#line 10993 "ripper.c" /* yacc.c:1646 */ >++#line 10985 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 625: >+-#line 5097 "ripper.y" /* yacc.c:1646 */ >++#line 5089 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = TOKEN2VAL('.'); >+ } >+-#line 11001 "ripper.c" /* yacc.c:1646 */ >++#line 10993 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 626: >+-#line 5101 "ripper.y" /* yacc.c:1646 */ >++#line 5093 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = ID2VAL(idANDDOT); >+ } >+-#line 11009 "ripper.c" /* yacc.c:1646 */ >++#line 11001 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 628: >+-#line 5108 "ripper.y" /* yacc.c:1646 */ >++#line 5100 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = ID2VAL(idCOLON2); >+ } >+-#line 11017 "ripper.c" /* yacc.c:1646 */ >++#line 11009 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 638: >+-#line 5132 "ripper.y" /* yacc.c:1646 */ >++#line 5124 "ripper.y" /* yacc.c:1646 */ >+ {yyerrok;token_flush(parser);} >+-#line 11023 "ripper.c" /* yacc.c:1646 */ >++#line 11015 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 639: >+-#line 5133 "ripper.y" /* yacc.c:1646 */ >++#line 5125 "ripper.y" /* yacc.c:1646 */ >+ {token_flush(parser);} >+-#line 11029 "ripper.c" /* yacc.c:1646 */ >++#line 11021 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 641: >+-#line 5137 "ripper.y" /* yacc.c:1646 */ >++#line 5129 "ripper.y" /* yacc.c:1646 */ >+ {yyerrok;} >+-#line 11035 "ripper.c" /* yacc.c:1646 */ >++#line 11027 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ case 642: >+-#line 5141 "ripper.y" /* yacc.c:1646 */ >++#line 5133 "ripper.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = Qnull; >+ } >+-#line 11043 "ripper.c" /* yacc.c:1646 */ >++#line 11035 "ripper.c" /* yacc.c:1646 */ >+ break; >+ >+ >+-#line 11047 "ripper.c" /* yacc.c:1646 */ >++#line 11039 "ripper.c" /* yacc.c:1646 */ >+ default: break; >+ } >+ /* User semantic actions sometimes alter yychar, and that requires >+@@ -11282,7 +11274,7 @@ yyreturn: >+ #endif >+ return yyresult; >+ } >+-#line 5145 "ripper.y" /* yacc.c:1906 */ >++#line 5137 "ripper.y" /* yacc.c:1906 */ >+ >+ # undef parser >+ # undef yylex >+@@ -16098,11 +16090,13 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ #ifdef RIPPER >+ ID id = get_id(lhs); >+ # define assignable_result(x) (lhs) >++# define assignable_error() (lhs) >+ # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs)) >+ #else >+ # define assignable_result(x) assignable_result0(x, location) >++# define assignable_error() new_begin(0, location) >+ #endif >+- if (!id) return assignable_result(0); >++ if (!id) return assignable_error(); >+ switch (id) { >+ case keyword_self: >+ yyerror0("Can't change the value of self"); >+@@ -16165,7 +16159,7 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id)); >+ } >+ error: >+- return assignable_result(0); >++ return assignable_error(); >+ #undef assignable_result >+ #undef parser_yyerror >+ } >diff --git a/lang/ruby25/files/patch-ext_ripper_ripper.y b/lang/ruby25/files/patch-ext_ripper_ripper.y >new file mode 100644 >index 000000000000..6de1db50b9bb >--- /dev/null >+++ b/lang/ruby25/files/patch-ext_ripper_ripper.y >@@ -0,0 +1,45 @@ >+--- ext/ripper/ripper.y.orig 2017-12-25 07:00:33 UTC >++++ ext/ripper/ripper.y >+@@ -1983,18 +1983,10 @@ mlhs_node : user_variable >+ lhs : user_variable >+ { >+ $$ = assignable(var_field($1), 0, &@$); >+-#if 0 >+- if (!$$) $$ = new_begin(0, &@$); >+-#endif >+- >+ } >+ | keyword_variable >+ { >+ $$ = assignable(var_field($1), 0, &@$); >+-#if 0 >+- if (!$$) $$ = new_begin(0, &@$); >+-#endif >+- >+ } >+ | primary_value '[' opt_call_args rbracket >+ { >+@@ -9957,11 +9949,13 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ #ifdef RIPPER >+ ID id = get_id(lhs); >+ # define assignable_result(x) (lhs) >++# define assignable_error() (lhs) >+ # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs)) >+ #else >+ # define assignable_result(x) assignable_result0(x, location) >++# define assignable_error() new_begin(0, location) >+ #endif >+- if (!id) return assignable_result(0); >++ if (!id) return assignable_error(); >+ switch (id) { >+ case keyword_self: >+ yyerror0("Can't change the value of self"); >+@@ -10024,7 +10018,7 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id)); >+ } >+ error: >+- return assignable_result(0); >++ return assignable_error(); >+ #undef assignable_result >+ #undef parser_yyerror >+ } >diff --git a/lang/ruby25/files/patch-parse.c b/lang/ruby25/files/patch-parse.c >new file mode 100644 >index 000000000000..e2395d7a3ec7 >--- /dev/null >+++ b/lang/ruby25/files/patch-parse.c >@@ -0,0 +1,4926 @@ >+--- parse.c.orig 2017-12-25 07:00:33 UTC >++++ parse.c >+@@ -1567,61 +1567,61 @@ static const yytype_uint16 yyrline[] = >+ 1735, 1744, 1753, 1762, 1773, 1774, 1784, 1785, 1795, 1803, >+ 1811, 1819, 1828, 1836, 1845, 1853, 1862, 1870, 1881, 1882, >+ 1892, 1900, 1910, 1918, 1928, 1932, 1936, 1944, 1952, 1960, >+- 1968, 1972, 1976, 1983, 1991, 1999, 2007, 2015, 2023, 2031, >+- 2035, 2039, 2046, 2055, 2058, 2067, 2076, 2087, 2088, 2089, >+- 2090, 2095, 2102, 2103, 2106, 2114, 2117, 2125, 2125, 2136, >+- 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, >+- 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, >+- 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2168, >+- 2168, 2168, 2169, 2169, 2170, 2170, 2170, 2171, 2171, 2171, >+- 2171, 2172, 2172, 2172, 2172, 2173, 2173, 2173, 2174, 2174, >+- 2174, 2174, 2175, 2175, 2175, 2175, 2176, 2176, 2176, 2176, >+- 2177, 2177, 2177, 2177, 2178, 2178, 2178, 2178, 2179, 2179, >+- 2182, 2186, 2190, 2218, 2223, 2228, 2233, 2244, 2249, 2254, >+- 2265, 2276, 2280, 2284, 2288, 2292, 2296, 2300, 2304, 2308, >+- 2312, 2316, 2320, 2324, 2328, 2329, 2333, 2337, 2341, 2345, >+- 2349, 2353, 2357, 2361, 2365, 2369, 2373, 2373, 2378, 2388, >+- 2394, 2395, 2396, 2397, 2400, 2404, 2411, 2423, 2424, 2428, >+- 2436, 2446, 2454, 2468, 2478, 2479, 2482, 2483, 2484, 2488, >+- 2496, 2506, 2515, 2523, 2533, 2542, 2551, 2551, 2563, 2574, >+- 2578, 2584, 2592, 2601, 2615, 2631, 2632, 2635, 2649, 2664, >+- 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, >+- 2685, 2694, 2693, 2720, 2720, 2729, 2733, 2728, 2742, 2750, >+- 2759, 2768, 2776, 2785, 2794, 2802, 2811, 2820, 2820, 2825, >+- 2829, 2833, 2844, 2845, 2856, 2860, 2872, 2884, 2884, 2884, >+- 2896, 2896, 2896, 2908, 2920, 2931, 2933, 2930, 2984, 2983, >+- 3011, 3010, 3035, 3034, 3062, 3067, 3061, 3090, 3091, 3090, >+- 3118, 3127, 3136, 3145, 3156, 3168, 3174, 3180, 3186, 3192, >+- 3198, 3208, 3214, 3220, 3226, 3236, 3242, 3249, 3254, 3255, >+- 3262, 3267, 3270, 3271, 3284, 3285, 3295, 3296, 3299, 3306, >+- 3316, 3324, 3334, 3342, 3351, 3361, 3369, 3378, 3387, 3397, >+- 3405, 3417, 3421, 3425, 3429, 3435, 3440, 3445, 3449, 3453, >+- 3457, 3461, 3465, 3473, 3477, 3481, 3485, 3489, 3493, 3497, >+- 3501, 3505, 3511, 3512, 3518, 3528, 3537, 3549, 3553, 3563, >+- 3570, 3579, 3587, 3593, 3596, 3601, 3604, 3593, 3625, 3633, >+- 3639, 3644, 3651, 3650, 3667, 3684, 3688, 3701, 3716, 3727, >+- 3726, 3738, 3737, 3748, 3753, 3752, 3764, 3763, 3774, 3783, >+- 3792, 3807, 3806, 3822, 3821, 3838, 3839, 3838, 3848, 3849, >+- 3848, 3858, 3871, 3872, 3875, 3897, 3900, 3908, 3916, 3919, >+- 3923, 3926, 3934, 3937, 3938, 3946, 3949, 3966, 3973, 3974, >+- 3984, 3994, 4000, 4006, 4017, 4024, 4034, 4042, 4052, 4063, >+- 4070, 4088, 4098, 4109, 4116, 4128, 4135, 4151, 4158, 4169, >+- 4176, 4187, 4194, 4235, 4243, 4242, 4260, 4266, 4271, 4275, >+- 4279, 4259, 4301, 4309, 4317, 4326, 4329, 4340, 4341, 4342, >+- 4343, 4346, 4357, 4358, 4369, 4376, 4383, 4390, 4399, 4400, >+- 4401, 4402, 4403, 4406, 4407, 4408, 4409, 4410, 4411, 4412, >+- 4415, 4428, 4438, 4442, 4448, 4455, 4465, 4464, 4474, 4483, >+- 4493, 4493, 4507, 4511, 4515, 4519, 4525, 4530, 4535, 4539, >+- 4543, 4547, 4551, 4555, 4559, 4563, 4567, 4571, 4575, 4579, >+- 4583, 4587, 4592, 4598, 4608, 4618, 4628, 4640, 4641, 4648, >+- 4657, 4666, 4691, 4698, 4712, 4721, 4731, 4743, 4752, 4763, >+- 4771, 4782, 4790, 4800, 4801, 4804, 4813, 4824, 4837, 4850, >+- 4858, 4868, 4876, 4886, 4887, 4890, 4903, 4914, 4915, 4918, >+- 4935, 4939, 4949, 4959, 4959, 4989, 4990, 5000, 5007, 5031, >+- 5043, 5051, 5062, 5076, 5077, 5078, 5081, 5082, 5083, 5084, >+- 5087, 5088, 5089, 5092, 5093, 5096, 5100, 5106, 5107, 5113, >+- 5114, 5117, 5118, 5121, 5124, 5127, 5128, 5129, 5132, 5133, >+- 5136, 5137, 5141 >++ 1968, 1972, 1976, 1983, 1987, 1991, 1999, 2007, 2015, 2023, >++ 2027, 2031, 2038, 2047, 2050, 2059, 2068, 2079, 2080, 2081, >++ 2082, 2087, 2094, 2095, 2098, 2106, 2109, 2117, 2117, 2128, >++ 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, >++ 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, >++ 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2160, >++ 2160, 2160, 2161, 2161, 2162, 2162, 2162, 2163, 2163, 2163, >++ 2163, 2164, 2164, 2164, 2164, 2165, 2165, 2165, 2166, 2166, >++ 2166, 2166, 2167, 2167, 2167, 2167, 2168, 2168, 2168, 2168, >++ 2169, 2169, 2169, 2169, 2170, 2170, 2170, 2170, 2171, 2171, >++ 2174, 2178, 2182, 2210, 2215, 2220, 2225, 2236, 2241, 2246, >++ 2257, 2268, 2272, 2276, 2280, 2284, 2288, 2292, 2296, 2300, >++ 2304, 2308, 2312, 2316, 2320, 2321, 2325, 2329, 2333, 2337, >++ 2341, 2345, 2349, 2353, 2357, 2361, 2365, 2365, 2370, 2380, >++ 2386, 2387, 2388, 2389, 2392, 2396, 2403, 2415, 2416, 2420, >++ 2428, 2438, 2446, 2460, 2470, 2471, 2474, 2475, 2476, 2480, >++ 2488, 2498, 2507, 2515, 2525, 2534, 2543, 2543, 2555, 2566, >++ 2570, 2576, 2584, 2593, 2607, 2623, 2624, 2627, 2641, 2656, >++ 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, >++ 2677, 2686, 2685, 2712, 2712, 2721, 2725, 2720, 2734, 2742, >++ 2751, 2760, 2768, 2777, 2786, 2794, 2803, 2812, 2812, 2817, >++ 2821, 2825, 2836, 2837, 2848, 2852, 2864, 2876, 2876, 2876, >++ 2888, 2888, 2888, 2900, 2912, 2923, 2925, 2922, 2976, 2975, >++ 3003, 3002, 3027, 3026, 3054, 3059, 3053, 3082, 3083, 3082, >++ 3110, 3119, 3128, 3137, 3148, 3160, 3166, 3172, 3178, 3184, >++ 3190, 3200, 3206, 3212, 3218, 3228, 3234, 3241, 3246, 3247, >++ 3254, 3259, 3262, 3263, 3276, 3277, 3287, 3288, 3291, 3298, >++ 3308, 3316, 3326, 3334, 3343, 3353, 3361, 3370, 3379, 3389, >++ 3397, 3409, 3413, 3417, 3421, 3427, 3432, 3437, 3441, 3445, >++ 3449, 3453, 3457, 3465, 3469, 3473, 3477, 3481, 3485, 3489, >++ 3493, 3497, 3503, 3504, 3510, 3520, 3529, 3541, 3545, 3555, >++ 3562, 3571, 3579, 3585, 3588, 3593, 3596, 3585, 3617, 3625, >++ 3631, 3636, 3643, 3642, 3659, 3676, 3680, 3693, 3708, 3719, >++ 3718, 3730, 3729, 3740, 3745, 3744, 3756, 3755, 3766, 3775, >++ 3784, 3799, 3798, 3814, 3813, 3830, 3831, 3830, 3840, 3841, >++ 3840, 3850, 3863, 3864, 3867, 3889, 3892, 3900, 3908, 3911, >++ 3915, 3918, 3926, 3929, 3930, 3938, 3941, 3958, 3965, 3966, >++ 3976, 3986, 3992, 3998, 4009, 4016, 4026, 4034, 4044, 4055, >++ 4062, 4080, 4090, 4101, 4108, 4120, 4127, 4143, 4150, 4161, >++ 4168, 4179, 4186, 4227, 4235, 4234, 4252, 4258, 4263, 4267, >++ 4271, 4251, 4293, 4301, 4309, 4318, 4321, 4332, 4333, 4334, >++ 4335, 4338, 4349, 4350, 4361, 4368, 4375, 4382, 4391, 4392, >++ 4393, 4394, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, >++ 4407, 4420, 4430, 4434, 4440, 4447, 4457, 4456, 4466, 4475, >++ 4485, 4485, 4499, 4503, 4507, 4511, 4517, 4522, 4527, 4531, >++ 4535, 4539, 4543, 4547, 4551, 4555, 4559, 4563, 4567, 4571, >++ 4575, 4579, 4584, 4590, 4600, 4610, 4620, 4632, 4633, 4640, >++ 4649, 4658, 4683, 4690, 4704, 4713, 4723, 4735, 4744, 4755, >++ 4763, 4774, 4782, 4792, 4793, 4796, 4805, 4816, 4829, 4842, >++ 4850, 4860, 4868, 4878, 4879, 4882, 4895, 4906, 4907, 4910, >++ 4927, 4931, 4941, 4951, 4951, 4981, 4982, 4992, 4999, 5023, >++ 5035, 5043, 5054, 5068, 5069, 5070, 5073, 5074, 5075, 5076, >++ 5079, 5080, 5081, 5084, 5085, 5088, 5092, 5098, 5099, 5105, >++ 5106, 5109, 5110, 5113, 5116, 5119, 5120, 5121, 5124, 5125, >++ 5128, 5129, 5133 >+ }; >+ #endif >+ >+@@ -6593,28 +6593,20 @@ yyreduce: >+ #line 1984 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc)); >+- /*%%%*/ >+- if (!(yyval.node)) (yyval.node) = new_begin(0, &(yyloc)); >+- /*% >+- %*/ >+ } >+-#line 6598 "parse.c" /* yacc.c:1646 */ >++#line 6594 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 104: >+-#line 1992 "parse.y" /* yacc.c:1646 */ >++#line 1988 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc)); >+- /*%%%*/ >+- if (!(yyval.node)) (yyval.node) = new_begin(0, &(yyloc)); >+- /*% >+- %*/ >+ } >+-#line 6610 "parse.c" /* yacc.c:1646 */ >++#line 6602 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 105: >+-#line 2000 "parse.y" /* yacc.c:1646 */ >++#line 1992 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = aryset((yyvsp[-3].node), (yyvsp[-1].node), &(yyloc)); >+@@ -6622,11 +6614,11 @@ yyreduce: >+ $$ = dispatch2(aref_field, $1, escape_Qundef($3)); >+ %*/ >+ } >+-#line 6622 "parse.c" /* yacc.c:1646 */ >++#line 6614 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 106: >+-#line 2008 "parse.y" /* yacc.c:1646 */ >++#line 2000 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = attrset((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].id), &(yyloc)); >+@@ -6634,11 +6626,11 @@ yyreduce: >+ $$ = dispatch3(field, $1, $2, $3); >+ %*/ >+ } >+-#line 6634 "parse.c" /* yacc.c:1646 */ >++#line 6626 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 107: >+-#line 2016 "parse.y" /* yacc.c:1646 */ >++#line 2008 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = attrset((yyvsp[-2].node), idCOLON2, (yyvsp[0].id), &(yyloc)); >+@@ -6646,11 +6638,11 @@ yyreduce: >+ $$ = dispatch3(field, $1, ID2VAL(idCOLON2), $3); >+ %*/ >+ } >+-#line 6646 "parse.c" /* yacc.c:1646 */ >++#line 6638 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 108: >+-#line 2024 "parse.y" /* yacc.c:1646 */ >++#line 2016 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = attrset((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].id), &(yyloc)); >+@@ -6658,36 +6650,36 @@ yyreduce: >+ $$ = dispatch3(field, $1, $2, $3); >+ %*/ >+ } >+-#line 6658 "parse.c" /* yacc.c:1646 */ >++#line 6650 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 109: >+-#line 2032 "parse.y" /* yacc.c:1646 */ >++#line 2024 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = const_decl(const_path_field((yyvsp[-2].node), (yyvsp[0].id), &(yyloc)), &(yyloc)); >+ } >+-#line 6666 "parse.c" /* yacc.c:1646 */ >++#line 6658 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 110: >+-#line 2036 "parse.y" /* yacc.c:1646 */ >++#line 2028 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = const_decl(top_const_field((yyvsp[0].id)), &(yyloc)); >+ } >+-#line 6674 "parse.c" /* yacc.c:1646 */ >++#line 6666 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 111: >+-#line 2040 "parse.y" /* yacc.c:1646 */ >++#line 2032 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].node) = var_field((yyvsp[0].node)); >+ (yyval.node) = backref_assign_error((yyvsp[0].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 6683 "parse.c" /* yacc.c:1646 */ >++#line 6675 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 112: >+-#line 2047 "parse.y" /* yacc.c:1646 */ >++#line 2039 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ yyerror0("class/module name must be CONSTANT"); >+@@ -6696,11 +6688,11 @@ yyreduce: >+ ripper_error(); >+ %*/ >+ } >+-#line 6696 "parse.c" /* yacc.c:1646 */ >++#line 6688 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 114: >+-#line 2059 "parse.y" /* yacc.c:1646 */ >++#line 2051 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_COLON3((yyvsp[0].id)); >+@@ -6709,11 +6701,11 @@ yyreduce: >+ $$ = dispatch1(top_const_ref, $2); >+ %*/ >+ } >+-#line 6709 "parse.c" /* yacc.c:1646 */ >++#line 6701 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 115: >+-#line 2068 "parse.y" /* yacc.c:1646 */ >++#line 2060 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_COLON2(0, (yyval.node)); >+@@ -6722,11 +6714,11 @@ yyreduce: >+ $$ = dispatch1(const_ref, $1); >+ %*/ >+ } >+-#line 6722 "parse.c" /* yacc.c:1646 */ >++#line 6714 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 116: >+-#line 2077 "parse.y" /* yacc.c:1646 */ >++#line 2069 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_COLON2((yyvsp[-2].node), (yyvsp[0].id)); >+@@ -6735,29 +6727,29 @@ yyreduce: >+ $$ = dispatch2(const_path_ref, $1, $3); >+ %*/ >+ } >+-#line 6735 "parse.c" /* yacc.c:1646 */ >++#line 6727 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 120: >+-#line 2091 "parse.y" /* yacc.c:1646 */ >++#line 2083 "parse.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_ENDFN); >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 6744 "parse.c" /* yacc.c:1646 */ >++#line 6736 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 121: >+-#line 2096 "parse.y" /* yacc.c:1646 */ >++#line 2088 "parse.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_ENDFN); >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 6753 "parse.c" /* yacc.c:1646 */ >++#line 6745 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 124: >+-#line 2107 "parse.y" /* yacc.c:1646 */ >++#line 2099 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_lit(ID2SYM((yyvsp[0].id)), &(yyloc)); >+@@ -6765,11 +6757,11 @@ yyreduce: >+ $$ = dispatch1(symbol_literal, $1); >+ %*/ >+ } >+-#line 6765 "parse.c" /* yacc.c:1646 */ >++#line 6757 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 126: >+-#line 2118 "parse.y" /* yacc.c:1646 */ >++#line 2110 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_undef((yyvsp[0].node), &(yyloc)); >+@@ -6777,17 +6769,17 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 6777 "parse.c" /* yacc.c:1646 */ >++#line 6769 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 127: >+-#line 2125 "parse.y" /* yacc.c:1646 */ >++#line 2117 "parse.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);} >+-#line 6783 "parse.c" /* yacc.c:1646 */ >++#line 6775 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 128: >+-#line 2126 "parse.y" /* yacc.c:1646 */ >++#line 2118 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *undef = new_undef((yyvsp[0].node), &(yyloc)); >+@@ -6796,207 +6788,207 @@ yyreduce: >+ rb_ary_push($1, get_value($4)); >+ %*/ >+ } >+-#line 6796 "parse.c" /* yacc.c:1646 */ >++#line 6788 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 129: >+-#line 2136 "parse.y" /* yacc.c:1646 */ >++#line 2128 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '|'); } >+-#line 6802 "parse.c" /* yacc.c:1646 */ >++#line 6794 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 130: >+-#line 2137 "parse.y" /* yacc.c:1646 */ >++#line 2129 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '^'); } >+-#line 6808 "parse.c" /* yacc.c:1646 */ >++#line 6800 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 131: >+-#line 2138 "parse.y" /* yacc.c:1646 */ >++#line 2130 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '&'); } >+-#line 6814 "parse.c" /* yacc.c:1646 */ >++#line 6806 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 132: >+-#line 2139 "parse.y" /* yacc.c:1646 */ >++#line 2131 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tCMP); } >+-#line 6820 "parse.c" /* yacc.c:1646 */ >++#line 6812 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 133: >+-#line 2140 "parse.y" /* yacc.c:1646 */ >++#line 2132 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tEQ); } >+-#line 6826 "parse.c" /* yacc.c:1646 */ >++#line 6818 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 134: >+-#line 2141 "parse.y" /* yacc.c:1646 */ >++#line 2133 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tEQQ); } >+-#line 6832 "parse.c" /* yacc.c:1646 */ >++#line 6824 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 135: >+-#line 2142 "parse.y" /* yacc.c:1646 */ >++#line 2134 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tMATCH); } >+-#line 6838 "parse.c" /* yacc.c:1646 */ >++#line 6830 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 136: >+-#line 2143 "parse.y" /* yacc.c:1646 */ >++#line 2135 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tNMATCH); } >+-#line 6844 "parse.c" /* yacc.c:1646 */ >++#line 6836 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 137: >+-#line 2144 "parse.y" /* yacc.c:1646 */ >++#line 2136 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '>'); } >+-#line 6850 "parse.c" /* yacc.c:1646 */ >++#line 6842 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 138: >+-#line 2145 "parse.y" /* yacc.c:1646 */ >++#line 2137 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tGEQ); } >+-#line 6856 "parse.c" /* yacc.c:1646 */ >++#line 6848 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 139: >+-#line 2146 "parse.y" /* yacc.c:1646 */ >++#line 2138 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '<'); } >+-#line 6862 "parse.c" /* yacc.c:1646 */ >++#line 6854 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 140: >+-#line 2147 "parse.y" /* yacc.c:1646 */ >++#line 2139 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tLEQ); } >+-#line 6868 "parse.c" /* yacc.c:1646 */ >++#line 6860 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 141: >+-#line 2148 "parse.y" /* yacc.c:1646 */ >++#line 2140 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tNEQ); } >+-#line 6874 "parse.c" /* yacc.c:1646 */ >++#line 6866 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 142: >+-#line 2149 "parse.y" /* yacc.c:1646 */ >++#line 2141 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tLSHFT); } >+-#line 6880 "parse.c" /* yacc.c:1646 */ >++#line 6872 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 143: >+-#line 2150 "parse.y" /* yacc.c:1646 */ >++#line 2142 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tRSHFT); } >+-#line 6886 "parse.c" /* yacc.c:1646 */ >++#line 6878 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 144: >+-#line 2151 "parse.y" /* yacc.c:1646 */ >++#line 2143 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '+'); } >+-#line 6892 "parse.c" /* yacc.c:1646 */ >++#line 6884 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 145: >+-#line 2152 "parse.y" /* yacc.c:1646 */ >++#line 2144 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '-'); } >+-#line 6898 "parse.c" /* yacc.c:1646 */ >++#line 6890 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 146: >+-#line 2153 "parse.y" /* yacc.c:1646 */ >++#line 2145 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '*'); } >+-#line 6904 "parse.c" /* yacc.c:1646 */ >++#line 6896 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 147: >+-#line 2154 "parse.y" /* yacc.c:1646 */ >++#line 2146 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '*'); } >+-#line 6910 "parse.c" /* yacc.c:1646 */ >++#line 6902 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 148: >+-#line 2155 "parse.y" /* yacc.c:1646 */ >++#line 2147 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '/'); } >+-#line 6916 "parse.c" /* yacc.c:1646 */ >++#line 6908 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 149: >+-#line 2156 "parse.y" /* yacc.c:1646 */ >++#line 2148 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '%'); } >+-#line 6922 "parse.c" /* yacc.c:1646 */ >++#line 6914 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 150: >+-#line 2157 "parse.y" /* yacc.c:1646 */ >++#line 2149 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tPOW); } >+-#line 6928 "parse.c" /* yacc.c:1646 */ >++#line 6920 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 151: >+-#line 2158 "parse.y" /* yacc.c:1646 */ >++#line 2150 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tDSTAR); } >+-#line 6934 "parse.c" /* yacc.c:1646 */ >++#line 6926 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 152: >+-#line 2159 "parse.y" /* yacc.c:1646 */ >++#line 2151 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '!'); } >+-#line 6940 "parse.c" /* yacc.c:1646 */ >++#line 6932 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 153: >+-#line 2160 "parse.y" /* yacc.c:1646 */ >++#line 2152 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '~'); } >+-#line 6946 "parse.c" /* yacc.c:1646 */ >++#line 6938 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 154: >+-#line 2161 "parse.y" /* yacc.c:1646 */ >++#line 2153 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tUPLUS); } >+-#line 6952 "parse.c" /* yacc.c:1646 */ >++#line 6944 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 155: >+-#line 2162 "parse.y" /* yacc.c:1646 */ >++#line 2154 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tUMINUS); } >+-#line 6958 "parse.c" /* yacc.c:1646 */ >++#line 6950 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 156: >+-#line 2163 "parse.y" /* yacc.c:1646 */ >++#line 2155 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tAREF); } >+-#line 6964 "parse.c" /* yacc.c:1646 */ >++#line 6956 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 157: >+-#line 2164 "parse.y" /* yacc.c:1646 */ >++#line 2156 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = tASET); } >+-#line 6970 "parse.c" /* yacc.c:1646 */ >++#line 6962 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 158: >+-#line 2165 "parse.y" /* yacc.c:1646 */ >++#line 2157 "parse.y" /* yacc.c:1646 */ >+ { ifndef_ripper((yyval.id) = '`'); } >+-#line 6976 "parse.c" /* yacc.c:1646 */ >++#line 6968 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 200: >+-#line 2183 "parse.y" /* yacc.c:1646 */ >++#line 2175 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = node_assign((yyvsp[-2].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 6984 "parse.c" /* yacc.c:1646 */ >++#line 6976 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 201: >+-#line 2187 "parse.y" /* yacc.c:1646 */ >++#line 2179 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_op_assign((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 6992 "parse.c" /* yacc.c:1646 */ >++#line 6984 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 202: >+-#line 2191 "parse.y" /* yacc.c:1646 */ >++#line 2183 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *args; >+@@ -7024,38 +7016,38 @@ yyreduce: >+ $$ = dispatch3(opassign, $1, $5, $6); >+ %*/ >+ } >+-#line 7024 "parse.c" /* yacc.c:1646 */ >++#line 7016 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 203: >+-#line 2219 "parse.y" /* yacc.c:1646 */ >++#line 2211 "parse.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].node)); >+ (yyval.node) = new_attr_op_assign((yyvsp[-4].node), (yyvsp[-3].id), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 7033 "parse.c" /* yacc.c:1646 */ >++#line 7025 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 204: >+-#line 2224 "parse.y" /* yacc.c:1646 */ >++#line 2216 "parse.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].node)); >+ (yyval.node) = new_attr_op_assign((yyvsp[-4].node), (yyvsp[-3].id), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 7042 "parse.c" /* yacc.c:1646 */ >++#line 7034 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 205: >+-#line 2229 "parse.y" /* yacc.c:1646 */ >++#line 2221 "parse.y" /* yacc.c:1646 */ >+ { >+ value_expr((yyvsp[0].node)); >+ (yyval.node) = new_attr_op_assign((yyvsp[-4].node), ID2VAL(idCOLON2), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 7051 "parse.c" /* yacc.c:1646 */ >++#line 7043 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 206: >+-#line 2234 "parse.y" /* yacc.c:1646 */ >++#line 2226 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ YYLTYPE location; >+@@ -7066,29 +7058,29 @@ yyreduce: >+ (yyval.node) = const_path_field((yyvsp[-4].node), (yyvsp[-2].id), &location); >+ (yyval.node) = new_const_op_assign((yyval.node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 7066 "parse.c" /* yacc.c:1646 */ >++#line 7058 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 207: >+-#line 2245 "parse.y" /* yacc.c:1646 */ >++#line 2237 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = top_const_field((yyvsp[-2].id)); >+ (yyval.node) = new_const_op_assign((yyval.node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 7075 "parse.c" /* yacc.c:1646 */ >++#line 7067 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 208: >+-#line 2250 "parse.y" /* yacc.c:1646 */ >++#line 2242 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[-2].node) = var_field((yyvsp[-2].node)); >+ (yyval.node) = backref_assign_error((yyvsp[-2].node), new_op_assign((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)), &(yyloc)); >+ } >+-#line 7084 "parse.c" /* yacc.c:1646 */ >++#line 7076 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 209: >+-#line 2255 "parse.y" /* yacc.c:1646 */ >++#line 2247 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[-2].node)); >+@@ -7099,11 +7091,11 @@ yyreduce: >+ $$ = dispatch2(dot2, $1, $3); >+ %*/ >+ } >+-#line 7099 "parse.c" /* yacc.c:1646 */ >++#line 7091 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 210: >+-#line 2266 "parse.y" /* yacc.c:1646 */ >++#line 2258 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[-2].node)); >+@@ -7114,218 +7106,218 @@ yyreduce: >+ $$ = dispatch2(dot3, $1, $3); >+ %*/ >+ } >+-#line 7114 "parse.c" /* yacc.c:1646 */ >++#line 7106 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 211: >+-#line 2277 "parse.y" /* yacc.c:1646 */ >++#line 2269 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '+', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7122 "parse.c" /* yacc.c:1646 */ >++#line 7114 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 212: >+-#line 2281 "parse.y" /* yacc.c:1646 */ >++#line 2273 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '-', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7130 "parse.c" /* yacc.c:1646 */ >++#line 7122 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 213: >+-#line 2285 "parse.y" /* yacc.c:1646 */ >++#line 2277 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '*', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7138 "parse.c" /* yacc.c:1646 */ >++#line 7130 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 214: >+-#line 2289 "parse.y" /* yacc.c:1646 */ >++#line 2281 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '/', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7146 "parse.c" /* yacc.c:1646 */ >++#line 7138 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 215: >+-#line 2293 "parse.y" /* yacc.c:1646 */ >++#line 2285 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '%', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7154 "parse.c" /* yacc.c:1646 */ >++#line 7146 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 216: >+-#line 2297 "parse.y" /* yacc.c:1646 */ >++#line 2289 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idPow, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7162 "parse.c" /* yacc.c:1646 */ >++#line 7154 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 217: >+-#line 2301 "parse.y" /* yacc.c:1646 */ >++#line 2293 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op(call_bin_op((yyvsp[-2].node), idPow, (yyvsp[0].node), &(yylsp[-2]), &(yyloc)), idUMinus, &(yylsp[-3]), &(yyloc)); >+ } >+-#line 7170 "parse.c" /* yacc.c:1646 */ >++#line 7162 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 218: >+-#line 2305 "parse.y" /* yacc.c:1646 */ >++#line 2297 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op((yyvsp[0].node), idUPlus, &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7178 "parse.c" /* yacc.c:1646 */ >++#line 7170 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 219: >+-#line 2309 "parse.y" /* yacc.c:1646 */ >++#line 2301 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op((yyvsp[0].node), idUMinus, &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7186 "parse.c" /* yacc.c:1646 */ >++#line 7178 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 220: >+-#line 2313 "parse.y" /* yacc.c:1646 */ >++#line 2305 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '|', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7194 "parse.c" /* yacc.c:1646 */ >++#line 7186 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 221: >+-#line 2317 "parse.y" /* yacc.c:1646 */ >++#line 2309 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '^', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7202 "parse.c" /* yacc.c:1646 */ >++#line 7194 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 222: >+-#line 2321 "parse.y" /* yacc.c:1646 */ >++#line 2313 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), '&', (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7210 "parse.c" /* yacc.c:1646 */ >++#line 7202 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 223: >+-#line 2325 "parse.y" /* yacc.c:1646 */ >++#line 2317 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idCmp, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7218 "parse.c" /* yacc.c:1646 */ >++#line 7210 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 225: >+-#line 2330 "parse.y" /* yacc.c:1646 */ >++#line 2322 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idEq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7226 "parse.c" /* yacc.c:1646 */ >++#line 7218 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 226: >+-#line 2334 "parse.y" /* yacc.c:1646 */ >++#line 2326 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idEqq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7234 "parse.c" /* yacc.c:1646 */ >++#line 7226 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 227: >+-#line 2338 "parse.y" /* yacc.c:1646 */ >++#line 2330 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idNeq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7242 "parse.c" /* yacc.c:1646 */ >++#line 7234 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 228: >+-#line 2342 "parse.y" /* yacc.c:1646 */ >++#line 2334 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = match_op((yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7250 "parse.c" /* yacc.c:1646 */ >++#line 7242 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 229: >+-#line 2346 "parse.y" /* yacc.c:1646 */ >++#line 2338 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idNeqTilde, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7258 "parse.c" /* yacc.c:1646 */ >++#line 7250 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 230: >+-#line 2350 "parse.y" /* yacc.c:1646 */ >++#line 2342 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op(method_cond((yyvsp[0].node), &(yylsp[0])), '!', &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7266 "parse.c" /* yacc.c:1646 */ >++#line 7258 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 231: >+-#line 2354 "parse.y" /* yacc.c:1646 */ >++#line 2346 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op((yyvsp[0].node), '~', &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7274 "parse.c" /* yacc.c:1646 */ >++#line 7266 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 232: >+-#line 2358 "parse.y" /* yacc.c:1646 */ >++#line 2350 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idLTLT, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7282 "parse.c" /* yacc.c:1646 */ >++#line 7274 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 233: >+-#line 2362 "parse.y" /* yacc.c:1646 */ >++#line 2354 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), idGTGT, (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7290 "parse.c" /* yacc.c:1646 */ >++#line 7282 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 234: >+-#line 2366 "parse.y" /* yacc.c:1646 */ >++#line 2358 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = logop(idANDOP, (yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7298 "parse.c" /* yacc.c:1646 */ >++#line 7290 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 235: >+-#line 2370 "parse.y" /* yacc.c:1646 */ >++#line 2362 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = logop(idOROP, (yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7306 "parse.c" /* yacc.c:1646 */ >++#line 7298 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 236: >+-#line 2373 "parse.y" /* yacc.c:1646 */ >++#line 2365 "parse.y" /* yacc.c:1646 */ >+ {in_defined = 1;} >+-#line 7312 "parse.c" /* yacc.c:1646 */ >++#line 7304 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 237: >+-#line 2374 "parse.y" /* yacc.c:1646 */ >++#line 2366 "parse.y" /* yacc.c:1646 */ >+ { >+ in_defined = 0; >+ (yyval.node) = new_defined((yyvsp[0].node), &(yyloc)); >+ } >+-#line 7321 "parse.c" /* yacc.c:1646 */ >++#line 7313 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 238: >+-#line 2379 "parse.y" /* yacc.c:1646 */ >++#line 2371 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[-5].node)); >+@@ -7335,60 +7327,60 @@ yyreduce: >+ $$ = dispatch3(ifop, $1, $3, $6); >+ %*/ >+ } >+-#line 7335 "parse.c" /* yacc.c:1646 */ >++#line 7327 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 239: >+-#line 2389 "parse.y" /* yacc.c:1646 */ >++#line 2381 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 7343 "parse.c" /* yacc.c:1646 */ >++#line 7335 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 240: >+-#line 2394 "parse.y" /* yacc.c:1646 */ >++#line 2386 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = '>';} >+-#line 7349 "parse.c" /* yacc.c:1646 */ >++#line 7341 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 241: >+-#line 2395 "parse.y" /* yacc.c:1646 */ >++#line 2387 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = '<';} >+-#line 7355 "parse.c" /* yacc.c:1646 */ >++#line 7347 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 242: >+-#line 2396 "parse.y" /* yacc.c:1646 */ >++#line 2388 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = idGE;} >+-#line 7361 "parse.c" /* yacc.c:1646 */ >++#line 7353 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 243: >+-#line 2397 "parse.y" /* yacc.c:1646 */ >++#line 2389 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = idLE;} >+-#line 7367 "parse.c" /* yacc.c:1646 */ >++#line 7359 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 244: >+-#line 2401 "parse.y" /* yacc.c:1646 */ >++#line 2393 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_bin_op((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7375 "parse.c" /* yacc.c:1646 */ >++#line 7367 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 245: >+-#line 2405 "parse.y" /* yacc.c:1646 */ >++#line 2397 "parse.y" /* yacc.c:1646 */ >+ { >+ rb_warning1("comparison '%s' after comparison", WARN_ID((yyvsp[-1].id))); >+ (yyval.node) = call_bin_op((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yylsp[-1]), &(yyloc)); >+ } >+-#line 7384 "parse.c" /* yacc.c:1646 */ >++#line 7376 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 246: >+-#line 2412 "parse.y" /* yacc.c:1646 */ >++#line 2404 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[0].node)); >+@@ -7398,19 +7390,19 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 7398 "parse.c" /* yacc.c:1646 */ >++#line 7390 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 248: >+-#line 2425 "parse.y" /* yacc.c:1646 */ >++#line 2417 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ } >+-#line 7406 "parse.c" /* yacc.c:1646 */ >++#line 7398 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 249: >+-#line 2429 "parse.y" /* yacc.c:1646 */ >++#line 2421 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node); >+@@ -7418,11 +7410,11 @@ yyreduce: >+ $$ = arg_add_assocs($1, $3); >+ %*/ >+ } >+-#line 7418 "parse.c" /* yacc.c:1646 */ >++#line 7410 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 250: >+-#line 2437 "parse.y" /* yacc.c:1646 */ >++#line 2429 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : 0; >+@@ -7430,11 +7422,11 @@ yyreduce: >+ $$ = arg_add_assocs(arg_new(), $1); >+ %*/ >+ } >+-#line 7430 "parse.c" /* yacc.c:1646 */ >++#line 7422 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 251: >+-#line 2447 "parse.y" /* yacc.c:1646 */ >++#line 2439 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[0].node)); >+@@ -7442,11 +7434,11 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 7442 "parse.c" /* yacc.c:1646 */ >++#line 7434 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 252: >+-#line 2455 "parse.y" /* yacc.c:1646 */ >++#line 2447 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ YYLTYPE location; >+@@ -7458,11 +7450,11 @@ yyreduce: >+ $$ = dispatch2(rescue_mod, $1, $3); >+ %*/ >+ } >+-#line 7458 "parse.c" /* yacc.c:1646 */ >++#line 7450 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 253: >+-#line 2469 "parse.y" /* yacc.c:1646 */ >++#line 2461 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -7470,19 +7462,19 @@ yyreduce: >+ $$ = dispatch1(arg_paren, escape_Qundef($2)); >+ %*/ >+ } >+-#line 7470 "parse.c" /* yacc.c:1646 */ >++#line 7462 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 258: >+-#line 2485 "parse.y" /* yacc.c:1646 */ >++#line 2477 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ } >+-#line 7478 "parse.c" /* yacc.c:1646 */ >++#line 7470 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 259: >+-#line 2489 "parse.y" /* yacc.c:1646 */ >++#line 2481 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node); >+@@ -7490,11 +7482,11 @@ yyreduce: >+ $$ = arg_add_assocs($1, $3); >+ %*/ >+ } >+-#line 7490 "parse.c" /* yacc.c:1646 */ >++#line 7482 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 260: >+-#line 2497 "parse.y" /* yacc.c:1646 */ >++#line 2489 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yylsp[-1])) : 0; >+@@ -7502,11 +7494,11 @@ yyreduce: >+ $$ = arg_add_assocs(arg_new(), $1); >+ %*/ >+ } >+-#line 7502 "parse.c" /* yacc.c:1646 */ >++#line 7494 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 261: >+-#line 2507 "parse.y" /* yacc.c:1646 */ >++#line 2499 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[0].node)); >+@@ -7515,11 +7507,11 @@ yyreduce: >+ $$ = arg_add(arg_new(), $1); >+ %*/ >+ } >+-#line 7515 "parse.c" /* yacc.c:1646 */ >++#line 7507 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 262: >+-#line 2516 "parse.y" /* yacc.c:1646 */ >++#line 2508 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = arg_blk_pass((yyvsp[-1].node), (yyvsp[0].node)); >+@@ -7527,11 +7519,11 @@ yyreduce: >+ $$ = arg_add_optblock($1, $2); >+ %*/ >+ } >+-#line 7527 "parse.c" /* yacc.c:1646 */ >++#line 7519 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 263: >+-#line 2524 "parse.y" /* yacc.c:1646 */ >++#line 2516 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yylsp[-1])) : 0; >+@@ -7541,11 +7533,11 @@ yyreduce: >+ $$ = arg_add_optblock($$, $2); >+ %*/ >+ } >+-#line 7541 "parse.c" /* yacc.c:1646 */ >++#line 7533 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 264: >+-#line 2534 "parse.y" /* yacc.c:1646 */ >++#line 2526 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node); >+@@ -7554,30 +7546,30 @@ yyreduce: >+ $$ = arg_add_optblock(arg_add_assocs($1, $3), $4); >+ %*/ >+ } >+-#line 7554 "parse.c" /* yacc.c:1646 */ >++#line 7546 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 266: >+-#line 2551 "parse.y" /* yacc.c:1646 */ >++#line 2543 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = cmdarg_stack; >+ CMDARG_PUSH(1); >+ } >+-#line 7563 "parse.c" /* yacc.c:1646 */ >++#line 7555 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 267: >+-#line 2556 "parse.y" /* yacc.c:1646 */ >++#line 2548 "parse.y" /* yacc.c:1646 */ >+ { >+ /* CMDARG_POP() */ >+ CMDARG_SET((yyvsp[-1].val)); >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 7573 "parse.c" /* yacc.c:1646 */ >++#line 7565 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 268: >+-#line 2564 "parse.y" /* yacc.c:1646 */ >++#line 2556 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_BLOCK_PASS((yyvsp[0].node)); >+@@ -7586,27 +7578,27 @@ yyreduce: >+ $$ = $2; >+ %*/ >+ } >+-#line 7586 "parse.c" /* yacc.c:1646 */ >++#line 7578 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 269: >+-#line 2575 "parse.y" /* yacc.c:1646 */ >++#line 2567 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 7594 "parse.c" /* yacc.c:1646 */ >++#line 7586 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 270: >+-#line 2579 "parse.y" /* yacc.c:1646 */ >++#line 2571 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = 0; >+ } >+-#line 7602 "parse.c" /* yacc.c:1646 */ >++#line 7594 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 271: >+-#line 2585 "parse.y" /* yacc.c:1646 */ >++#line 2577 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_list((yyvsp[0].node), &(yyloc)); >+@@ -7614,11 +7606,11 @@ yyreduce: >+ $$ = arg_add(arg_new(), $1); >+ %*/ >+ } >+-#line 7614 "parse.c" /* yacc.c:1646 */ >++#line 7606 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 272: >+-#line 2593 "parse.y" /* yacc.c:1646 */ >++#line 2585 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_SPLAT((yyvsp[0].node)); >+@@ -7627,11 +7619,11 @@ yyreduce: >+ $$ = arg_add_star(arg_new(), $2); >+ %*/ >+ } >+-#line 7627 "parse.c" /* yacc.c:1646 */ >++#line 7619 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 273: >+-#line 2602 "parse.y" /* yacc.c:1646 */ >++#line 2594 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *n1; >+@@ -7645,11 +7637,11 @@ yyreduce: >+ $$ = arg_add($1, $3); >+ %*/ >+ } >+-#line 7645 "parse.c" /* yacc.c:1646 */ >++#line 7637 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 274: >+-#line 2616 "parse.y" /* yacc.c:1646 */ >++#line 2608 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *n1; >+@@ -7663,11 +7655,11 @@ yyreduce: >+ $$ = arg_add_star($1, $4); >+ %*/ >+ } >+-#line 7663 "parse.c" /* yacc.c:1646 */ >++#line 7655 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 277: >+-#line 2636 "parse.y" /* yacc.c:1646 */ >++#line 2628 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *n1; >+@@ -7681,11 +7673,11 @@ yyreduce: >+ $$ = mrhs_add(args2mrhs($1), $3); >+ %*/ >+ } >+-#line 7681 "parse.c" /* yacc.c:1646 */ >++#line 7673 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 278: >+-#line 2650 "parse.y" /* yacc.c:1646 */ >++#line 2642 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *n1; >+@@ -7700,11 +7692,11 @@ yyreduce: >+ $$ = mrhs_add_star(args2mrhs($1), $4); >+ %*/ >+ } >+-#line 7700 "parse.c" /* yacc.c:1646 */ >++#line 7692 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 279: >+-#line 2665 "parse.y" /* yacc.c:1646 */ >++#line 2657 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_SPLAT((yyvsp[0].node)); >+@@ -7713,11 +7705,11 @@ yyreduce: >+ $$ = mrhs_add_star(mrhs_new(), $2); >+ %*/ >+ } >+-#line 7713 "parse.c" /* yacc.c:1646 */ >++#line 7705 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 290: >+-#line 2686 "parse.y" /* yacc.c:1646 */ >++#line 2678 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_fcall((yyvsp[0].id), 0, &(yyloc)); >+@@ -7725,11 +7717,11 @@ yyreduce: >+ $$ = method_arg(dispatch1(fcall, $1), arg_new()); >+ %*/ >+ } >+-#line 7725 "parse.c" /* yacc.c:1646 */ >++#line 7717 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 291: >+-#line 2694 "parse.y" /* yacc.c:1646 */ >++#line 2686 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cmdarg_stack; >+ CMDARG_SET(0); >+@@ -7738,11 +7730,11 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 7738 "parse.c" /* yacc.c:1646 */ >++#line 7730 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 292: >+-#line 2704 "parse.y" /* yacc.c:1646 */ >++#line 2696 "parse.y" /* yacc.c:1646 */ >+ { >+ CMDARG_SET((yyvsp[-3].val)); >+ /*%%%*/ >+@@ -7759,17 +7751,17 @@ yyreduce: >+ $$ = dispatch1(begin, $3); >+ %*/ >+ } >+-#line 7759 "parse.c" /* yacc.c:1646 */ >++#line 7751 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 293: >+-#line 2720 "parse.y" /* yacc.c:1646 */ >++#line 2712 "parse.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_ENDARG);} >+-#line 7765 "parse.c" /* yacc.c:1646 */ >++#line 7757 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 294: >+-#line 2721 "parse.y" /* yacc.c:1646 */ >++#line 2713 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_begin(0, &(yyloc)); >+@@ -7777,26 +7769,26 @@ yyreduce: >+ $$ = dispatch1(paren, 0); >+ %*/ >+ } >+-#line 7777 "parse.c" /* yacc.c:1646 */ >++#line 7769 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 295: >+-#line 2729 "parse.y" /* yacc.c:1646 */ >++#line 2721 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cmdarg_stack; >+ CMDARG_SET(0); >+ } >+-#line 7786 "parse.c" /* yacc.c:1646 */ >++#line 7778 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 296: >+-#line 2733 "parse.y" /* yacc.c:1646 */ >++#line 2725 "parse.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_ENDARG);} >+-#line 7792 "parse.c" /* yacc.c:1646 */ >++#line 7784 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 297: >+-#line 2734 "parse.y" /* yacc.c:1646 */ >++#line 2726 "parse.y" /* yacc.c:1646 */ >+ { >+ CMDARG_SET((yyvsp[-4].val)); >+ /*%%%*/ >+@@ -7805,11 +7797,11 @@ yyreduce: >+ $$ = dispatch1(paren, $3); >+ %*/ >+ } >+-#line 7805 "parse.c" /* yacc.c:1646 */ >++#line 7797 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 298: >+-#line 2743 "parse.y" /* yacc.c:1646 */ >++#line 2735 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -7817,11 +7809,11 @@ yyreduce: >+ $$ = dispatch1(paren, $2); >+ %*/ >+ } >+-#line 7817 "parse.c" /* yacc.c:1646 */ >++#line 7809 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 299: >+-#line 2751 "parse.y" /* yacc.c:1646 */ >++#line 2743 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_COLON2((yyvsp[-2].node), (yyvsp[0].id)); >+@@ -7830,11 +7822,11 @@ yyreduce: >+ $$ = dispatch2(const_path_ref, $1, $3); >+ %*/ >+ } >+-#line 7830 "parse.c" /* yacc.c:1646 */ >++#line 7822 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 300: >+-#line 2760 "parse.y" /* yacc.c:1646 */ >++#line 2752 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_COLON3((yyvsp[0].id)); >+@@ -7843,11 +7835,11 @@ yyreduce: >+ $$ = dispatch1(top_const_ref, $2); >+ %*/ >+ } >+-#line 7843 "parse.c" /* yacc.c:1646 */ >++#line 7835 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 301: >+-#line 2769 "parse.y" /* yacc.c:1646 */ >++#line 2761 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = make_array((yyvsp[-1].node), &(yyloc)); >+@@ -7855,11 +7847,11 @@ yyreduce: >+ $$ = dispatch1(array, escape_Qundef($2)); >+ %*/ >+ } >+-#line 7855 "parse.c" /* yacc.c:1646 */ >++#line 7847 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 302: >+-#line 2777 "parse.y" /* yacc.c:1646 */ >++#line 2769 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_hash((yyvsp[-1].node), &(yyloc)); >+@@ -7868,11 +7860,11 @@ yyreduce: >+ $$ = dispatch1(hash, escape_Qundef($2)); >+ %*/ >+ } >+-#line 7868 "parse.c" /* yacc.c:1646 */ >++#line 7860 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 303: >+-#line 2786 "parse.y" /* yacc.c:1646 */ >++#line 2778 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_RETURN(0); >+@@ -7881,11 +7873,11 @@ yyreduce: >+ $$ = dispatch0(return0); >+ %*/ >+ } >+-#line 7881 "parse.c" /* yacc.c:1646 */ >++#line 7873 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 304: >+-#line 2795 "parse.y" /* yacc.c:1646 */ >++#line 2787 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_yield((yyvsp[-1].node), &(yyloc)); >+@@ -7893,11 +7885,11 @@ yyreduce: >+ $$ = dispatch1(yield, dispatch1(paren, $3)); >+ %*/ >+ } >+-#line 7893 "parse.c" /* yacc.c:1646 */ >++#line 7885 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 305: >+-#line 2803 "parse.y" /* yacc.c:1646 */ >++#line 2795 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_YIELD(0); >+@@ -7906,11 +7898,11 @@ yyreduce: >+ $$ = dispatch1(yield, dispatch1(paren, arg_new())); >+ %*/ >+ } >+-#line 7906 "parse.c" /* yacc.c:1646 */ >++#line 7898 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 306: >+-#line 2812 "parse.y" /* yacc.c:1646 */ >++#line 2804 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_YIELD(0); >+@@ -7919,42 +7911,42 @@ yyreduce: >+ $$ = dispatch0(yield0); >+ %*/ >+ } >+-#line 7919 "parse.c" /* yacc.c:1646 */ >++#line 7911 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 307: >+-#line 2820 "parse.y" /* yacc.c:1646 */ >++#line 2812 "parse.y" /* yacc.c:1646 */ >+ {in_defined = 1;} >+-#line 7925 "parse.c" /* yacc.c:1646 */ >++#line 7917 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 308: >+-#line 2821 "parse.y" /* yacc.c:1646 */ >++#line 2813 "parse.y" /* yacc.c:1646 */ >+ { >+ in_defined = 0; >+ (yyval.node) = new_defined((yyvsp[-1].node), &(yyloc)); >+ } >+-#line 7934 "parse.c" /* yacc.c:1646 */ >++#line 7926 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 309: >+-#line 2826 "parse.y" /* yacc.c:1646 */ >++#line 2818 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op(method_cond((yyvsp[-1].node), &(yylsp[-1])), METHOD_NOT, &(yylsp[-3]), &(yyloc)); >+ } >+-#line 7942 "parse.c" /* yacc.c:1646 */ >++#line 7934 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 310: >+-#line 2830 "parse.y" /* yacc.c:1646 */ >++#line 2822 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = call_uni_op(method_cond(new_nil(&(yylsp[-1])), &(yylsp[-1])), METHOD_NOT, &(yylsp[-2]), &(yyloc)); >+ } >+-#line 7950 "parse.c" /* yacc.c:1646 */ >++#line 7942 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 311: >+-#line 2834 "parse.y" /* yacc.c:1646 */ >++#line 2826 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyvsp[0].node)->nd_iter = (yyvsp[-1].node); >+@@ -7965,11 +7957,11 @@ yyreduce: >+ $$ = method_add_block($$, $2); >+ %*/ >+ } >+-#line 7965 "parse.c" /* yacc.c:1646 */ >++#line 7957 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 313: >+-#line 2846 "parse.y" /* yacc.c:1646 */ >++#line 2838 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ block_dup_check((yyvsp[-1].node)->nd_args, (yyvsp[0].node)); >+@@ -7980,19 +7972,19 @@ yyreduce: >+ $$ = method_add_block($1, $2); >+ %*/ >+ } >+-#line 7980 "parse.c" /* yacc.c:1646 */ >++#line 7972 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 314: >+-#line 2857 "parse.y" /* yacc.c:1646 */ >++#line 2849 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 7988 "parse.c" /* yacc.c:1646 */ >++#line 7980 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 315: >+-#line 2864 "parse.y" /* yacc.c:1646 */ >++#line 2856 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_if((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node), &(yyloc)); >+@@ -8001,11 +7993,11 @@ yyreduce: >+ $$ = dispatch3(if, $2, $4, escape_Qundef($5)); >+ %*/ >+ } >+-#line 8001 "parse.c" /* yacc.c:1646 */ >++#line 7993 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 316: >+-#line 2876 "parse.y" /* yacc.c:1646 */ >++#line 2868 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_unless((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node), &(yyloc)); >+@@ -8014,23 +8006,23 @@ yyreduce: >+ $$ = dispatch3(unless, $2, $4, escape_Qundef($5)); >+ %*/ >+ } >+-#line 8014 "parse.c" /* yacc.c:1646 */ >++#line 8006 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 317: >+-#line 2884 "parse.y" /* yacc.c:1646 */ >++#line 2876 "parse.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8020 "parse.c" /* yacc.c:1646 */ >++#line 8012 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 318: >+-#line 2884 "parse.y" /* yacc.c:1646 */ >++#line 2876 "parse.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8026 "parse.c" /* yacc.c:1646 */ >++#line 8018 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 319: >+-#line 2887 "parse.y" /* yacc.c:1646 */ >++#line 2879 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_WHILE(cond((yyvsp[-4].node), &(yylsp[-4])), (yyvsp[-1].node), 1); >+@@ -8040,23 +8032,23 @@ yyreduce: >+ $$ = dispatch2(while, $3, $6); >+ %*/ >+ } >+-#line 8040 "parse.c" /* yacc.c:1646 */ >++#line 8032 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 320: >+-#line 2896 "parse.y" /* yacc.c:1646 */ >++#line 2888 "parse.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8046 "parse.c" /* yacc.c:1646 */ >++#line 8038 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 321: >+-#line 2896 "parse.y" /* yacc.c:1646 */ >++#line 2888 "parse.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8052 "parse.c" /* yacc.c:1646 */ >++#line 8044 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 322: >+-#line 2899 "parse.y" /* yacc.c:1646 */ >++#line 2891 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_UNTIL(cond((yyvsp[-4].node), &(yylsp[-4])), (yyvsp[-1].node), 1); >+@@ -8066,11 +8058,11 @@ yyreduce: >+ $$ = dispatch2(until, $3, $6); >+ %*/ >+ } >+-#line 8066 "parse.c" /* yacc.c:1646 */ >++#line 8058 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 323: >+-#line 2911 "parse.y" /* yacc.c:1646 */ >++#line 2903 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_CASE((yyvsp[-3].node), (yyvsp[-1].node)); >+@@ -8080,11 +8072,11 @@ yyreduce: >+ $$ = dispatch2(case, $2, $4); >+ %*/ >+ } >+-#line 8080 "parse.c" /* yacc.c:1646 */ >++#line 8072 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 324: >+-#line 2921 "parse.y" /* yacc.c:1646 */ >++#line 2913 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_CASE2((yyvsp[-1].node)); >+@@ -8094,23 +8086,23 @@ yyreduce: >+ $$ = dispatch2(case, Qnil, $3); >+ %*/ >+ } >+-#line 8094 "parse.c" /* yacc.c:1646 */ >++#line 8086 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 325: >+-#line 2931 "parse.y" /* yacc.c:1646 */ >++#line 2923 "parse.y" /* yacc.c:1646 */ >+ {COND_PUSH(1);} >+-#line 8100 "parse.c" /* yacc.c:1646 */ >++#line 8092 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 326: >+-#line 2933 "parse.y" /* yacc.c:1646 */ >++#line 2925 "parse.y" /* yacc.c:1646 */ >+ {COND_POP();} >+-#line 8106 "parse.c" /* yacc.c:1646 */ >++#line 8098 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 327: >+-#line 2936 "parse.y" /* yacc.c:1646 */ >++#line 2928 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ /* >+@@ -8158,11 +8150,11 @@ yyreduce: >+ $$ = dispatch3(for, $2, $5, $8); >+ %*/ >+ } >+-#line 8158 "parse.c" /* yacc.c:1646 */ >++#line 8150 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 328: >+-#line 2984 "parse.y" /* yacc.c:1646 */ >++#line 2976 "parse.y" /* yacc.c:1646 */ >+ { >+ if (in_def) >+ yyerror0("class definition in method body"); >+@@ -8174,11 +8166,11 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 8174 "parse.c" /* yacc.c:1646 */ >++#line 8166 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 329: >+-#line 2997 "parse.y" /* yacc.c:1646 */ >++#line 2989 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_CLASS((yyvsp[-4].node), (yyvsp[-1].node), (yyvsp[-3].node)); >+@@ -8192,22 +8184,22 @@ yyreduce: >+ local_pop(); >+ in_class = (yyvsp[-5].num) & 1; >+ } >+-#line 8192 "parse.c" /* yacc.c:1646 */ >++#line 8184 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 330: >+-#line 3011 "parse.y" /* yacc.c:1646 */ >++#line 3003 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = (in_class << 1) | in_def; >+ in_def = 0; >+ in_class = 0; >+ local_push(0); >+ } >+-#line 8203 "parse.c" /* yacc.c:1646 */ >++#line 8195 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 331: >+-#line 3020 "parse.y" /* yacc.c:1646 */ >++#line 3012 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_SCLASS((yyvsp[-4].node), (yyvsp[-1].node)); >+@@ -8222,11 +8214,11 @@ yyreduce: >+ in_def = (yyvsp[-3].num) & 1; >+ in_class = ((yyvsp[-3].num) >> 1) & 1; >+ } >+-#line 8222 "parse.c" /* yacc.c:1646 */ >++#line 8214 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 332: >+-#line 3035 "parse.y" /* yacc.c:1646 */ >++#line 3027 "parse.y" /* yacc.c:1646 */ >+ { >+ if (in_def) >+ yyerror0("module definition in method body"); >+@@ -8238,11 +8230,11 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 8238 "parse.c" /* yacc.c:1646 */ >++#line 8230 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 333: >+-#line 3048 "parse.y" /* yacc.c:1646 */ >++#line 3040 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_MODULE((yyvsp[-3].node), (yyvsp[-1].node)); >+@@ -8256,30 +8248,30 @@ yyreduce: >+ local_pop(); >+ in_class = (yyvsp[-4].num) & 1; >+ } >+-#line 8256 "parse.c" /* yacc.c:1646 */ >++#line 8248 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 334: >+-#line 3062 "parse.y" /* yacc.c:1646 */ >++#line 3054 "parse.y" /* yacc.c:1646 */ >+ { >+ local_push(0); >+ (yyval.id) = current_arg; >+ current_arg = 0; >+ } >+-#line 8266 "parse.c" /* yacc.c:1646 */ >++#line 8258 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 335: >+-#line 3067 "parse.y" /* yacc.c:1646 */ >++#line 3059 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = in_def; >+ in_def = 1; >+ } >+-#line 8275 "parse.c" /* yacc.c:1646 */ >++#line 8267 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 336: >+-#line 3074 "parse.y" /* yacc.c:1646 */ >++#line 3066 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *body = remove_begin((yyvsp[-1].node)); >+@@ -8296,17 +8288,17 @@ yyreduce: >+ in_def = (yyvsp[-3].num) & 1; >+ current_arg = (yyvsp[-4].id); >+ } >+-#line 8296 "parse.c" /* yacc.c:1646 */ >++#line 8288 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 337: >+-#line 3090 "parse.y" /* yacc.c:1646 */ >++#line 3082 "parse.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_FNAME);} >+-#line 8302 "parse.c" /* yacc.c:1646 */ >++#line 8294 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 338: >+-#line 3091 "parse.y" /* yacc.c:1646 */ >++#line 3083 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[-1].num) = in_def; >+ in_def = 1; >+@@ -8315,11 +8307,11 @@ yyreduce: >+ (yyval.id) = current_arg; >+ current_arg = 0; >+ } >+-#line 8315 "parse.c" /* yacc.c:1646 */ >++#line 8307 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 339: >+-#line 3102 "parse.y" /* yacc.c:1646 */ >++#line 3094 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *body = remove_begin((yyvsp[-1].node)); >+@@ -8336,11 +8328,11 @@ yyreduce: >+ in_def = (yyvsp[-5].num) & 1; >+ current_arg = (yyvsp[-3].id); >+ } >+-#line 8336 "parse.c" /* yacc.c:1646 */ >++#line 8328 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 340: >+-#line 3119 "parse.y" /* yacc.c:1646 */ >++#line 3111 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_BREAK(0); >+@@ -8349,11 +8341,11 @@ yyreduce: >+ $$ = dispatch1(break, arg_new()); >+ %*/ >+ } >+-#line 8349 "parse.c" /* yacc.c:1646 */ >++#line 8341 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 341: >+-#line 3128 "parse.y" /* yacc.c:1646 */ >++#line 3120 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_NEXT(0); >+@@ -8362,11 +8354,11 @@ yyreduce: >+ $$ = dispatch1(next, arg_new()); >+ %*/ >+ } >+-#line 8362 "parse.c" /* yacc.c:1646 */ >++#line 8354 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 342: >+-#line 3137 "parse.y" /* yacc.c:1646 */ >++#line 3129 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_REDO(); >+@@ -8375,11 +8367,11 @@ yyreduce: >+ $$ = dispatch0(redo); >+ %*/ >+ } >+-#line 8375 "parse.c" /* yacc.c:1646 */ >++#line 8367 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 343: >+-#line 3146 "parse.y" /* yacc.c:1646 */ >++#line 3138 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_RETRY(); >+@@ -8388,11 +8380,11 @@ yyreduce: >+ $$ = dispatch0(retry); >+ %*/ >+ } >+-#line 8388 "parse.c" /* yacc.c:1646 */ >++#line 8380 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 344: >+-#line 3157 "parse.y" /* yacc.c:1646 */ >++#line 3149 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[0].node)); >+@@ -8402,51 +8394,51 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 8402 "parse.c" /* yacc.c:1646 */ >++#line 8394 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 345: >+-#line 3169 "parse.y" /* yacc.c:1646 */ >++#line 3161 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("begin"); >+ } >+-#line 8410 "parse.c" /* yacc.c:1646 */ >++#line 8402 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 346: >+-#line 3175 "parse.y" /* yacc.c:1646 */ >++#line 3167 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("if"); >+ } >+-#line 8418 "parse.c" /* yacc.c:1646 */ >++#line 8410 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 347: >+-#line 3181 "parse.y" /* yacc.c:1646 */ >++#line 3173 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("unless"); >+ } >+-#line 8426 "parse.c" /* yacc.c:1646 */ >++#line 8418 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 348: >+-#line 3187 "parse.y" /* yacc.c:1646 */ >++#line 3179 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("while"); >+ } >+-#line 8434 "parse.c" /* yacc.c:1646 */ >++#line 8426 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 349: >+-#line 3193 "parse.y" /* yacc.c:1646 */ >++#line 3185 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("until"); >+ } >+-#line 8442 "parse.c" /* yacc.c:1646 */ >++#line 8434 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 350: >+-#line 3199 "parse.y" /* yacc.c:1646 */ >++#line 3191 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("case"); >+ /*%%%*/ >+@@ -8454,35 +8446,35 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 8454 "parse.c" /* yacc.c:1646 */ >++#line 8446 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 351: >+-#line 3209 "parse.y" /* yacc.c:1646 */ >++#line 3201 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("for"); >+ } >+-#line 8462 "parse.c" /* yacc.c:1646 */ >++#line 8454 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 352: >+-#line 3215 "parse.y" /* yacc.c:1646 */ >++#line 3207 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("class"); >+ } >+-#line 8470 "parse.c" /* yacc.c:1646 */ >++#line 8462 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 353: >+-#line 3221 "parse.y" /* yacc.c:1646 */ >++#line 3213 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("module"); >+ } >+-#line 8478 "parse.c" /* yacc.c:1646 */ >++#line 8470 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 354: >+-#line 3227 "parse.y" /* yacc.c:1646 */ >++#line 3219 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_push("def"); >+ /*%%%*/ >+@@ -8490,28 +8482,28 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 8490 "parse.c" /* yacc.c:1646 */ >++#line 8482 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 355: >+-#line 3237 "parse.y" /* yacc.c:1646 */ >++#line 3229 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_pop("end"); >+ } >+-#line 8498 "parse.c" /* yacc.c:1646 */ >++#line 8490 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 356: >+-#line 3243 "parse.y" /* yacc.c:1646 */ >++#line 3235 "parse.y" /* yacc.c:1646 */ >+ { >+ if (in_class && !in_def && !dyna_in_block()) >+ yyerror0("Invalid return in class/module body"); >+ } >+-#line 8507 "parse.c" /* yacc.c:1646 */ >++#line 8499 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 363: >+-#line 3274 "parse.y" /* yacc.c:1646 */ >++#line 3266 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_if((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+@@ -8520,11 +8512,11 @@ yyreduce: >+ $$ = dispatch3(elsif, $2, $4, escape_Qundef($5)); >+ %*/ >+ } >+-#line 8520 "parse.c" /* yacc.c:1646 */ >++#line 8512 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 365: >+-#line 3286 "parse.y" /* yacc.c:1646 */ >++#line 3278 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -8532,22 +8524,22 @@ yyreduce: >+ $$ = dispatch1(else, $2); >+ %*/ >+ } >+-#line 8532 "parse.c" /* yacc.c:1646 */ >++#line 8524 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 368: >+-#line 3300 "parse.y" /* yacc.c:1646 */ >++#line 3292 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc)); >+ /*%%%*/ >+ /*% >+ %*/ >+ } >+-#line 8543 "parse.c" /* yacc.c:1646 */ >++#line 8535 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 369: >+-#line 3307 "parse.y" /* yacc.c:1646 */ >++#line 3299 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -8555,11 +8547,11 @@ yyreduce: >+ $$ = dispatch1(mlhs_paren, $2); >+ %*/ >+ } >+-#line 8555 "parse.c" /* yacc.c:1646 */ >++#line 8547 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 370: >+-#line 3317 "parse.y" /* yacc.c:1646 */ >++#line 3309 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_list((yyvsp[0].node), &(yyloc)); >+@@ -8567,11 +8559,11 @@ yyreduce: >+ $$ = mlhs_add(mlhs_new(), $1); >+ %*/ >+ } >+-#line 8567 "parse.c" /* yacc.c:1646 */ >++#line 8559 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 371: >+-#line 3325 "parse.y" /* yacc.c:1646 */ >++#line 3317 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = list_append((yyvsp[-2].node), (yyvsp[0].node)); >+@@ -8579,11 +8571,11 @@ yyreduce: >+ $$ = mlhs_add($1, $3); >+ %*/ >+ } >+-#line 8579 "parse.c" /* yacc.c:1646 */ >++#line 8571 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 372: >+-#line 3335 "parse.y" /* yacc.c:1646 */ >++#line 3327 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_masgn((yyvsp[0].node), 0, &(yyloc)); >+@@ -8591,11 +8583,11 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 8591 "parse.c" /* yacc.c:1646 */ >++#line 8583 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 373: >+-#line 3343 "parse.y" /* yacc.c:1646 */ >++#line 3335 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc)); >+ /*%%%*/ >+@@ -8604,11 +8596,11 @@ yyreduce: >+ $$ = mlhs_add_star($1, $$); >+ %*/ >+ } >+-#line 8604 "parse.c" /* yacc.c:1646 */ >++#line 8596 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 374: >+-#line 3352 "parse.y" /* yacc.c:1646 */ >++#line 3344 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[-2].id), 0, &(yyloc)); >+ /*%%%*/ >+@@ -8618,11 +8610,11 @@ yyreduce: >+ $$ = mlhs_add_post($$, $6); >+ %*/ >+ } >+-#line 8618 "parse.c" /* yacc.c:1646 */ >++#line 8610 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 375: >+-#line 3362 "parse.y" /* yacc.c:1646 */ >++#line 3354 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_masgn((yyvsp[-2].node), NODE_SPECIAL_NO_NAME_REST, &(yyloc)); >+@@ -8630,11 +8622,11 @@ yyreduce: >+ $$ = mlhs_add_star($1, Qnil); >+ %*/ >+ } >+-#line 8630 "parse.c" /* yacc.c:1646 */ >++#line 8622 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 376: >+-#line 3370 "parse.y" /* yacc.c:1646 */ >++#line 3362 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_masgn((yyvsp[-4].node), new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].node), &(yyloc)), &(yyloc)); >+@@ -8643,11 +8635,11 @@ yyreduce: >+ $$ = mlhs_add_post($$, $5); >+ %*/ >+ } >+-#line 8643 "parse.c" /* yacc.c:1646 */ >++#line 8635 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 377: >+-#line 3379 "parse.y" /* yacc.c:1646 */ >++#line 3371 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc)); >+ /*%%%*/ >+@@ -8656,11 +8648,11 @@ yyreduce: >+ $$ = mlhs_add_star(mlhs_new(), $$); >+ %*/ >+ } >+-#line 8656 "parse.c" /* yacc.c:1646 */ >++#line 8648 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 378: >+-#line 3388 "parse.y" /* yacc.c:1646 */ >++#line 3380 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[-2].id), 0, &(yyloc)); >+ /*%%%*/ >+@@ -8670,11 +8662,11 @@ yyreduce: >+ $$ = mlhs_add_post($$, $4); >+ %*/ >+ } >+-#line 8670 "parse.c" /* yacc.c:1646 */ >++#line 8662 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 379: >+-#line 3398 "parse.y" /* yacc.c:1646 */ >++#line 3390 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_masgn(0, NODE_SPECIAL_NO_NAME_REST, &(yyloc)); >+@@ -8682,11 +8674,11 @@ yyreduce: >+ $$ = mlhs_add_star(mlhs_new(), Qnil); >+ %*/ >+ } >+-#line 8682 "parse.c" /* yacc.c:1646 */ >++#line 8674 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 380: >+-#line 3406 "parse.y" /* yacc.c:1646 */ >++#line 3398 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_masgn(0, new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].node), &(yyloc)), &(yyloc)); >+@@ -8695,99 +8687,99 @@ yyreduce: >+ $$ = mlhs_add_post($$, $3); >+ %*/ >+ } >+-#line 8695 "parse.c" /* yacc.c:1646 */ >++#line 8687 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 381: >+-#line 3418 "parse.y" /* yacc.c:1646 */ >++#line 3410 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail((yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 8703 "parse.c" /* yacc.c:1646 */ >++#line 8695 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 382: >+-#line 3422 "parse.y" /* yacc.c:1646 */ >++#line 3414 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail((yyvsp[-1].node), Qnone, (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 8711 "parse.c" /* yacc.c:1646 */ >++#line 8703 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 383: >+-#line 3426 "parse.y" /* yacc.c:1646 */ >++#line 3418 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 8719 "parse.c" /* yacc.c:1646 */ >++#line 8711 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 384: >+-#line 3430 "parse.y" /* yacc.c:1646 */ >++#line 3422 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, Qnone, (yyvsp[0].id), &(yylsp[0])); >+ } >+-#line 8727 "parse.c" /* yacc.c:1646 */ >++#line 8719 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 385: >+-#line 3436 "parse.y" /* yacc.c:1646 */ >++#line 3428 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 8735 "parse.c" /* yacc.c:1646 */ >++#line 8727 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 386: >+-#line 3440 "parse.y" /* yacc.c:1646 */ >++#line 3432 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ } >+-#line 8743 "parse.c" /* yacc.c:1646 */ >++#line 8735 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 387: >+-#line 3446 "parse.y" /* yacc.c:1646 */ >++#line 3438 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8751 "parse.c" /* yacc.c:1646 */ >++#line 8743 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 388: >+-#line 3450 "parse.y" /* yacc.c:1646 */ >++#line 3442 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8759 "parse.c" /* yacc.c:1646 */ >++#line 8751 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 389: >+-#line 3454 "parse.y" /* yacc.c:1646 */ >++#line 3446 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-3].node), (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8767 "parse.c" /* yacc.c:1646 */ >++#line 8759 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 390: >+-#line 3458 "parse.y" /* yacc.c:1646 */ >++#line 3450 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8775 "parse.c" /* yacc.c:1646 */ >++#line 8767 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 391: >+-#line 3462 "parse.y" /* yacc.c:1646 */ >++#line 3454 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-3].node), Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8783 "parse.c" /* yacc.c:1646 */ >++#line 8775 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 392: >+-#line 3466 "parse.y" /* yacc.c:1646 */ >++#line 3458 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-1].node), Qnone, 1, Qnone, new_args_tail(Qnone, Qnone, Qnone, &(yylsp[-1])), &(yyloc)); >+ /*%%%*/ >+@@ -8795,91 +8787,91 @@ yyreduce: >+ dispatch1(excessed_comma, $$); >+ %*/ >+ } >+-#line 8795 "parse.c" /* yacc.c:1646 */ >++#line 8787 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 393: >+-#line 3474 "parse.y" /* yacc.c:1646 */ >++#line 3466 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8803 "parse.c" /* yacc.c:1646 */ >++#line 8795 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 394: >+-#line 3478 "parse.y" /* yacc.c:1646 */ >++#line 3470 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-1].node), Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8811 "parse.c" /* yacc.c:1646 */ >++#line 8803 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 395: >+-#line 3482 "parse.y" /* yacc.c:1646 */ >++#line 3474 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8819 "parse.c" /* yacc.c:1646 */ >++#line 8811 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 396: >+-#line 3486 "parse.y" /* yacc.c:1646 */ >++#line 3478 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8827 "parse.c" /* yacc.c:1646 */ >++#line 8819 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 397: >+-#line 3490 "parse.y" /* yacc.c:1646 */ >++#line 3482 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8835 "parse.c" /* yacc.c:1646 */ >++#line 8827 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 398: >+-#line 3494 "parse.y" /* yacc.c:1646 */ >++#line 3486 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8843 "parse.c" /* yacc.c:1646 */ >++#line 8835 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 399: >+-#line 3498 "parse.y" /* yacc.c:1646 */ >++#line 3490 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8851 "parse.c" /* yacc.c:1646 */ >++#line 8843 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 400: >+-#line 3502 "parse.y" /* yacc.c:1646 */ >++#line 3494 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8859 "parse.c" /* yacc.c:1646 */ >++#line 8851 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 401: >+-#line 3506 "parse.y" /* yacc.c:1646 */ >++#line 3498 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 8867 "parse.c" /* yacc.c:1646 */ >++#line 8859 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 403: >+-#line 3513 "parse.y" /* yacc.c:1646 */ >++#line 3505 "parse.y" /* yacc.c:1646 */ >+ { >+ command_start = TRUE; >+ } >+-#line 8875 "parse.c" /* yacc.c:1646 */ >++#line 8867 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 404: >+-#line 3519 "parse.y" /* yacc.c:1646 */ >++#line 3511 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ /*%%%*/ >+@@ -8889,11 +8881,11 @@ yyreduce: >+ escape_Qundef($2)); >+ %*/ >+ } >+-#line 8889 "parse.c" /* yacc.c:1646 */ >++#line 8881 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 405: >+-#line 3529 "parse.y" /* yacc.c:1646 */ >++#line 3521 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -8902,11 +8894,11 @@ yyreduce: >+ Qnil); >+ %*/ >+ } >+-#line 8902 "parse.c" /* yacc.c:1646 */ >++#line 8894 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 406: >+-#line 3538 "parse.y" /* yacc.c:1646 */ >++#line 3530 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ /*%%%*/ >+@@ -8915,19 +8907,19 @@ yyreduce: >+ $$ = blockvar_new(escape_Qundef($2), escape_Qundef($3)); >+ %*/ >+ } >+-#line 8915 "parse.c" /* yacc.c:1646 */ >++#line 8907 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 407: >+-#line 3550 "parse.y" /* yacc.c:1646 */ >++#line 3542 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = 0; >+ } >+-#line 8923 "parse.c" /* yacc.c:1646 */ >++#line 8915 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 408: >+-#line 3554 "parse.y" /* yacc.c:1646 */ >++#line 3546 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -8935,11 +8927,11 @@ yyreduce: >+ $$ = $3; >+ %*/ >+ } >+-#line 8935 "parse.c" /* yacc.c:1646 */ >++#line 8927 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 411: >+-#line 3580 "parse.y" /* yacc.c:1646 */ >++#line 3572 "parse.y" /* yacc.c:1646 */ >+ { >+ new_bv(get_id((yyvsp[0].id))); >+ /*%%%*/ >+@@ -8947,53 +8939,53 @@ yyreduce: >+ $$ = get_value($1); >+ %*/ >+ } >+-#line 8947 "parse.c" /* yacc.c:1646 */ >++#line 8939 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 412: >+-#line 3588 "parse.y" /* yacc.c:1646 */ >++#line 3580 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = 0; >+ } >+-#line 8955 "parse.c" /* yacc.c:1646 */ >++#line 8947 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 413: >+-#line 3593 "parse.y" /* yacc.c:1646 */ >++#line 3585 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.vars) = dyna_push(); >+ } >+-#line 8963 "parse.c" /* yacc.c:1646 */ >++#line 8955 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 414: >+-#line 3596 "parse.y" /* yacc.c:1646 */ >++#line 3588 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = lpar_beg; >+ lpar_beg = ++paren_nest; >+ } >+-#line 8972 "parse.c" /* yacc.c:1646 */ >++#line 8964 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 415: >+-#line 3601 "parse.y" /* yacc.c:1646 */ >++#line 3593 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = ruby_sourceline; >+ } >+-#line 8980 "parse.c" /* yacc.c:1646 */ >++#line 8972 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 416: >+-#line 3604 "parse.y" /* yacc.c:1646 */ >++#line 3596 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.val) = cmdarg_stack; >+ CMDARG_SET(0); >+ } >+-#line 8989 "parse.c" /* yacc.c:1646 */ >++#line 8981 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 417: >+-#line 3609 "parse.y" /* yacc.c:1646 */ >++#line 3601 "parse.y" /* yacc.c:1646 */ >+ { >+ lpar_beg = (yyvsp[-4].num); >+ CMDARG_SET((yyvsp[-1].val)); >+@@ -9008,11 +9000,11 @@ yyreduce: >+ %*/ >+ dyna_pop((yyvsp[-5].vars)); >+ } >+-#line 9008 "parse.c" /* yacc.c:1646 */ >++#line 9000 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 418: >+-#line 3626 "parse.y" /* yacc.c:1646 */ >++#line 3618 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-2].node); >+@@ -9020,46 +9012,46 @@ yyreduce: >+ $$ = dispatch1(paren, $2); >+ %*/ >+ } >+-#line 9020 "parse.c" /* yacc.c:1646 */ >++#line 9012 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 419: >+-#line 3634 "parse.y" /* yacc.c:1646 */ >++#line 3626 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 9028 "parse.c" /* yacc.c:1646 */ >++#line 9020 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 420: >+-#line 3640 "parse.y" /* yacc.c:1646 */ >++#line 3632 "parse.y" /* yacc.c:1646 */ >+ { >+ token_info_pop("}"); >+ (yyval.node) = (yyvsp[-1].node); >+ } >+-#line 9037 "parse.c" /* yacc.c:1646 */ >++#line 9029 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 421: >+-#line 3645 "parse.y" /* yacc.c:1646 */ >++#line 3637 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ } >+-#line 9045 "parse.c" /* yacc.c:1646 */ >++#line 9037 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 422: >+-#line 3651 "parse.y" /* yacc.c:1646 */ >++#line 3643 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9055 "parse.c" /* yacc.c:1646 */ >++#line 9047 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 423: >+-#line 3657 "parse.y" /* yacc.c:1646 */ >++#line 3649 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ /*%%%*/ >+@@ -9068,11 +9060,11 @@ yyreduce: >+ nd_set_line((yyval.node), (yyvsp[-2].num)); >+ /*% %*/ >+ } >+-#line 9068 "parse.c" /* yacc.c:1646 */ >++#line 9060 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 424: >+-#line 3668 "parse.y" /* yacc.c:1646 */ >++#line 3660 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (nd_type((yyvsp[-1].node)) == NODE_YIELD) { >+@@ -9089,19 +9081,19 @@ yyreduce: >+ $$ = method_add_block($1, $2); >+ %*/ >+ } >+-#line 9089 "parse.c" /* yacc.c:1646 */ >++#line 9081 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 425: >+-#line 3685 "parse.y" /* yacc.c:1646 */ >++#line 3677 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall((yyvsp[-2].id), (yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 9097 "parse.c" /* yacc.c:1646 */ >++#line 9089 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 426: >+-#line 3689 "parse.y" /* yacc.c:1646 */ >++#line 3681 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ block_dup_check((yyvsp[-1].node), (yyvsp[0].node)); >+@@ -9114,11 +9106,11 @@ yyreduce: >+ $$ = method_add_block($$, $5); >+ %*/ >+ } >+-#line 9114 "parse.c" /* yacc.c:1646 */ >++#line 9106 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 427: >+-#line 3702 "parse.y" /* yacc.c:1646 */ >++#line 3694 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ block_dup_check((yyvsp[-1].node), (yyvsp[0].node)); >+@@ -9131,11 +9123,11 @@ yyreduce: >+ $$ = method_add_block($$, $5); >+ %*/ >+ } >+-#line 9131 "parse.c" /* yacc.c:1646 */ >++#line 9123 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 428: >+-#line 3717 "parse.y" /* yacc.c:1646 */ >++#line 3709 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -9145,95 +9137,95 @@ yyreduce: >+ $$ = method_arg(dispatch1(fcall, $1), $2); >+ %*/ >+ } >+-#line 9145 "parse.c" /* yacc.c:1646 */ >++#line 9137 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 429: >+-#line 3727 "parse.y" /* yacc.c:1646 */ >++#line 3719 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9155 "parse.c" /* yacc.c:1646 */ >++#line 9147 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 430: >+-#line 3733 "parse.y" /* yacc.c:1646 */ >++#line 3725 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall((yyvsp[-3].id), (yyvsp[-4].node), (yyvsp[-2].id), (yyvsp[0].node), &(yyloc)); >+ nd_set_line((yyval.node), (yyvsp[-1].num)); >+ } >+-#line 9164 "parse.c" /* yacc.c:1646 */ >++#line 9156 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 431: >+-#line 3738 "parse.y" /* yacc.c:1646 */ >++#line 3730 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9174 "parse.c" /* yacc.c:1646 */ >++#line 9166 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 432: >+-#line 3744 "parse.y" /* yacc.c:1646 */ >++#line 3736 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-4].node), (yyvsp[-2].id), (yyvsp[0].node), &(yyloc)); >+ nd_set_line((yyval.node), (yyvsp[-1].num)); >+ } >+-#line 9183 "parse.c" /* yacc.c:1646 */ >++#line 9175 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 433: >+-#line 3749 "parse.y" /* yacc.c:1646 */ >++#line 3741 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-2].node), (yyvsp[0].id), Qnull, &(yyloc)); >+ } >+-#line 9191 "parse.c" /* yacc.c:1646 */ >++#line 9183 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 434: >+-#line 3753 "parse.y" /* yacc.c:1646 */ >++#line 3745 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9201 "parse.c" /* yacc.c:1646 */ >++#line 9193 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 435: >+-#line 3759 "parse.y" /* yacc.c:1646 */ >++#line 3751 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall((yyvsp[-2].id), (yyvsp[-3].node), ID2VAL(idCall), (yyvsp[0].node), &(yyloc)); >+ nd_set_line((yyval.node), (yyvsp[-1].num)); >+ } >+-#line 9210 "parse.c" /* yacc.c:1646 */ >++#line 9202 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 436: >+-#line 3764 "parse.y" /* yacc.c:1646 */ >++#line 3756 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9220 "parse.c" /* yacc.c:1646 */ >++#line 9212 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 437: >+-#line 3770 "parse.y" /* yacc.c:1646 */ >++#line 3762 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-3].node), ID2VAL(idCall), (yyvsp[0].node), &(yyloc)); >+ nd_set_line((yyval.node), (yyvsp[-1].num)); >+ } >+-#line 9229 "parse.c" /* yacc.c:1646 */ >++#line 9221 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 438: >+-#line 3775 "parse.y" /* yacc.c:1646 */ >++#line 3767 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_SUPER((yyvsp[0].node)); >+@@ -9242,11 +9234,11 @@ yyreduce: >+ $$ = dispatch1(super, $2); >+ %*/ >+ } >+-#line 9242 "parse.c" /* yacc.c:1646 */ >++#line 9234 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 439: >+-#line 3784 "parse.y" /* yacc.c:1646 */ >++#line 3776 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_ZSUPER(); >+@@ -9255,11 +9247,11 @@ yyreduce: >+ $$ = dispatch0(zsuper); >+ %*/ >+ } >+-#line 9255 "parse.c" /* yacc.c:1646 */ >++#line 9247 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 440: >+-#line 3793 "parse.y" /* yacc.c:1646 */ >++#line 3785 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if ((yyvsp[-3].node) && nd_type((yyvsp[-3].node)) == NODE_SELF) >+@@ -9271,21 +9263,21 @@ yyreduce: >+ $$ = dispatch2(aref, $1, escape_Qundef($3)); >+ %*/ >+ } >+-#line 9271 "parse.c" /* yacc.c:1646 */ >++#line 9263 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 441: >+-#line 3807 "parse.y" /* yacc.c:1646 */ >++#line 3799 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9281 "parse.c" /* yacc.c:1646 */ >++#line 9273 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 442: >+-#line 3813 "parse.y" /* yacc.c:1646 */ >++#line 3805 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ /*%%%*/ >+@@ -9294,21 +9286,21 @@ yyreduce: >+ nd_set_line((yyval.node), (yyvsp[-2].num)); >+ /*% %*/ >+ } >+-#line 9294 "parse.c" /* yacc.c:1646 */ >++#line 9286 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 443: >+-#line 3822 "parse.y" /* yacc.c:1646 */ >++#line 3814 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.num) = ruby_sourceline; >+ /*% %*/ >+ } >+-#line 9304 "parse.c" /* yacc.c:1646 */ >++#line 9296 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 444: >+-#line 3828 "parse.y" /* yacc.c:1646 */ >++#line 3820 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ /*%%%*/ >+@@ -9317,55 +9309,55 @@ yyreduce: >+ nd_set_line((yyval.node), (yyvsp[-2].num)); >+ /*% %*/ >+ } >+-#line 9317 "parse.c" /* yacc.c:1646 */ >++#line 9309 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 445: >+-#line 3838 "parse.y" /* yacc.c:1646 */ >++#line 3830 "parse.y" /* yacc.c:1646 */ >+ {(yyval.vars) = dyna_push();} >+-#line 9323 "parse.c" /* yacc.c:1646 */ >++#line 9315 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 446: >+-#line 3839 "parse.y" /* yacc.c:1646 */ >++#line 3831 "parse.y" /* yacc.c:1646 */ >+ {(yyval.val) = cmdarg_stack >> 1; CMDARG_SET(0);} >+-#line 9329 "parse.c" /* yacc.c:1646 */ >++#line 9321 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 447: >+-#line 3841 "parse.y" /* yacc.c:1646 */ >++#line 3833 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_brace_body((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ dyna_pop((yyvsp[-3].vars)); >+ CMDARG_SET((yyvsp[-2].val)); >+ } >+-#line 9339 "parse.c" /* yacc.c:1646 */ >++#line 9331 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 448: >+-#line 3848 "parse.y" /* yacc.c:1646 */ >++#line 3840 "parse.y" /* yacc.c:1646 */ >+ {(yyval.vars) = dyna_push();} >+-#line 9345 "parse.c" /* yacc.c:1646 */ >++#line 9337 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 449: >+-#line 3849 "parse.y" /* yacc.c:1646 */ >++#line 3841 "parse.y" /* yacc.c:1646 */ >+ {(yyval.val) = cmdarg_stack; CMDARG_SET(0);} >+-#line 9351 "parse.c" /* yacc.c:1646 */ >++#line 9343 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 450: >+-#line 3851 "parse.y" /* yacc.c:1646 */ >++#line 3843 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_do_body((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ dyna_pop((yyvsp[-3].vars)); >+ CMDARG_SET((yyvsp[-2].val)); >+ } >+-#line 9361 "parse.c" /* yacc.c:1646 */ >++#line 9353 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 451: >+-#line 3861 "parse.y" /* yacc.c:1646 */ >++#line 3853 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_WHEN((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node)); >+@@ -9374,11 +9366,11 @@ yyreduce: >+ $$ = dispatch3(when, $2, $4, escape_Qundef($5)); >+ %*/ >+ } >+-#line 9374 "parse.c" /* yacc.c:1646 */ >++#line 9366 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 454: >+-#line 3878 "parse.y" /* yacc.c:1646 */ >++#line 3870 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if ((yyvsp[-3].node)) { >+@@ -9398,11 +9390,11 @@ yyreduce: >+ escape_Qundef($6)); >+ %*/ >+ } >+-#line 9398 "parse.c" /* yacc.c:1646 */ >++#line 9390 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 456: >+-#line 3901 "parse.y" /* yacc.c:1646 */ >++#line 3893 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_list((yyvsp[0].node), &(yyloc)); >+@@ -9410,11 +9402,11 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 9410 "parse.c" /* yacc.c:1646 */ >++#line 9402 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 457: >+-#line 3909 "parse.y" /* yacc.c:1646 */ >++#line 3901 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (!((yyval.node) = splat_array((yyvsp[0].node)))) (yyval.node) = (yyvsp[0].node); >+@@ -9422,19 +9414,19 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 9422 "parse.c" /* yacc.c:1646 */ >++#line 9414 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 459: >+-#line 3920 "parse.y" /* yacc.c:1646 */ >++#line 3912 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 9430 "parse.c" /* yacc.c:1646 */ >++#line 9422 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 461: >+-#line 3927 "parse.y" /* yacc.c:1646 */ >++#line 3919 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -9442,11 +9434,11 @@ yyreduce: >+ $$ = dispatch1(ensure, $2); >+ %*/ >+ } >+-#line 9442 "parse.c" /* yacc.c:1646 */ >++#line 9434 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 464: >+-#line 3939 "parse.y" /* yacc.c:1646 */ >++#line 3931 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_lit(ID2SYM((yyvsp[0].id)), &(yyloc)); >+@@ -9454,11 +9446,11 @@ yyreduce: >+ $$ = dispatch1(symbol_literal, $1); >+ %*/ >+ } >+-#line 9454 "parse.c" /* yacc.c:1646 */ >++#line 9446 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 466: >+-#line 3950 "parse.y" /* yacc.c:1646 */ >++#line 3942 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *node = (yyvsp[0].node); >+@@ -9473,22 +9465,22 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 9473 "parse.c" /* yacc.c:1646 */ >++#line 9465 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 467: >+-#line 3967 "parse.y" /* yacc.c:1646 */ >++#line 3959 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 9484 "parse.c" /* yacc.c:1646 */ >++#line 9476 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 469: >+-#line 3975 "parse.y" /* yacc.c:1646 */ >++#line 3967 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+@@ -9496,11 +9488,11 @@ yyreduce: >+ $$ = dispatch2(string_concat, $1, $2); >+ %*/ >+ } >+-#line 9496 "parse.c" /* yacc.c:1646 */ >++#line 9488 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 470: >+-#line 3985 "parse.y" /* yacc.c:1646 */ >++#line 3977 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_string1(heredoc_dedent((yyvsp[-1].node))); >+ /*%%%*/ >+@@ -9508,27 +9500,27 @@ yyreduce: >+ /*% >+ %*/ >+ } >+-#line 9508 "parse.c" /* yacc.c:1646 */ >++#line 9500 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 471: >+-#line 3995 "parse.y" /* yacc.c:1646 */ >++#line 3987 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_xstring(heredoc_dedent((yyvsp[-1].node)), &(yyloc)); >+ } >+-#line 9516 "parse.c" /* yacc.c:1646 */ >++#line 9508 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 472: >+-#line 4001 "parse.y" /* yacc.c:1646 */ >++#line 3993 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_regexp((yyvsp[-1].node), (yyvsp[0].num), &(yyloc)); >+ } >+-#line 9524 "parse.c" /* yacc.c:1646 */ >++#line 9516 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 473: >+-#line 4007 "parse.y" /* yacc.c:1646 */ >++#line 3999 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = make_array((yyvsp[-1].node), &(yyloc)); >+@@ -9536,11 +9528,11 @@ yyreduce: >+ $$ = dispatch1(array, $3); >+ %*/ >+ } >+-#line 9536 "parse.c" /* yacc.c:1646 */ >++#line 9528 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 474: >+-#line 4017 "parse.y" /* yacc.c:1646 */ >++#line 4009 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9548,11 +9540,11 @@ yyreduce: >+ $$ = dispatch0(words_new); >+ %*/ >+ } >+-#line 9548 "parse.c" /* yacc.c:1646 */ >++#line 9540 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 475: >+-#line 4025 "parse.y" /* yacc.c:1646 */ >++#line 4017 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = list_append((yyvsp[-2].node), evstr2dstr((yyvsp[-1].node))); >+@@ -9560,11 +9552,11 @@ yyreduce: >+ $$ = dispatch2(words_add, $1, $2); >+ %*/ >+ } >+-#line 9560 "parse.c" /* yacc.c:1646 */ >++#line 9552 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 477: >+-#line 4043 "parse.y" /* yacc.c:1646 */ >++#line 4035 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+@@ -9572,11 +9564,11 @@ yyreduce: >+ $$ = dispatch2(word_add, $1, $2); >+ %*/ >+ } >+-#line 9572 "parse.c" /* yacc.c:1646 */ >++#line 9564 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 478: >+-#line 4053 "parse.y" /* yacc.c:1646 */ >++#line 4045 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = make_array((yyvsp[-1].node), &(yyloc)); >+@@ -9584,11 +9576,11 @@ yyreduce: >+ $$ = dispatch1(array, $3); >+ %*/ >+ } >+-#line 9584 "parse.c" /* yacc.c:1646 */ >++#line 9576 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 479: >+-#line 4063 "parse.y" /* yacc.c:1646 */ >++#line 4055 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9596,11 +9588,11 @@ yyreduce: >+ $$ = dispatch0(symbols_new); >+ %*/ >+ } >+-#line 9596 "parse.c" /* yacc.c:1646 */ >++#line 9588 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 480: >+-#line 4071 "parse.y" /* yacc.c:1646 */ >++#line 4063 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyvsp[-1].node) = evstr2dstr((yyvsp[-1].node)); >+@@ -9616,11 +9608,11 @@ yyreduce: >+ $$ = dispatch2(symbols_add, $1, $2); >+ %*/ >+ } >+-#line 9616 "parse.c" /* yacc.c:1646 */ >++#line 9608 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 481: >+-#line 4089 "parse.y" /* yacc.c:1646 */ >++#line 4081 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = make_array((yyvsp[-1].node), &(yyloc)); >+@@ -9628,11 +9620,11 @@ yyreduce: >+ $$ = dispatch1(array, $3); >+ %*/ >+ } >+-#line 9628 "parse.c" /* yacc.c:1646 */ >++#line 9620 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 482: >+-#line 4099 "parse.y" /* yacc.c:1646 */ >++#line 4091 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = make_array((yyvsp[-1].node), &(yyloc)); >+@@ -9640,11 +9632,11 @@ yyreduce: >+ $$ = dispatch1(array, $3); >+ %*/ >+ } >+-#line 9640 "parse.c" /* yacc.c:1646 */ >++#line 9632 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 483: >+-#line 4109 "parse.y" /* yacc.c:1646 */ >++#line 4101 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9652,11 +9644,11 @@ yyreduce: >+ $$ = dispatch0(qwords_new); >+ %*/ >+ } >+-#line 9652 "parse.c" /* yacc.c:1646 */ >++#line 9644 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 484: >+-#line 4117 "parse.y" /* yacc.c:1646 */ >++#line 4109 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyvsp[-1].node)->nd_loc = (yylsp[-1]); >+@@ -9665,11 +9657,11 @@ yyreduce: >+ $$ = dispatch2(qwords_add, $1, $2); >+ %*/ >+ } >+-#line 9665 "parse.c" /* yacc.c:1646 */ >++#line 9657 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 485: >+-#line 4128 "parse.y" /* yacc.c:1646 */ >++#line 4120 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9677,11 +9669,11 @@ yyreduce: >+ $$ = dispatch0(qsymbols_new); >+ %*/ >+ } >+-#line 9677 "parse.c" /* yacc.c:1646 */ >++#line 9669 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 486: >+-#line 4136 "parse.y" /* yacc.c:1646 */ >++#line 4128 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ VALUE lit; >+@@ -9694,11 +9686,11 @@ yyreduce: >+ $$ = dispatch2(qsymbols_add, $1, $2); >+ %*/ >+ } >+-#line 9694 "parse.c" /* yacc.c:1646 */ >++#line 9686 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 487: >+-#line 4151 "parse.y" /* yacc.c:1646 */ >++#line 4143 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9706,11 +9698,11 @@ yyreduce: >+ $$ = dispatch0(string_content); >+ %*/ >+ } >+-#line 9706 "parse.c" /* yacc.c:1646 */ >++#line 9698 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 488: >+-#line 4159 "parse.y" /* yacc.c:1646 */ >++#line 4151 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+@@ -9718,11 +9710,11 @@ yyreduce: >+ $$ = dispatch2(string_add, $1, $2); >+ %*/ >+ } >+-#line 9718 "parse.c" /* yacc.c:1646 */ >++#line 9710 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 489: >+-#line 4169 "parse.y" /* yacc.c:1646 */ >++#line 4161 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9730,11 +9722,11 @@ yyreduce: >+ $$ = dispatch0(xstring_new); >+ %*/ >+ } >+-#line 9730 "parse.c" /* yacc.c:1646 */ >++#line 9722 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 490: >+-#line 4177 "parse.y" /* yacc.c:1646 */ >++#line 4169 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+@@ -9742,11 +9734,11 @@ yyreduce: >+ $$ = dispatch2(xstring_add, $1, $2); >+ %*/ >+ } >+-#line 9742 "parse.c" /* yacc.c:1646 */ >++#line 9734 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 491: >+-#line 4187 "parse.y" /* yacc.c:1646 */ >++#line 4179 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -9754,11 +9746,11 @@ yyreduce: >+ $$ = ripper_new_yylval(0, dispatch0(regexp_new), 0); >+ %*/ >+ } >+-#line 9754 "parse.c" /* yacc.c:1646 */ >++#line 9746 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 492: >+-#line 4195 "parse.y" /* yacc.c:1646 */ >++#line 4187 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *head = (yyvsp[-1].node), *tail = (yyvsp[0].node); >+@@ -9797,33 +9789,33 @@ yyreduce: >+ } >+ %*/ >+ } >+-#line 9797 "parse.c" /* yacc.c:1646 */ >++#line 9789 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 493: >+-#line 4236 "parse.y" /* yacc.c:1646 */ >++#line 4228 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 9808 "parse.c" /* yacc.c:1646 */ >++#line 9800 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 494: >+-#line 4243 "parse.y" /* yacc.c:1646 */ >++#line 4235 "parse.y" /* yacc.c:1646 */ >+ { >+ /* need to backup lex_strterm so that a string literal `%&foo,#$&,bar&` can be parsed */ >+ (yyval.strterm) = lex_strterm; >+ lex_strterm = 0; >+ SET_LEX_STATE(EXPR_BEG); >+ } >+-#line 9819 "parse.c" /* yacc.c:1646 */ >++#line 9811 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 495: >+-#line 4250 "parse.y" /* yacc.c:1646 */ >++#line 4242 "parse.y" /* yacc.c:1646 */ >+ { >+ lex_strterm = (yyvsp[-1].strterm); >+ /*%%%*/ >+@@ -9833,59 +9825,59 @@ yyreduce: >+ $$ = dispatch1(string_dvar, $3); >+ %*/ >+ } >+-#line 9833 "parse.c" /* yacc.c:1646 */ >++#line 9825 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 496: >+-#line 4260 "parse.y" /* yacc.c:1646 */ >++#line 4252 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyvsp[0].val) = cond_stack; >+ (yyval.val) = cmdarg_stack; >+ COND_SET(0); >+ CMDARG_SET(0); >+ } >+-#line 9844 "parse.c" /* yacc.c:1646 */ >++#line 9836 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 497: >+-#line 4266 "parse.y" /* yacc.c:1646 */ >++#line 4258 "parse.y" /* yacc.c:1646 */ >+ { >+ /* need to backup lex_strterm so that a string literal `%!foo,#{ !0 },bar!` can be parsed */ >+ (yyval.strterm) = lex_strterm; >+ lex_strterm = 0; >+ } >+-#line 9854 "parse.c" /* yacc.c:1646 */ >++#line 9846 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 498: >+-#line 4271 "parse.y" /* yacc.c:1646 */ >++#line 4263 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = lex_state; >+ SET_LEX_STATE(EXPR_BEG); >+ } >+-#line 9863 "parse.c" /* yacc.c:1646 */ >++#line 9855 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 499: >+-#line 4275 "parse.y" /* yacc.c:1646 */ >++#line 4267 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = brace_nest; >+ brace_nest = 0; >+ } >+-#line 9872 "parse.c" /* yacc.c:1646 */ >++#line 9864 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 500: >+-#line 4279 "parse.y" /* yacc.c:1646 */ >++#line 4271 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = heredoc_indent; >+ heredoc_indent = 0; >+ } >+-#line 9881 "parse.c" /* yacc.c:1646 */ >++#line 9873 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 501: >+-#line 4284 "parse.y" /* yacc.c:1646 */ >++#line 4276 "parse.y" /* yacc.c:1646 */ >+ { >+ COND_SET((yyvsp[-7].val)); >+ CMDARG_SET((yyvsp[-6].val)); >+@@ -9901,11 +9893,11 @@ yyreduce: >+ $$ = dispatch1(string_embexpr, $7); >+ %*/ >+ } >+-#line 9901 "parse.c" /* yacc.c:1646 */ >++#line 9893 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 502: >+-#line 4302 "parse.y" /* yacc.c:1646 */ >++#line 4294 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_gvar((yyvsp[0].id), &(yyloc)); >+@@ -9913,11 +9905,11 @@ yyreduce: >+ $$ = dispatch1(var_ref, $1); >+ %*/ >+ } >+-#line 9913 "parse.c" /* yacc.c:1646 */ >++#line 9905 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 503: >+-#line 4310 "parse.y" /* yacc.c:1646 */ >++#line 4302 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = new_ivar((yyvsp[0].id), &(yyloc)); >+@@ -9925,11 +9917,11 @@ yyreduce: >+ $$ = dispatch1(var_ref, $1); >+ %*/ >+ } >+-#line 9925 "parse.c" /* yacc.c:1646 */ >++#line 9917 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 504: >+-#line 4318 "parse.y" /* yacc.c:1646 */ >++#line 4310 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = NEW_CVAR((yyvsp[0].id)); >+@@ -9938,11 +9930,11 @@ yyreduce: >+ $$ = dispatch1(var_ref, $1); >+ %*/ >+ } >+-#line 9938 "parse.c" /* yacc.c:1646 */ >++#line 9930 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 506: >+-#line 4330 "parse.y" /* yacc.c:1646 */ >++#line 4322 "parse.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_END|EXPR_ENDARG); >+ /*%%%*/ >+@@ -9951,11 +9943,11 @@ yyreduce: >+ $$ = dispatch1(symbol, $2); >+ %*/ >+ } >+-#line 9951 "parse.c" /* yacc.c:1646 */ >++#line 9943 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 511: >+-#line 4347 "parse.y" /* yacc.c:1646 */ >++#line 4339 "parse.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_END|EXPR_ENDARG); >+ /*%%%*/ >+@@ -9964,11 +9956,11 @@ yyreduce: >+ $$ = dispatch1(dyna_symbol, $2); >+ %*/ >+ } >+-#line 9964 "parse.c" /* yacc.c:1646 */ >++#line 9956 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 513: >+-#line 4359 "parse.y" /* yacc.c:1646 */ >++#line 4351 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -9977,97 +9969,97 @@ yyreduce: >+ $$ = dispatch2(unary, ID2VAL(idUMinus), $2); >+ %*/ >+ } >+-#line 9977 "parse.c" /* yacc.c:1646 */ >++#line 9969 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 514: >+-#line 4370 "parse.y" /* yacc.c:1646 */ >++#line 4362 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 9988 "parse.c" /* yacc.c:1646 */ >++#line 9980 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 515: >+-#line 4377 "parse.y" /* yacc.c:1646 */ >++#line 4369 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 9999 "parse.c" /* yacc.c:1646 */ >++#line 9991 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 516: >+-#line 4384 "parse.y" /* yacc.c:1646 */ >++#line 4376 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 10010 "parse.c" /* yacc.c:1646 */ >++#line 10002 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 517: >+-#line 4391 "parse.y" /* yacc.c:1646 */ >++#line 4383 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 10021 "parse.c" /* yacc.c:1646 */ >++#line 10013 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 523: >+-#line 4406 "parse.y" /* yacc.c:1646 */ >++#line 4398 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(nil, (yyvsp[0].id));} >+-#line 10027 "parse.c" /* yacc.c:1646 */ >++#line 10019 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 524: >+-#line 4407 "parse.y" /* yacc.c:1646 */ >++#line 4399 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(self, (yyvsp[0].id));} >+-#line 10033 "parse.c" /* yacc.c:1646 */ >++#line 10025 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 525: >+-#line 4408 "parse.y" /* yacc.c:1646 */ >++#line 4400 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(true, (yyvsp[0].id));} >+-#line 10039 "parse.c" /* yacc.c:1646 */ >++#line 10031 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 526: >+-#line 4409 "parse.y" /* yacc.c:1646 */ >++#line 4401 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(false, (yyvsp[0].id));} >+-#line 10045 "parse.c" /* yacc.c:1646 */ >++#line 10037 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 527: >+-#line 4410 "parse.y" /* yacc.c:1646 */ >++#line 4402 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(_FILE__, (yyvsp[0].id));} >+-#line 10051 "parse.c" /* yacc.c:1646 */ >++#line 10043 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 528: >+-#line 4411 "parse.y" /* yacc.c:1646 */ >++#line 4403 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(_LINE__, (yyvsp[0].id));} >+-#line 10057 "parse.c" /* yacc.c:1646 */ >++#line 10049 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 529: >+-#line 4412 "parse.y" /* yacc.c:1646 */ >++#line 4404 "parse.y" /* yacc.c:1646 */ >+ {(yyval.id) = KWD2EID(_ENCODING__, (yyvsp[0].id));} >+-#line 10063 "parse.c" /* yacc.c:1646 */ >++#line 10055 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 530: >+-#line 4416 "parse.y" /* yacc.c:1646 */ >++#line 4408 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (!((yyval.node) = gettable((yyvsp[0].id), &(yyloc)))) (yyval.node) = new_begin(0, &(yyloc)); >+@@ -10080,11 +10072,11 @@ yyreduce: >+ } >+ %*/ >+ } >+-#line 10080 "parse.c" /* yacc.c:1646 */ >++#line 10072 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 531: >+-#line 4429 "parse.y" /* yacc.c:1646 */ >++#line 4421 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (!((yyval.node) = gettable((yyvsp[0].id), &(yyloc)))) (yyval.node) = new_begin(0, &(yyloc)); >+@@ -10092,66 +10084,66 @@ yyreduce: >+ $$ = dispatch1(var_ref, $1); >+ %*/ >+ } >+-#line 10092 "parse.c" /* yacc.c:1646 */ >++#line 10084 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 532: >+-#line 4439 "parse.y" /* yacc.c:1646 */ >++#line 4431 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc)); >+ } >+-#line 10100 "parse.c" /* yacc.c:1646 */ >++#line 10092 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 533: >+-#line 4443 "parse.y" /* yacc.c:1646 */ >++#line 4435 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc)); >+ } >+-#line 10108 "parse.c" /* yacc.c:1646 */ >++#line 10100 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 534: >+-#line 4449 "parse.y" /* yacc.c:1646 */ >++#line 4441 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 10119 "parse.c" /* yacc.c:1646 */ >++#line 10111 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 535: >+-#line 4456 "parse.y" /* yacc.c:1646 */ >++#line 4448 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node)->nd_loc = (yyloc); >+ /*% >+ %*/ >+ } >+-#line 10130 "parse.c" /* yacc.c:1646 */ >++#line 10122 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 536: >+-#line 4465 "parse.y" /* yacc.c:1646 */ >++#line 4457 "parse.y" /* yacc.c:1646 */ >+ { >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10139 "parse.c" /* yacc.c:1646 */ >++#line 10131 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 537: >+-#line 4470 "parse.y" /* yacc.c:1646 */ >++#line 4462 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[-1].node); >+ } >+-#line 10147 "parse.c" /* yacc.c:1646 */ >++#line 10139 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 538: >+-#line 4474 "parse.y" /* yacc.c:1646 */ >++#line 4466 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = 0; >+@@ -10159,11 +10151,11 @@ yyreduce: >+ $$ = Qnil; >+ %*/ >+ } >+-#line 10159 "parse.c" /* yacc.c:1646 */ >++#line 10151 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 539: >+-#line 4484 "parse.y" /* yacc.c:1646 */ >++#line 4476 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -10173,201 +10165,201 @@ yyreduce: >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10173 "parse.c" /* yacc.c:1646 */ >++#line 10165 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 540: >+-#line 4493 "parse.y" /* yacc.c:1646 */ >++#line 4485 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.num) = parser->in_kwarg; >+ parser->in_kwarg = 1; >+ SET_LEX_STATE(lex_state|EXPR_LABEL); /* force for args */ >+ } >+-#line 10183 "parse.c" /* yacc.c:1646 */ >++#line 10175 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 541: >+-#line 4499 "parse.y" /* yacc.c:1646 */ >++#line 4491 "parse.y" /* yacc.c:1646 */ >+ { >+ parser->in_kwarg = !!(yyvsp[-2].num); >+ (yyval.node) = (yyvsp[-1].node); >+ SET_LEX_STATE(EXPR_BEG); >+ command_start = TRUE; >+ } >+-#line 10194 "parse.c" /* yacc.c:1646 */ >++#line 10186 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 542: >+-#line 4508 "parse.y" /* yacc.c:1646 */ >++#line 4500 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail((yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 10202 "parse.c" /* yacc.c:1646 */ >++#line 10194 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 543: >+-#line 4512 "parse.y" /* yacc.c:1646 */ >++#line 4504 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail((yyvsp[-1].node), Qnone, (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 10210 "parse.c" /* yacc.c:1646 */ >++#line 10202 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 544: >+-#line 4516 "parse.y" /* yacc.c:1646 */ >++#line 4508 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1])); >+ } >+-#line 10218 "parse.c" /* yacc.c:1646 */ >++#line 10210 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 545: >+-#line 4520 "parse.y" /* yacc.c:1646 */ >++#line 4512 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, Qnone, (yyvsp[0].id), &(yylsp[0])); >+ } >+-#line 10226 "parse.c" /* yacc.c:1646 */ >++#line 10218 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 546: >+-#line 4526 "parse.y" /* yacc.c:1646 */ >++#line 4518 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = (yyvsp[0].node); >+ } >+-#line 10234 "parse.c" /* yacc.c:1646 */ >++#line 10226 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 547: >+-#line 4530 "parse.y" /* yacc.c:1646 */ >++#line 4522 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ } >+-#line 10242 "parse.c" /* yacc.c:1646 */ >++#line 10234 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 548: >+-#line 4536 "parse.y" /* yacc.c:1646 */ >++#line 4528 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10250 "parse.c" /* yacc.c:1646 */ >++#line 10242 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 549: >+-#line 4540 "parse.y" /* yacc.c:1646 */ >++#line 4532 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10258 "parse.c" /* yacc.c:1646 */ >++#line 10250 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 550: >+-#line 4544 "parse.y" /* yacc.c:1646 */ >++#line 4536 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-3].node), (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10266 "parse.c" /* yacc.c:1646 */ >++#line 10258 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 551: >+-#line 4548 "parse.y" /* yacc.c:1646 */ >++#line 4540 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10274 "parse.c" /* yacc.c:1646 */ >++#line 10266 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 552: >+-#line 4552 "parse.y" /* yacc.c:1646 */ >++#line 4544 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-3].node), Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10282 "parse.c" /* yacc.c:1646 */ >++#line 10274 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 553: >+-#line 4556 "parse.y" /* yacc.c:1646 */ >++#line 4548 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-5].node), Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10290 "parse.c" /* yacc.c:1646 */ >++#line 10282 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 554: >+-#line 4560 "parse.y" /* yacc.c:1646 */ >++#line 4552 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args((yyvsp[-1].node), Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10298 "parse.c" /* yacc.c:1646 */ >++#line 10290 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 555: >+-#line 4564 "parse.y" /* yacc.c:1646 */ >++#line 4556 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10306 "parse.c" /* yacc.c:1646 */ >++#line 10298 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 556: >+-#line 4568 "parse.y" /* yacc.c:1646 */ >++#line 4560 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10314 "parse.c" /* yacc.c:1646 */ >++#line 10306 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 557: >+-#line 4572 "parse.y" /* yacc.c:1646 */ >++#line 4564 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10322 "parse.c" /* yacc.c:1646 */ >++#line 10314 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 558: >+-#line 4576 "parse.y" /* yacc.c:1646 */ >++#line 4568 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10330 "parse.c" /* yacc.c:1646 */ >++#line 10322 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 559: >+-#line 4580 "parse.y" /* yacc.c:1646 */ >++#line 4572 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10338 "parse.c" /* yacc.c:1646 */ >++#line 10330 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 560: >+-#line 4584 "parse.y" /* yacc.c:1646 */ >++#line 4576 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10346 "parse.c" /* yacc.c:1646 */ >++#line 10338 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 561: >+-#line 4588 "parse.y" /* yacc.c:1646 */ >++#line 4580 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc)); >+ } >+-#line 10354 "parse.c" /* yacc.c:1646 */ >++#line 10346 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 562: >+-#line 4592 "parse.y" /* yacc.c:1646 */ >++#line 4584 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0])); >+ (yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyval.node), &(yylsp[0])); >+ } >+-#line 10363 "parse.c" /* yacc.c:1646 */ >++#line 10355 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 563: >+-#line 4599 "parse.y" /* yacc.c:1646 */ >++#line 4591 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ yyerror0("formal argument cannot be a constant"); >+@@ -10377,11 +10369,11 @@ yyreduce: >+ ripper_error(); >+ %*/ >+ } >+-#line 10377 "parse.c" /* yacc.c:1646 */ >++#line 10369 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 564: >+-#line 4609 "parse.y" /* yacc.c:1646 */ >++#line 4601 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ yyerror0("formal argument cannot be an instance variable"); >+@@ -10391,11 +10383,11 @@ yyreduce: >+ ripper_error(); >+ %*/ >+ } >+-#line 10391 "parse.c" /* yacc.c:1646 */ >++#line 10383 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 565: >+-#line 4619 "parse.y" /* yacc.c:1646 */ >++#line 4611 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ yyerror0("formal argument cannot be a global variable"); >+@@ -10405,11 +10397,11 @@ yyreduce: >+ ripper_error(); >+ %*/ >+ } >+-#line 10405 "parse.c" /* yacc.c:1646 */ >++#line 10397 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 566: >+-#line 4629 "parse.y" /* yacc.c:1646 */ >++#line 4621 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ yyerror0("formal argument cannot be a class variable"); >+@@ -10419,31 +10411,31 @@ yyreduce: >+ ripper_error(); >+ %*/ >+ } >+-#line 10419 "parse.c" /* yacc.c:1646 */ >++#line 10411 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 568: >+-#line 4642 "parse.y" /* yacc.c:1646 */ >++#line 4634 "parse.y" /* yacc.c:1646 */ >+ { >+ formal_argument(get_id((yyvsp[0].id))); >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 10428 "parse.c" /* yacc.c:1646 */ >++#line 10420 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 569: >+-#line 4649 "parse.y" /* yacc.c:1646 */ >++#line 4641 "parse.y" /* yacc.c:1646 */ >+ { >+ ID id = get_id((yyvsp[0].id)); >+ arg_var(id); >+ current_arg = id; >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 10439 "parse.c" /* yacc.c:1646 */ >++#line 10431 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 570: >+-#line 4658 "parse.y" /* yacc.c:1646 */ >++#line 4650 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ /*%%%*/ >+@@ -10452,11 +10444,11 @@ yyreduce: >+ $$ = get_value($1); >+ %*/ >+ } >+-#line 10452 "parse.c" /* yacc.c:1646 */ >++#line 10444 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 571: >+-#line 4667 "parse.y" /* yacc.c:1646 */ >++#line 4659 "parse.y" /* yacc.c:1646 */ >+ { >+ ID tid = internal_id(); >+ /*%%%*/ >+@@ -10479,11 +10471,11 @@ yyreduce: >+ $$ = dispatch1(mlhs_paren, $2); >+ %*/ >+ } >+-#line 10479 "parse.c" /* yacc.c:1646 */ >++#line 10471 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 573: >+-#line 4699 "parse.y" /* yacc.c:1646 */ >++#line 4691 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-2].node); >+@@ -10494,22 +10486,22 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10494 "parse.c" /* yacc.c:1646 */ >++#line 10486 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 574: >+-#line 4713 "parse.y" /* yacc.c:1646 */ >++#line 4705 "parse.y" /* yacc.c:1646 */ >+ { >+ ID id = get_id((yyvsp[0].id)); >+ arg_var(formal_argument(id)); >+ current_arg = id; >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 10505 "parse.c" /* yacc.c:1646 */ >++#line 10497 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 575: >+-#line 4722 "parse.y" /* yacc.c:1646 */ >++#line 4714 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.node) = assignable((yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+@@ -10519,11 +10511,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), get_value($2)); >+ %*/ >+ } >+-#line 10519 "parse.c" /* yacc.c:1646 */ >++#line 10511 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 576: >+-#line 4732 "parse.y" /* yacc.c:1646 */ >++#line 4724 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.node) = assignable((yyvsp[0].id), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc)); >+@@ -10533,11 +10525,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), 0); >+ %*/ >+ } >+-#line 10533 "parse.c" /* yacc.c:1646 */ >++#line 10525 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 577: >+-#line 4744 "parse.y" /* yacc.c:1646 */ >++#line 4736 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[-1].id), (yyvsp[0].node), &(yyloc)); >+ /*%%%*/ >+@@ -10546,11 +10538,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), get_value($2)); >+ %*/ >+ } >+-#line 10546 "parse.c" /* yacc.c:1646 */ >++#line 10538 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 578: >+-#line 4753 "parse.y" /* yacc.c:1646 */ >++#line 4745 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = assignable((yyvsp[0].id), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc)); >+ /*%%%*/ >+@@ -10559,11 +10551,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), 0); >+ %*/ >+ } >+-#line 10559 "parse.c" /* yacc.c:1646 */ >++#line 10551 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 579: >+-#line 4764 "parse.y" /* yacc.c:1646 */ >++#line 4756 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -10571,11 +10563,11 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 10571 "parse.c" /* yacc.c:1646 */ >++#line 10563 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 580: >+-#line 4772 "parse.y" /* yacc.c:1646 */ >++#line 4764 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = kwd_append((yyvsp[-2].node), (yyvsp[0].node)); >+@@ -10583,11 +10575,11 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10583 "parse.c" /* yacc.c:1646 */ >++#line 10575 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 581: >+-#line 4783 "parse.y" /* yacc.c:1646 */ >++#line 4775 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -10595,11 +10587,11 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 10595 "parse.c" /* yacc.c:1646 */ >++#line 10587 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 582: >+-#line 4791 "parse.y" /* yacc.c:1646 */ >++#line 4783 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = kwd_append((yyvsp[-2].node), (yyvsp[0].node)); >+@@ -10607,11 +10599,11 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10607 "parse.c" /* yacc.c:1646 */ >++#line 10599 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 585: >+-#line 4805 "parse.y" /* yacc.c:1646 */ >++#line 4797 "parse.y" /* yacc.c:1646 */ >+ { >+ shadowing_lvar(get_id((yyvsp[0].id))); >+ /*%%%*/ >+@@ -10620,11 +10612,11 @@ yyreduce: >+ $$ = dispatch1(kwrest_param, $2); >+ %*/ >+ } >+-#line 10620 "parse.c" /* yacc.c:1646 */ >++#line 10612 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 586: >+-#line 4814 "parse.y" /* yacc.c:1646 */ >++#line 4806 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.id) = internal_id(); >+@@ -10633,11 +10625,11 @@ yyreduce: >+ $$ = dispatch1(kwrest_param, Qnil); >+ %*/ >+ } >+-#line 10633 "parse.c" /* yacc.c:1646 */ >++#line 10625 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 587: >+-#line 4825 "parse.y" /* yacc.c:1646 */ >++#line 4817 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.node) = assignable((yyvsp[-2].id), (yyvsp[0].node), &(yyloc)); >+@@ -10648,11 +10640,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), get_value($3)); >+ %*/ >+ } >+-#line 10648 "parse.c" /* yacc.c:1646 */ >++#line 10640 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 588: >+-#line 4838 "parse.y" /* yacc.c:1646 */ >++#line 4830 "parse.y" /* yacc.c:1646 */ >+ { >+ current_arg = 0; >+ (yyval.node) = assignable((yyvsp[-2].id), (yyvsp[0].node), &(yyloc)); >+@@ -10663,11 +10655,11 @@ yyreduce: >+ $$ = rb_assoc_new(get_value($$), get_value($3)); >+ %*/ >+ } >+-#line 10663 "parse.c" /* yacc.c:1646 */ >++#line 10655 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 589: >+-#line 4851 "parse.y" /* yacc.c:1646 */ >++#line 4843 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -10675,11 +10667,11 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 10675 "parse.c" /* yacc.c:1646 */ >++#line 10667 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 590: >+-#line 4859 "parse.y" /* yacc.c:1646 */ >++#line 4851 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = opt_arg_append((yyvsp[-2].node), (yyvsp[0].node)); >+@@ -10687,11 +10679,11 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10687 "parse.c" /* yacc.c:1646 */ >++#line 10679 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 591: >+-#line 4869 "parse.y" /* yacc.c:1646 */ >++#line 4861 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[0].node); >+@@ -10699,11 +10691,11 @@ yyreduce: >+ $$ = rb_ary_new3(1, get_value($1)); >+ %*/ >+ } >+-#line 10699 "parse.c" /* yacc.c:1646 */ >++#line 10691 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 592: >+-#line 4877 "parse.y" /* yacc.c:1646 */ >++#line 4869 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = opt_arg_append((yyvsp[-2].node), (yyvsp[0].node)); >+@@ -10711,11 +10703,11 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10711 "parse.c" /* yacc.c:1646 */ >++#line 10703 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 595: >+-#line 4891 "parse.y" /* yacc.c:1646 */ >++#line 4883 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (!is_local_id((yyvsp[0].id))) >+@@ -10728,11 +10720,11 @@ yyreduce: >+ $$ = dispatch1(rest_param, $2); >+ %*/ >+ } >+-#line 10728 "parse.c" /* yacc.c:1646 */ >++#line 10720 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 596: >+-#line 4904 "parse.y" /* yacc.c:1646 */ >++#line 4896 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.id) = internal_id(); >+@@ -10741,11 +10733,11 @@ yyreduce: >+ $$ = dispatch1(rest_param, Qnil); >+ %*/ >+ } >+-#line 10741 "parse.c" /* yacc.c:1646 */ >++#line 10733 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 599: >+-#line 4919 "parse.y" /* yacc.c:1646 */ >++#line 4911 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (!is_local_id((yyvsp[0].id))) >+@@ -10760,19 +10752,19 @@ yyreduce: >+ $$ = dispatch1(blockarg, $2); >+ %*/ >+ } >+-#line 10760 "parse.c" /* yacc.c:1646 */ >++#line 10752 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 600: >+-#line 4936 "parse.y" /* yacc.c:1646 */ >++#line 4928 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.id) = (yyvsp[0].id); >+ } >+-#line 10768 "parse.c" /* yacc.c:1646 */ >++#line 10760 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 601: >+-#line 4940 "parse.y" /* yacc.c:1646 */ >++#line 4932 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.id) = 0; >+@@ -10780,11 +10772,11 @@ yyreduce: >+ $$ = Qundef; >+ %*/ >+ } >+-#line 10780 "parse.c" /* yacc.c:1646 */ >++#line 10772 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 602: >+-#line 4950 "parse.y" /* yacc.c:1646 */ >++#line 4942 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ value_expr((yyvsp[0].node)); >+@@ -10794,17 +10786,17 @@ yyreduce: >+ $$ = $1; >+ %*/ >+ } >+-#line 10794 "parse.c" /* yacc.c:1646 */ >++#line 10786 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 603: >+-#line 4959 "parse.y" /* yacc.c:1646 */ >++#line 4951 "parse.y" /* yacc.c:1646 */ >+ {SET_LEX_STATE(EXPR_BEG);} >+-#line 10800 "parse.c" /* yacc.c:1646 */ >++#line 10792 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 604: >+-#line 4960 "parse.y" /* yacc.c:1646 */ >++#line 4952 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if ((yyvsp[-1].node) == 0) { >+@@ -10832,11 +10824,11 @@ yyreduce: >+ $$ = dispatch1(paren, $3); >+ %*/ >+ } >+-#line 10832 "parse.c" /* yacc.c:1646 */ >++#line 10824 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 606: >+-#line 4991 "parse.y" /* yacc.c:1646 */ >++#line 4983 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = (yyvsp[-1].node); >+@@ -10844,11 +10836,11 @@ yyreduce: >+ $$ = dispatch1(assoclist_from_args, $1); >+ %*/ >+ } >+-#line 10844 "parse.c" /* yacc.c:1646 */ >++#line 10836 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 608: >+-#line 5008 "parse.y" /* yacc.c:1646 */ >++#line 5000 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ NODE *assocs = (yyvsp[-2].node); >+@@ -10870,11 +10862,11 @@ yyreduce: >+ $$ = rb_ary_push($1, get_value($3)); >+ %*/ >+ } >+-#line 10870 "parse.c" /* yacc.c:1646 */ >++#line 10862 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 609: >+-#line 5032 "parse.y" /* yacc.c:1646 */ >++#line 5024 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (nd_type((yyvsp[-2].node)) == NODE_STR) { >+@@ -10886,11 +10878,11 @@ yyreduce: >+ $$ = dispatch2(assoc_new, $1, $3); >+ %*/ >+ } >+-#line 10886 "parse.c" /* yacc.c:1646 */ >++#line 10878 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 610: >+-#line 5044 "parse.y" /* yacc.c:1646 */ >++#line 5036 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ (yyval.node) = list_append(new_list(new_lit(ID2SYM((yyvsp[-1].id)), &(yylsp[-1])), &(yyloc)), (yyvsp[0].node)); >+@@ -10898,11 +10890,11 @@ yyreduce: >+ $$ = dispatch2(assoc_new, $1, $2); >+ %*/ >+ } >+-#line 10898 "parse.c" /* yacc.c:1646 */ >++#line 10890 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 611: >+-#line 5052 "parse.y" /* yacc.c:1646 */ >++#line 5044 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ YYLTYPE location; >+@@ -10913,11 +10905,11 @@ yyreduce: >+ $$ = dispatch2(assoc_new, dispatch1(dyna_symbol, $2), $4); >+ %*/ >+ } >+-#line 10913 "parse.c" /* yacc.c:1646 */ >++#line 10905 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 612: >+-#line 5063 "parse.y" /* yacc.c:1646 */ >++#line 5055 "parse.y" /* yacc.c:1646 */ >+ { >+ /*%%%*/ >+ if (nd_type((yyvsp[0].node)) == NODE_HASH && >+@@ -10929,61 +10921,61 @@ yyreduce: >+ $$ = dispatch1(assoc_splat, $2); >+ %*/ >+ } >+-#line 10929 "parse.c" /* yacc.c:1646 */ >++#line 10921 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 625: >+-#line 5097 "parse.y" /* yacc.c:1646 */ >++#line 5089 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.id) = TOKEN2VAL('.'); >+ } >+-#line 10937 "parse.c" /* yacc.c:1646 */ >++#line 10929 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 626: >+-#line 5101 "parse.y" /* yacc.c:1646 */ >++#line 5093 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.id) = ID2VAL(idANDDOT); >+ } >+-#line 10945 "parse.c" /* yacc.c:1646 */ >++#line 10937 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 628: >+-#line 5108 "parse.y" /* yacc.c:1646 */ >++#line 5100 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.id) = ID2VAL(idCOLON2); >+ } >+-#line 10953 "parse.c" /* yacc.c:1646 */ >++#line 10945 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 638: >+-#line 5132 "parse.y" /* yacc.c:1646 */ >++#line 5124 "parse.y" /* yacc.c:1646 */ >+ {yyerrok;token_flush(parser);} >+-#line 10959 "parse.c" /* yacc.c:1646 */ >++#line 10951 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 639: >+-#line 5133 "parse.y" /* yacc.c:1646 */ >++#line 5125 "parse.y" /* yacc.c:1646 */ >+ {token_flush(parser);} >+-#line 10965 "parse.c" /* yacc.c:1646 */ >++#line 10957 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 641: >+-#line 5137 "parse.y" /* yacc.c:1646 */ >++#line 5129 "parse.y" /* yacc.c:1646 */ >+ {yyerrok;} >+-#line 10971 "parse.c" /* yacc.c:1646 */ >++#line 10963 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ case 642: >+-#line 5141 "parse.y" /* yacc.c:1646 */ >++#line 5133 "parse.y" /* yacc.c:1646 */ >+ { >+ (yyval.node) = Qnull; >+ } >+-#line 10979 "parse.c" /* yacc.c:1646 */ >++#line 10971 "parse.c" /* yacc.c:1646 */ >+ break; >+ >+ >+-#line 10983 "parse.c" /* yacc.c:1646 */ >++#line 10975 "parse.c" /* yacc.c:1646 */ >+ default: break; >+ } >+ /* User semantic actions sometimes alter yychar, and that requires >+@@ -11218,7 +11210,7 @@ yyreturn: >+ #endif >+ return yyresult; >+ } >+-#line 5145 "parse.y" /* yacc.c:1906 */ >++#line 5137 "parse.y" /* yacc.c:1906 */ >+ >+ # undef parser >+ # undef yylex >+@@ -16034,11 +16026,13 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ #ifdef RIPPER >+ ID id = get_id(lhs); >+ # define assignable_result(x) (lhs) >++# define assignable_error() (lhs) >+ # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs)) >+ #else >+ # define assignable_result(x) assignable_result0(x, location) >++# define assignable_error() new_begin(0, location) >+ #endif >+- if (!id) return assignable_result(0); >++ if (!id) return assignable_error(); >+ switch (id) { >+ case keyword_self: >+ yyerror0("Can't change the value of self"); >+@@ -16101,7 +16095,7 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id)); >+ } >+ error: >+- return assignable_result(0); >++ return assignable_error(); >+ #undef assignable_result >+ #undef parser_yyerror >+ } >diff --git a/lang/ruby25/files/patch-parse.y b/lang/ruby25/files/patch-parse.y >new file mode 100644 >index 000000000000..d5eb28423d51 >--- /dev/null >+++ b/lang/ruby25/files/patch-parse.y >@@ -0,0 +1,45 @@ >+--- parse.y.orig 2017-12-21 06:52:15 UTC >++++ parse.y >+@@ -1983,18 +1983,10 @@ mlhs_node : user_variable >+ lhs : user_variable >+ { >+ $$ = assignable(var_field($1), 0, &@$); >+- /*%%%*/ >+- if (!$$) $$ = new_begin(0, &@$); >+- /*% >+- %*/ >+ } >+ | keyword_variable >+ { >+ $$ = assignable(var_field($1), 0, &@$); >+- /*%%%*/ >+- if (!$$) $$ = new_begin(0, &@$); >+- /*% >+- %*/ >+ } >+ | primary_value '[' opt_call_args rbracket >+ { >+@@ -9957,11 +9949,13 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ #ifdef RIPPER >+ ID id = get_id(lhs); >+ # define assignable_result(x) (lhs) >++# define assignable_error() (lhs) >+ # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs)) >+ #else >+ # define assignable_result(x) assignable_result0(x, location) >++# define assignable_error() new_begin(0, location) >+ #endif >+- if (!id) return assignable_result(0); >++ if (!id) return assignable_error(); >+ switch (id) { >+ case keyword_self: >+ yyerror0("Can't change the value of self"); >+@@ -10024,7 +10018,7 @@ assignable_gen(struct parser_params *parser, ID id, NO >+ compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id)); >+ } >+ error: >+- return assignable_result(0); >++ return assignable_error(); >+ #undef assignable_result >+ #undef parser_yyerror >+ } >diff --git a/lang/ruby25/files/patch-test_ruby_test__parse.rb b/lang/ruby25/files/patch-test_ruby_test__parse.rb >new file mode 100644 >index 000000000000..ad238a625dde >--- /dev/null >+++ b/lang/ruby25/files/patch-test_ruby_test__parse.rb >@@ -0,0 +1,15 @@ >+--- test/ruby/test_parse.rb.orig 2017-12-20 00:09:51 UTC >++++ test/ruby/test_parse.rb >+@@ -746,6 +746,12 @@ x = __ENCODING__ >+ end >+ END >+ end >++ assert_raise(SyntaxError) do >++ eval "#{<<~"begin;"}\n#{<<~'end;'}", nil, __FILE__, __LINE__+1 >++ begin; >++ x, true >++ end; >++ end >+ end >+ >+ def test_block_dup >-- >2.16.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 225470
: 190116