View | Details | Raw Unified | Return to bug 227055 | Differences between
and this patch

Collapse All | Expand All

(-)Mk/bsd.ruby.mk (-4 / +4 lines)
Lines 154-160 Link Here
154
#
154
#
155
# Ruby 2.3
155
# Ruby 2.3
156
#
156
#
157
RUBY_RELVERSION=	2.3.6
157
RUBY_RELVERSION=	2.3.7
158
RUBY_PORTREVISION=	0
158
RUBY_PORTREVISION=	0
159
RUBY_PORTEPOCH=		1
159
RUBY_PORTEPOCH=		1
160
RUBY_PATCHLEVEL=	0
160
RUBY_PATCHLEVEL=	0
Lines 164-170 Link Here
164
#
164
#
165
# Ruby 2.4
165
# Ruby 2.4
166
#
166
#
167
RUBY_RELVERSION=	2.4.3
167
RUBY_RELVERSION=	2.4.4
168
RUBY_PORTREVISION=	0
168
RUBY_PORTREVISION=	0
169
RUBY_PORTEPOCH=		1
169
RUBY_PORTEPOCH=		1
170
RUBY_PATCHLEVEL=	0
170
RUBY_PATCHLEVEL=	0
Lines 174-181 Link Here
174
#
174
#
175
# Ruby 2.5
175
# Ruby 2.5
176
#
176
#
177
RUBY_RELVERSION=	2.5.0
177
RUBY_RELVERSION=	2.5.1
178
RUBY_PORTREVISION=	1
178
RUBY_PORTREVISION=	0
179
RUBY_PORTEPOCH=		1
179
RUBY_PORTEPOCH=		1
180
RUBY_PATCHLEVEL=	0
180
RUBY_PATCHLEVEL=	0
181
RUBY25=			""	# PLIST_SUB helpers
181
RUBY25=			""	# PLIST_SUB helpers
(-)lang/ruby23/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1513293503
1
TIMESTAMP = 1522265918
2
SHA256 (ruby/ruby-2.3.6.tar.xz) = e0d969ac22d4a403c1204868bb9c0d068aa35045bb3934cf50b17b7f66059f56
2
SHA256 (ruby/ruby-2.3.7.tar.xz) = c61f8f2b9d3ffff5567e186421fa191f0d5e7c2b189b426bb84498825d548edb
3
SIZE (ruby/ruby-2.3.6.tar.xz) = 11445628
3
SIZE (ruby/ruby-2.3.7.tar.xz) = 11438124
(-)lang/ruby23/pkg-plist (+6 lines)
Lines 7467-7472 Link Here
7467
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7467
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7468
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7468
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7469
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7469
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7470
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/strict_oct-c.ri
7470
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7471
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7471
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7472
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7472
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
7473
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
Lines 7541-7548 Link Here
7541
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7542
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7542
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7543
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7543
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7544
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7545
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/mkdir_p_safe-i.ri
7544
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7546
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7545
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7547
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7548
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/realpath-i.ri
7546
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7549
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7547
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7550
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7548
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
7551
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
Lines 17578-17585 Link Here
17578
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPRequest/user-i.ri
17581
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPRequest/user-i.ri
17579
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17582
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17580
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17583
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17584
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/ChunkedWrapper/cdesc-ChunkedWrapper.ri
17585
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/InvalidHeader/cdesc-InvalidHeader.ri
17581
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17586
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17582
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17587
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17588
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/check_header-i.ri
17583
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17589
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17584
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17590
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17585
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri
17591
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri
(-)lang/ruby24/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1513291404
1
TIMESTAMP = 1522266011
2
SHA256 (ruby/ruby-2.4.3.tar.xz) = 23677d40bf3b7621ba64593c978df40b1e026d8653c74a0599f0ead78ed92b51
2
SHA256 (ruby/ruby-2.4.4.tar.xz) = 1d0034071d675193ca769f64c91827e5f54cb3a7962316a41d5217c7bc6949f0
3
SIZE (ruby/ruby-2.4.3.tar.xz) = 10040072
3
SIZE (ruby/ruby-2.4.4.tar.xz) = 10049304
(-)lang/ruby24/pkg-plist (-2 / +8 lines)
Lines 7548-7553 Link Here
7548
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7548
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7549
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7549
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7550
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7550
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7551
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/strict_oct-c.ri
7551
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7552
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7552
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7553
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7553
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
7554
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
Lines 7622-7629 Link Here
7622
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7623
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7623
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7624
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7624
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7625
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7626
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/mkdir_p_safe-i.ri
7625
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7627
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7626
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7628
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7629
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/realpath-i.ri
7627
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7630
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7628
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7631
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7629
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
7632
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
Lines 11540-11545 Link Here
11540
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/debug-c.ri
11543
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/debug-c.ri
11541
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/errors-c.ri
11544
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/errors-c.ri
11542
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/fips_mode%3d-c.ri
11545
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/fips_mode%3d-c.ri
11546
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/mem_check_start-c.ri
11547
%%RDOC%%%%RUBY_RIDIR%%/OpenSSL/print_mem_leaks-c.ri
11543
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%3d%3d-i.ri
11548
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%3d%3d-i.ri
11544
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%5b%5d%3d-i.ri
11549
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%5b%5d%3d-i.ri
11545
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%5b%5d-i.ri
11550
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/%5b%5d-i.ri
Lines 11551-11563 Link Here
11551
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/eql%3f-i.ri
11556
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/eql%3f-i.ri
11552
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/freeze-i.ri
11557
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/freeze-i.ri
11553
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/hash-i.ri
11558
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/hash-i.ri
11554
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/initialize_copy-i.ri
11555
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/inspect-i.ri
11559
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/inspect-i.ri
11556
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/json_create-c.ri
11560
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/json_create-c.ri
11557
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/marshal_dump-i.ri
11561
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/marshal_dump-i.ri
11558
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/marshal_load-i.ri
11562
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/marshal_load-i.ri
11559
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/new-c.ri
11563
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/new-c.ri
11560
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/respond_to_missing%3f-i.ri
11561
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_h-i.ri
11564
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_h-i.ri
11562
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_json-i.ri
11565
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_json-i.ri
11563
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_s-i.ri
11566
%%RDOC%%%%RUBY_RIDIR%%/OpenStruct/to_s-i.ri
Lines 17117-17124 Link Here
17117
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPRequest/user-i.ri
17120
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPRequest/user-i.ri
17118
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17121
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17119
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17122
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17123
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/ChunkedWrapper/cdesc-ChunkedWrapper.ri
17124
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/InvalidHeader/cdesc-InvalidHeader.ri
17120
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17125
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17121
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17126
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17127
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/check_header-i.ri
17122
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17128
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17123
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17129
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17124
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri
17130
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri
(-)lang/ruby25/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1514299252
1
TIMESTAMP = 1522266037
2
SHA256 (ruby/ruby-2.5.0.tar.xz) = 1da0afed833a0dab94075221a615c14487b05d0c407f991c8080d576d985b49b
2
SHA256 (ruby/ruby-2.5.1.tar.xz) = 886ac5eed41e3b5fc699be837b0087a6a5a3d10f464087560d2d21b3e71b754d
3
SIZE (ruby/ruby-2.5.0.tar.xz) = 11292472
3
SIZE (ruby/ruby-2.5.1.tar.xz) = 11348108
(-)lang/ruby25/files/patch-ext_ripper_ripper.c (-5011 lines)
Lines 1-5011 Link Here
1
--- ext/ripper/ripper.c.orig	2017-12-25 07:00:33 UTC
2
+++ ext/ripper/ripper.c
3
@@ -1564,61 +1564,61 @@ static const yytype_uint16 yyrline[] =
4
     1735,  1744,  1753,  1762,  1773,  1774,  1784,  1785,  1795,  1803,
5
     1811,  1819,  1828,  1836,  1845,  1853,  1862,  1870,  1881,  1882,
6
     1892,  1900,  1910,  1918,  1928,  1932,  1936,  1944,  1952,  1960,
7
-    1968,  1972,  1976,  1983,  1991,  1999,  2007,  2015,  2023,  2031,
8
-    2035,  2039,  2046,  2055,  2058,  2067,  2076,  2087,  2088,  2089,
9
-    2090,  2095,  2102,  2103,  2106,  2114,  2117,  2125,  2125,  2136,
10
-    2137,  2138,  2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,
11
-    2147,  2148,  2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,
12
-    2157,  2158,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2168,
13
-    2168,  2168,  2169,  2169,  2170,  2170,  2170,  2171,  2171,  2171,
14
-    2171,  2172,  2172,  2172,  2172,  2173,  2173,  2173,  2174,  2174,
15
-    2174,  2174,  2175,  2175,  2175,  2175,  2176,  2176,  2176,  2176,
16
-    2177,  2177,  2177,  2177,  2178,  2178,  2178,  2178,  2179,  2179,
17
-    2182,  2186,  2190,  2218,  2223,  2228,  2233,  2244,  2249,  2254,
18
-    2265,  2276,  2280,  2284,  2288,  2292,  2296,  2300,  2304,  2308,
19
-    2312,  2316,  2320,  2324,  2328,  2329,  2333,  2337,  2341,  2345,
20
-    2349,  2353,  2357,  2361,  2365,  2369,  2373,  2373,  2378,  2388,
21
-    2394,  2395,  2396,  2397,  2400,  2404,  2411,  2423,  2424,  2428,
22
-    2436,  2446,  2454,  2468,  2478,  2479,  2482,  2483,  2484,  2488,
23
-    2496,  2506,  2515,  2523,  2533,  2542,  2551,  2551,  2563,  2574,
24
-    2578,  2584,  2592,  2601,  2615,  2631,  2632,  2635,  2649,  2664,
25
-    2675,  2676,  2677,  2678,  2679,  2680,  2681,  2682,  2683,  2684,
26
-    2685,  2694,  2693,  2720,  2720,  2729,  2733,  2728,  2742,  2750,
27
-    2759,  2768,  2776,  2785,  2794,  2802,  2811,  2820,  2820,  2825,
28
-    2829,  2833,  2844,  2845,  2856,  2860,  2872,  2884,  2884,  2884,
29
-    2896,  2896,  2896,  2908,  2920,  2931,  2933,  2930,  2984,  2983,
30
-    3011,  3010,  3035,  3034,  3062,  3067,  3061,  3090,  3091,  3090,
31
-    3118,  3127,  3136,  3145,  3156,  3168,  3174,  3180,  3186,  3192,
32
-    3198,  3208,  3214,  3220,  3226,  3236,  3242,  3249,  3254,  3255,
33
-    3262,  3267,  3270,  3271,  3284,  3285,  3295,  3296,  3299,  3306,
34
-    3316,  3324,  3334,  3342,  3351,  3361,  3369,  3378,  3387,  3397,
35
-    3405,  3417,  3421,  3425,  3429,  3435,  3440,  3445,  3449,  3453,
36
-    3457,  3461,  3465,  3473,  3477,  3481,  3485,  3489,  3493,  3497,
37
-    3501,  3505,  3511,  3512,  3518,  3528,  3537,  3549,  3553,  3563,
38
-    3570,  3579,  3587,  3593,  3596,  3601,  3604,  3593,  3625,  3633,
39
-    3639,  3644,  3651,  3650,  3667,  3684,  3688,  3701,  3716,  3727,
40
-    3726,  3738,  3737,  3748,  3753,  3752,  3764,  3763,  3774,  3783,
41
-    3792,  3807,  3806,  3822,  3821,  3838,  3839,  3838,  3848,  3849,
42
-    3848,  3858,  3871,  3872,  3875,  3897,  3900,  3908,  3916,  3919,
43
-    3923,  3926,  3934,  3937,  3938,  3946,  3949,  3966,  3973,  3974,
44
-    3984,  3994,  4000,  4006,  4017,  4024,  4034,  4042,  4052,  4063,
45
-    4070,  4088,  4098,  4109,  4116,  4128,  4135,  4151,  4158,  4169,
46
-    4176,  4187,  4194,  4235,  4243,  4242,  4260,  4266,  4271,  4275,
47
-    4279,  4259,  4301,  4309,  4317,  4326,  4329,  4340,  4341,  4342,
48
-    4343,  4346,  4357,  4358,  4369,  4376,  4383,  4390,  4399,  4400,
49
-    4401,  4402,  4403,  4406,  4407,  4408,  4409,  4410,  4411,  4412,
50
-    4415,  4428,  4438,  4442,  4448,  4455,  4465,  4464,  4474,  4483,
51
-    4493,  4493,  4507,  4511,  4515,  4519,  4525,  4530,  4535,  4539,
52
-    4543,  4547,  4551,  4555,  4559,  4563,  4567,  4571,  4575,  4579,
53
-    4583,  4587,  4592,  4598,  4608,  4618,  4628,  4640,  4641,  4648,
54
-    4657,  4666,  4691,  4698,  4712,  4721,  4731,  4743,  4752,  4763,
55
-    4771,  4782,  4790,  4800,  4801,  4804,  4813,  4824,  4837,  4850,
56
-    4858,  4868,  4876,  4886,  4887,  4890,  4903,  4914,  4915,  4918,
57
-    4935,  4939,  4949,  4959,  4959,  4989,  4990,  5000,  5007,  5031,
58
-    5043,  5051,  5062,  5076,  5077,  5078,  5081,  5082,  5083,  5084,
59
-    5087,  5088,  5089,  5092,  5093,  5096,  5100,  5106,  5107,  5113,
60
-    5114,  5117,  5118,  5121,  5124,  5127,  5128,  5129,  5132,  5133,
61
-    5136,  5137,  5141
62
+    1968,  1972,  1976,  1983,  1987,  1991,  1999,  2007,  2015,  2023,
63
+    2027,  2031,  2038,  2047,  2050,  2059,  2068,  2079,  2080,  2081,
64
+    2082,  2087,  2094,  2095,  2098,  2106,  2109,  2117,  2117,  2128,
65
+    2129,  2130,  2131,  2132,  2133,  2134,  2135,  2136,  2137,  2138,
66
+    2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,  2147,  2148,
67
+    2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2160,
68
+    2160,  2160,  2161,  2161,  2162,  2162,  2162,  2163,  2163,  2163,
69
+    2163,  2164,  2164,  2164,  2164,  2165,  2165,  2165,  2166,  2166,
70
+    2166,  2166,  2167,  2167,  2167,  2167,  2168,  2168,  2168,  2168,
71
+    2169,  2169,  2169,  2169,  2170,  2170,  2170,  2170,  2171,  2171,
72
+    2174,  2178,  2182,  2210,  2215,  2220,  2225,  2236,  2241,  2246,
73
+    2257,  2268,  2272,  2276,  2280,  2284,  2288,  2292,  2296,  2300,
74
+    2304,  2308,  2312,  2316,  2320,  2321,  2325,  2329,  2333,  2337,
75
+    2341,  2345,  2349,  2353,  2357,  2361,  2365,  2365,  2370,  2380,
76
+    2386,  2387,  2388,  2389,  2392,  2396,  2403,  2415,  2416,  2420,
77
+    2428,  2438,  2446,  2460,  2470,  2471,  2474,  2475,  2476,  2480,
78
+    2488,  2498,  2507,  2515,  2525,  2534,  2543,  2543,  2555,  2566,
79
+    2570,  2576,  2584,  2593,  2607,  2623,  2624,  2627,  2641,  2656,
80
+    2667,  2668,  2669,  2670,  2671,  2672,  2673,  2674,  2675,  2676,
81
+    2677,  2686,  2685,  2712,  2712,  2721,  2725,  2720,  2734,  2742,
82
+    2751,  2760,  2768,  2777,  2786,  2794,  2803,  2812,  2812,  2817,
83
+    2821,  2825,  2836,  2837,  2848,  2852,  2864,  2876,  2876,  2876,
84
+    2888,  2888,  2888,  2900,  2912,  2923,  2925,  2922,  2976,  2975,
85
+    3003,  3002,  3027,  3026,  3054,  3059,  3053,  3082,  3083,  3082,
86
+    3110,  3119,  3128,  3137,  3148,  3160,  3166,  3172,  3178,  3184,
87
+    3190,  3200,  3206,  3212,  3218,  3228,  3234,  3241,  3246,  3247,
88
+    3254,  3259,  3262,  3263,  3276,  3277,  3287,  3288,  3291,  3298,
89
+    3308,  3316,  3326,  3334,  3343,  3353,  3361,  3370,  3379,  3389,
90
+    3397,  3409,  3413,  3417,  3421,  3427,  3432,  3437,  3441,  3445,
91
+    3449,  3453,  3457,  3465,  3469,  3473,  3477,  3481,  3485,  3489,
92
+    3493,  3497,  3503,  3504,  3510,  3520,  3529,  3541,  3545,  3555,
93
+    3562,  3571,  3579,  3585,  3588,  3593,  3596,  3585,  3617,  3625,
94
+    3631,  3636,  3643,  3642,  3659,  3676,  3680,  3693,  3708,  3719,
95
+    3718,  3730,  3729,  3740,  3745,  3744,  3756,  3755,  3766,  3775,
96
+    3784,  3799,  3798,  3814,  3813,  3830,  3831,  3830,  3840,  3841,
97
+    3840,  3850,  3863,  3864,  3867,  3889,  3892,  3900,  3908,  3911,
98
+    3915,  3918,  3926,  3929,  3930,  3938,  3941,  3958,  3965,  3966,
99
+    3976,  3986,  3992,  3998,  4009,  4016,  4026,  4034,  4044,  4055,
100
+    4062,  4080,  4090,  4101,  4108,  4120,  4127,  4143,  4150,  4161,
101
+    4168,  4179,  4186,  4227,  4235,  4234,  4252,  4258,  4263,  4267,
102
+    4271,  4251,  4293,  4301,  4309,  4318,  4321,  4332,  4333,  4334,
103
+    4335,  4338,  4349,  4350,  4361,  4368,  4375,  4382,  4391,  4392,
104
+    4393,  4394,  4395,  4398,  4399,  4400,  4401,  4402,  4403,  4404,
105
+    4407,  4420,  4430,  4434,  4440,  4447,  4457,  4456,  4466,  4475,
106
+    4485,  4485,  4499,  4503,  4507,  4511,  4517,  4522,  4527,  4531,
107
+    4535,  4539,  4543,  4547,  4551,  4555,  4559,  4563,  4567,  4571,
108
+    4575,  4579,  4584,  4590,  4600,  4610,  4620,  4632,  4633,  4640,
109
+    4649,  4658,  4683,  4690,  4704,  4713,  4723,  4735,  4744,  4755,
110
+    4763,  4774,  4782,  4792,  4793,  4796,  4805,  4816,  4829,  4842,
111
+    4850,  4860,  4868,  4878,  4879,  4882,  4895,  4906,  4907,  4910,
112
+    4927,  4931,  4941,  4951,  4951,  4981,  4982,  4992,  4999,  5023,
113
+    5035,  5043,  5054,  5068,  5069,  5070,  5073,  5074,  5075,  5076,
114
+    5079,  5080,  5081,  5084,  5085,  5088,  5092,  5098,  5099,  5105,
115
+    5106,  5109,  5110,  5113,  5116,  5119,  5120,  5121,  5124,  5125,
116
+    5128,  5129,  5133
117
 };
118
 #endif
119
 
120
@@ -6590,28 +6590,20 @@ yyreduce:
121
 #line 1984 "ripper.y" /* yacc.c:1646  */
122
     {
123
 			(yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc));
124
-#if 0
125
-			if (!(yyval.val)) (yyval.val) = new_begin(0, &(yyloc));
126
-#endif
127
-
128
 		    }
129
-#line 6595 "ripper.c" /* yacc.c:1646  */
130
+#line 6591 "ripper.c" /* yacc.c:1646  */
131
     break;
132
 
133
   case 104:
134
-#line 1992 "ripper.y" /* yacc.c:1646  */
135
+#line 1988 "ripper.y" /* yacc.c:1646  */
136
     {
137
 			(yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc));
138
-#if 0
139
-			if (!(yyval.val)) (yyval.val) = new_begin(0, &(yyloc));
140
-#endif
141
-
142
 		    }
143
-#line 6607 "ripper.c" /* yacc.c:1646  */
144
+#line 6599 "ripper.c" /* yacc.c:1646  */
145
     break;
146
 
147
   case 105:
148
-#line 2000 "ripper.y" /* yacc.c:1646  */
149
+#line 1992 "ripper.y" /* yacc.c:1646  */
150
     {
151
 #if 0
152
 			(yyval.val) = aryset((yyvsp[-3].val), (yyvsp[-1].val), &(yyloc));
153
@@ -6619,11 +6611,11 @@ yyreduce:
154
 			(yyval.val) = dispatch2(aref_field, (yyvsp[-3].val), escape_Qundef((yyvsp[-1].val)));
155
 
156
 		    }
157
-#line 6619 "ripper.c" /* yacc.c:1646  */
158
+#line 6611 "ripper.c" /* yacc.c:1646  */
159
     break;
160
 
161
   case 106:
162
-#line 2008 "ripper.y" /* yacc.c:1646  */
163
+#line 2000 "ripper.y" /* yacc.c:1646  */
164
     {
165
 #if 0
166
 			(yyval.val) = attrset((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
167
@@ -6631,11 +6623,11 @@ yyreduce:
168
 			(yyval.val) = dispatch3(field, (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val));
169
 
170
 		    }
171
-#line 6631 "ripper.c" /* yacc.c:1646  */
172
+#line 6623 "ripper.c" /* yacc.c:1646  */
173
     break;
174
 
175
   case 107:
176
-#line 2016 "ripper.y" /* yacc.c:1646  */
177
+#line 2008 "ripper.y" /* yacc.c:1646  */
178
     {
179
 #if 0
180
 			(yyval.val) = attrset((yyvsp[-2].val), idCOLON2, (yyvsp[0].val), &(yyloc));
181
@@ -6643,11 +6635,11 @@ yyreduce:
182
 			(yyval.val) = dispatch3(field, (yyvsp[-2].val), ID2VAL(idCOLON2), (yyvsp[0].val));
183
 
184
 		    }
185
-#line 6643 "ripper.c" /* yacc.c:1646  */
186
+#line 6635 "ripper.c" /* yacc.c:1646  */
187
     break;
188
 
189
   case 108:
190
-#line 2024 "ripper.y" /* yacc.c:1646  */
191
+#line 2016 "ripper.y" /* yacc.c:1646  */
192
     {
193
 #if 0
194
 			(yyval.val) = attrset((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
195
@@ -6655,36 +6647,36 @@ yyreduce:
196
 			(yyval.val) = dispatch3(field, (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val));
197
 
198
 		    }
199
-#line 6655 "ripper.c" /* yacc.c:1646  */
200
+#line 6647 "ripper.c" /* yacc.c:1646  */
201
     break;
202
 
203
   case 109:
204
-#line 2032 "ripper.y" /* yacc.c:1646  */
205
+#line 2024 "ripper.y" /* yacc.c:1646  */
206
     {
207
 			(yyval.val) = const_decl(const_path_field((yyvsp[-2].val), (yyvsp[0].val), &(yyloc)), &(yyloc));
208
 		    }
209
-#line 6663 "ripper.c" /* yacc.c:1646  */
210
+#line 6655 "ripper.c" /* yacc.c:1646  */
211
     break;
212
 
213
   case 110:
214
-#line 2036 "ripper.y" /* yacc.c:1646  */
215
+#line 2028 "ripper.y" /* yacc.c:1646  */
216
     {
217
 			(yyval.val) = const_decl(top_const_field((yyvsp[0].val)), &(yyloc));
218
 		    }
219
-#line 6671 "ripper.c" /* yacc.c:1646  */
220
+#line 6663 "ripper.c" /* yacc.c:1646  */
221
     break;
222
 
223
   case 111:
224
-#line 2040 "ripper.y" /* yacc.c:1646  */
225
+#line 2032 "ripper.y" /* yacc.c:1646  */
226
     {
227
 			(yyvsp[0].val) = var_field((yyvsp[0].val));
228
 			(yyval.val) = backref_assign_error((yyvsp[0].val), (yyvsp[0].val), &(yyloc));
229
 		    }
230
-#line 6680 "ripper.c" /* yacc.c:1646  */
231
+#line 6672 "ripper.c" /* yacc.c:1646  */
232
     break;
233
 
234
   case 112:
235
-#line 2047 "ripper.y" /* yacc.c:1646  */
236
+#line 2039 "ripper.y" /* yacc.c:1646  */
237
     {
238
 #if 0
239
 			yyerror0("class/module name must be CONSTANT");
240
@@ -6693,11 +6685,11 @@ yyreduce:
241
 			ripper_error();
242
 
243
 		    }
244
-#line 6693 "ripper.c" /* yacc.c:1646  */
245
+#line 6685 "ripper.c" /* yacc.c:1646  */
246
     break;
247
 
248
   case 114:
249
-#line 2059 "ripper.y" /* yacc.c:1646  */
250
+#line 2051 "ripper.y" /* yacc.c:1646  */
251
     {
252
 #if 0
253
 			(yyval.val) = NEW_COLON3((yyvsp[0].val));
254
@@ -6706,11 +6698,11 @@ yyreduce:
255
 			(yyval.val) = dispatch1(top_const_ref, (yyvsp[0].val));
256
 
257
 		    }
258
-#line 6706 "ripper.c" /* yacc.c:1646  */
259
+#line 6698 "ripper.c" /* yacc.c:1646  */
260
     break;
261
 
262
   case 115:
263
-#line 2068 "ripper.y" /* yacc.c:1646  */
264
+#line 2060 "ripper.y" /* yacc.c:1646  */
265
     {
266
 #if 0
267
 			(yyval.val) = NEW_COLON2(0, (yyval.val));
268
@@ -6719,11 +6711,11 @@ yyreduce:
269
 			(yyval.val) = dispatch1(const_ref, (yyvsp[0].val));
270
 
271
 		    }
272
-#line 6719 "ripper.c" /* yacc.c:1646  */
273
+#line 6711 "ripper.c" /* yacc.c:1646  */
274
     break;
275
 
276
   case 116:
277
-#line 2077 "ripper.y" /* yacc.c:1646  */
278
+#line 2069 "ripper.y" /* yacc.c:1646  */
279
     {
280
 #if 0
281
 			(yyval.val) = NEW_COLON2((yyvsp[-2].val), (yyvsp[0].val));
282
@@ -6732,29 +6724,29 @@ yyreduce:
283
 			(yyval.val) = dispatch2(const_path_ref, (yyvsp[-2].val), (yyvsp[0].val));
284
 
285
 		    }
286
-#line 6732 "ripper.c" /* yacc.c:1646  */
287
+#line 6724 "ripper.c" /* yacc.c:1646  */
288
     break;
289
 
290
   case 120:
291
-#line 2091 "ripper.y" /* yacc.c:1646  */
292
+#line 2083 "ripper.y" /* yacc.c:1646  */
293
     {
294
 			SET_LEX_STATE(EXPR_ENDFN);
295
 			(yyval.val) = (yyvsp[0].val);
296
 		    }
297
-#line 6741 "ripper.c" /* yacc.c:1646  */
298
+#line 6733 "ripper.c" /* yacc.c:1646  */
299
     break;
300
 
301
   case 121:
302
-#line 2096 "ripper.y" /* yacc.c:1646  */
303
+#line 2088 "ripper.y" /* yacc.c:1646  */
304
     {
305
 			SET_LEX_STATE(EXPR_ENDFN);
306
 			(yyval.val) = (yyvsp[0].val);
307
 		    }
308
-#line 6750 "ripper.c" /* yacc.c:1646  */
309
+#line 6742 "ripper.c" /* yacc.c:1646  */
310
     break;
311
 
312
   case 124:
313
-#line 2107 "ripper.y" /* yacc.c:1646  */
314
+#line 2099 "ripper.y" /* yacc.c:1646  */
315
     {
316
 #if 0
317
 			(yyval.val) = new_lit(ID2SYM((yyvsp[0].val)), &(yyloc));
318
@@ -6762,11 +6754,11 @@ yyreduce:
319
 			(yyval.val) = dispatch1(symbol_literal, (yyvsp[0].val));
320
 
321
 		    }
322
-#line 6762 "ripper.c" /* yacc.c:1646  */
323
+#line 6754 "ripper.c" /* yacc.c:1646  */
324
     break;
325
 
326
   case 126:
327
-#line 2118 "ripper.y" /* yacc.c:1646  */
328
+#line 2110 "ripper.y" /* yacc.c:1646  */
329
     {
330
 #if 0
331
 			(yyval.val) = new_undef((yyvsp[0].val), &(yyloc));
332
@@ -6774,17 +6766,17 @@ yyreduce:
333
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
334
 
335
 		    }
336
-#line 6774 "ripper.c" /* yacc.c:1646  */
337
+#line 6766 "ripper.c" /* yacc.c:1646  */
338
     break;
339
 
340
   case 127:
341
-#line 2125 "ripper.y" /* yacc.c:1646  */
342
+#line 2117 "ripper.y" /* yacc.c:1646  */
343
     {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);}
344
-#line 6780 "ripper.c" /* yacc.c:1646  */
345
+#line 6772 "ripper.c" /* yacc.c:1646  */
346
     break;
347
 
348
   case 128:
349
-#line 2126 "ripper.y" /* yacc.c:1646  */
350
+#line 2118 "ripper.y" /* yacc.c:1646  */
351
     {
352
 #if 0
353
 			NODE *undef = new_undef((yyvsp[0].val), &(yyloc));
354
@@ -6793,207 +6785,207 @@ yyreduce:
355
 			rb_ary_push((yyvsp[-3].val), get_value((yyvsp[0].val)));
356
 
357
 		    }
358
-#line 6793 "ripper.c" /* yacc.c:1646  */
359
+#line 6785 "ripper.c" /* yacc.c:1646  */
360
     break;
361
 
362
   case 129:
363
-#line 2136 "ripper.y" /* yacc.c:1646  */
364
+#line 2128 "ripper.y" /* yacc.c:1646  */
365
     { ifndef_ripper((yyval.val) = '|'); }
366
-#line 6799 "ripper.c" /* yacc.c:1646  */
367
+#line 6791 "ripper.c" /* yacc.c:1646  */
368
     break;
369
 
370
   case 130:
371
-#line 2137 "ripper.y" /* yacc.c:1646  */
372
+#line 2129 "ripper.y" /* yacc.c:1646  */
373
     { ifndef_ripper((yyval.val) = '^'); }
374
-#line 6805 "ripper.c" /* yacc.c:1646  */
375
+#line 6797 "ripper.c" /* yacc.c:1646  */
376
     break;
377
 
378
   case 131:
379
-#line 2138 "ripper.y" /* yacc.c:1646  */
380
+#line 2130 "ripper.y" /* yacc.c:1646  */
381
     { ifndef_ripper((yyval.val) = '&'); }
382
-#line 6811 "ripper.c" /* yacc.c:1646  */
383
+#line 6803 "ripper.c" /* yacc.c:1646  */
384
     break;
385
 
386
   case 132:
387
-#line 2139 "ripper.y" /* yacc.c:1646  */
388
+#line 2131 "ripper.y" /* yacc.c:1646  */
389
     { ifndef_ripper((yyval.val) = tCMP); }
390
-#line 6817 "ripper.c" /* yacc.c:1646  */
391
+#line 6809 "ripper.c" /* yacc.c:1646  */
392
     break;
393
 
394
   case 133:
395
-#line 2140 "ripper.y" /* yacc.c:1646  */
396
+#line 2132 "ripper.y" /* yacc.c:1646  */
397
     { ifndef_ripper((yyval.val) = tEQ); }
398
-#line 6823 "ripper.c" /* yacc.c:1646  */
399
+#line 6815 "ripper.c" /* yacc.c:1646  */
400
     break;
401
 
402
   case 134:
403
-#line 2141 "ripper.y" /* yacc.c:1646  */
404
+#line 2133 "ripper.y" /* yacc.c:1646  */
405
     { ifndef_ripper((yyval.val) = tEQQ); }
406
-#line 6829 "ripper.c" /* yacc.c:1646  */
407
+#line 6821 "ripper.c" /* yacc.c:1646  */
408
     break;
409
 
410
   case 135:
411
-#line 2142 "ripper.y" /* yacc.c:1646  */
412
+#line 2134 "ripper.y" /* yacc.c:1646  */
413
     { ifndef_ripper((yyval.val) = tMATCH); }
414
-#line 6835 "ripper.c" /* yacc.c:1646  */
415
+#line 6827 "ripper.c" /* yacc.c:1646  */
416
     break;
417
 
418
   case 136:
419
-#line 2143 "ripper.y" /* yacc.c:1646  */
420
+#line 2135 "ripper.y" /* yacc.c:1646  */
421
     { ifndef_ripper((yyval.val) = tNMATCH); }
422
-#line 6841 "ripper.c" /* yacc.c:1646  */
423
+#line 6833 "ripper.c" /* yacc.c:1646  */
424
     break;
425
 
426
   case 137:
427
-#line 2144 "ripper.y" /* yacc.c:1646  */
428
+#line 2136 "ripper.y" /* yacc.c:1646  */
429
     { ifndef_ripper((yyval.val) = '>'); }
430
-#line 6847 "ripper.c" /* yacc.c:1646  */
431
+#line 6839 "ripper.c" /* yacc.c:1646  */
432
     break;
433
 
434
   case 138:
435
-#line 2145 "ripper.y" /* yacc.c:1646  */
436
+#line 2137 "ripper.y" /* yacc.c:1646  */
437
     { ifndef_ripper((yyval.val) = tGEQ); }
438
-#line 6853 "ripper.c" /* yacc.c:1646  */
439
+#line 6845 "ripper.c" /* yacc.c:1646  */
440
     break;
441
 
442
   case 139:
443
-#line 2146 "ripper.y" /* yacc.c:1646  */
444
+#line 2138 "ripper.y" /* yacc.c:1646  */
445
     { ifndef_ripper((yyval.val) = '<'); }
446
-#line 6859 "ripper.c" /* yacc.c:1646  */
447
+#line 6851 "ripper.c" /* yacc.c:1646  */
448
     break;
449
 
450
   case 140:
451
-#line 2147 "ripper.y" /* yacc.c:1646  */
452
+#line 2139 "ripper.y" /* yacc.c:1646  */
453
     { ifndef_ripper((yyval.val) = tLEQ); }
454
-#line 6865 "ripper.c" /* yacc.c:1646  */
455
+#line 6857 "ripper.c" /* yacc.c:1646  */
456
     break;
457
 
458
   case 141:
459
-#line 2148 "ripper.y" /* yacc.c:1646  */
460
+#line 2140 "ripper.y" /* yacc.c:1646  */
461
     { ifndef_ripper((yyval.val) = tNEQ); }
462
-#line 6871 "ripper.c" /* yacc.c:1646  */
463
+#line 6863 "ripper.c" /* yacc.c:1646  */
464
     break;
465
 
466
   case 142:
467
-#line 2149 "ripper.y" /* yacc.c:1646  */
468
+#line 2141 "ripper.y" /* yacc.c:1646  */
469
     { ifndef_ripper((yyval.val) = tLSHFT); }
470
-#line 6877 "ripper.c" /* yacc.c:1646  */
471
+#line 6869 "ripper.c" /* yacc.c:1646  */
472
     break;
473
 
474
   case 143:
475
-#line 2150 "ripper.y" /* yacc.c:1646  */
476
+#line 2142 "ripper.y" /* yacc.c:1646  */
477
     { ifndef_ripper((yyval.val) = tRSHFT); }
478
-#line 6883 "ripper.c" /* yacc.c:1646  */
479
+#line 6875 "ripper.c" /* yacc.c:1646  */
480
     break;
481
 
482
   case 144:
483
-#line 2151 "ripper.y" /* yacc.c:1646  */
484
+#line 2143 "ripper.y" /* yacc.c:1646  */
485
     { ifndef_ripper((yyval.val) = '+'); }
486
-#line 6889 "ripper.c" /* yacc.c:1646  */
487
+#line 6881 "ripper.c" /* yacc.c:1646  */
488
     break;
489
 
490
   case 145:
491
-#line 2152 "ripper.y" /* yacc.c:1646  */
492
+#line 2144 "ripper.y" /* yacc.c:1646  */
493
     { ifndef_ripper((yyval.val) = '-'); }
494
-#line 6895 "ripper.c" /* yacc.c:1646  */
495
+#line 6887 "ripper.c" /* yacc.c:1646  */
496
     break;
497
 
498
   case 146:
499
-#line 2153 "ripper.y" /* yacc.c:1646  */
500
+#line 2145 "ripper.y" /* yacc.c:1646  */
501
     { ifndef_ripper((yyval.val) = '*'); }
502
-#line 6901 "ripper.c" /* yacc.c:1646  */
503
+#line 6893 "ripper.c" /* yacc.c:1646  */
504
     break;
505
 
506
   case 147:
507
-#line 2154 "ripper.y" /* yacc.c:1646  */
508
+#line 2146 "ripper.y" /* yacc.c:1646  */
509
     { ifndef_ripper((yyval.val) = '*'); }
510
-#line 6907 "ripper.c" /* yacc.c:1646  */
511
+#line 6899 "ripper.c" /* yacc.c:1646  */
512
     break;
513
 
514
   case 148:
515
-#line 2155 "ripper.y" /* yacc.c:1646  */
516
+#line 2147 "ripper.y" /* yacc.c:1646  */
517
     { ifndef_ripper((yyval.val) = '/'); }
518
-#line 6913 "ripper.c" /* yacc.c:1646  */
519
+#line 6905 "ripper.c" /* yacc.c:1646  */
520
     break;
521
 
522
   case 149:
523
-#line 2156 "ripper.y" /* yacc.c:1646  */
524
+#line 2148 "ripper.y" /* yacc.c:1646  */
525
     { ifndef_ripper((yyval.val) = '%'); }
526
-#line 6919 "ripper.c" /* yacc.c:1646  */
527
+#line 6911 "ripper.c" /* yacc.c:1646  */
528
     break;
529
 
530
   case 150:
531
-#line 2157 "ripper.y" /* yacc.c:1646  */
532
+#line 2149 "ripper.y" /* yacc.c:1646  */
533
     { ifndef_ripper((yyval.val) = tPOW); }
534
-#line 6925 "ripper.c" /* yacc.c:1646  */
535
+#line 6917 "ripper.c" /* yacc.c:1646  */
536
     break;
537
 
538
   case 151:
539
-#line 2158 "ripper.y" /* yacc.c:1646  */
540
+#line 2150 "ripper.y" /* yacc.c:1646  */
541
     { ifndef_ripper((yyval.val) = tDSTAR); }
542
-#line 6931 "ripper.c" /* yacc.c:1646  */
543
+#line 6923 "ripper.c" /* yacc.c:1646  */
544
     break;
545
 
546
   case 152:
547
-#line 2159 "ripper.y" /* yacc.c:1646  */
548
+#line 2151 "ripper.y" /* yacc.c:1646  */
549
     { ifndef_ripper((yyval.val) = '!'); }
550
-#line 6937 "ripper.c" /* yacc.c:1646  */
551
+#line 6929 "ripper.c" /* yacc.c:1646  */
552
     break;
553
 
554
   case 153:
555
-#line 2160 "ripper.y" /* yacc.c:1646  */
556
+#line 2152 "ripper.y" /* yacc.c:1646  */
557
     { ifndef_ripper((yyval.val) = '~'); }
558
-#line 6943 "ripper.c" /* yacc.c:1646  */
559
+#line 6935 "ripper.c" /* yacc.c:1646  */
560
     break;
561
 
562
   case 154:
563
-#line 2161 "ripper.y" /* yacc.c:1646  */
564
+#line 2153 "ripper.y" /* yacc.c:1646  */
565
     { ifndef_ripper((yyval.val) = tUPLUS); }
566
-#line 6949 "ripper.c" /* yacc.c:1646  */
567
+#line 6941 "ripper.c" /* yacc.c:1646  */
568
     break;
569
 
570
   case 155:
571
-#line 2162 "ripper.y" /* yacc.c:1646  */
572
+#line 2154 "ripper.y" /* yacc.c:1646  */
573
     { ifndef_ripper((yyval.val) = tUMINUS); }
574
-#line 6955 "ripper.c" /* yacc.c:1646  */
575
+#line 6947 "ripper.c" /* yacc.c:1646  */
576
     break;
577
 
578
   case 156:
579
-#line 2163 "ripper.y" /* yacc.c:1646  */
580
+#line 2155 "ripper.y" /* yacc.c:1646  */
581
     { ifndef_ripper((yyval.val) = tAREF); }
582
-#line 6961 "ripper.c" /* yacc.c:1646  */
583
+#line 6953 "ripper.c" /* yacc.c:1646  */
584
     break;
585
 
586
   case 157:
587
-#line 2164 "ripper.y" /* yacc.c:1646  */
588
+#line 2156 "ripper.y" /* yacc.c:1646  */
589
     { ifndef_ripper((yyval.val) = tASET); }
590
-#line 6967 "ripper.c" /* yacc.c:1646  */
591
+#line 6959 "ripper.c" /* yacc.c:1646  */
592
     break;
593
 
594
   case 158:
595
-#line 2165 "ripper.y" /* yacc.c:1646  */
596
+#line 2157 "ripper.y" /* yacc.c:1646  */
597
     { ifndef_ripper((yyval.val) = '`'); }
598
-#line 6973 "ripper.c" /* yacc.c:1646  */
599
+#line 6965 "ripper.c" /* yacc.c:1646  */
600
     break;
601
 
602
   case 200:
603
-#line 2183 "ripper.y" /* yacc.c:1646  */
604
+#line 2175 "ripper.y" /* yacc.c:1646  */
605
     {
606
 			(yyval.val) = node_assign((yyvsp[-2].val), (yyvsp[0].val), &(yyloc));
607
 		    }
608
-#line 6981 "ripper.c" /* yacc.c:1646  */
609
+#line 6973 "ripper.c" /* yacc.c:1646  */
610
     break;
611
 
612
   case 201:
613
-#line 2187 "ripper.y" /* yacc.c:1646  */
614
+#line 2179 "ripper.y" /* yacc.c:1646  */
615
     {
616
 			(yyval.val) = new_op_assign((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
617
 		    }
618
-#line 6989 "ripper.c" /* yacc.c:1646  */
619
+#line 6981 "ripper.c" /* yacc.c:1646  */
620
     break;
621
 
622
   case 202:
623
-#line 2191 "ripper.y" /* yacc.c:1646  */
624
+#line 2183 "ripper.y" /* yacc.c:1646  */
625
     {
626
 #if 0
627
 			NODE *args;
628
@@ -7021,38 +7013,38 @@ yyreduce:
629
 			(yyval.val) = dispatch3(opassign, (yyvsp[-5].val), (yyvsp[-1].val), (yyvsp[0].val));
630
 
631
 		    }
632
-#line 7021 "ripper.c" /* yacc.c:1646  */
633
+#line 7013 "ripper.c" /* yacc.c:1646  */
634
     break;
635
 
636
   case 203:
637
-#line 2219 "ripper.y" /* yacc.c:1646  */
638
+#line 2211 "ripper.y" /* yacc.c:1646  */
639
     {
640
 			value_expr((yyvsp[0].val));
641
 			(yyval.val) = new_attr_op_assign((yyvsp[-4].val), (yyvsp[-3].val), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
642
 		    }
643
-#line 7030 "ripper.c" /* yacc.c:1646  */
644
+#line 7022 "ripper.c" /* yacc.c:1646  */
645
     break;
646
 
647
   case 204:
648
-#line 2224 "ripper.y" /* yacc.c:1646  */
649
+#line 2216 "ripper.y" /* yacc.c:1646  */
650
     {
651
 			value_expr((yyvsp[0].val));
652
 			(yyval.val) = new_attr_op_assign((yyvsp[-4].val), (yyvsp[-3].val), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
653
 		    }
654
-#line 7039 "ripper.c" /* yacc.c:1646  */
655
+#line 7031 "ripper.c" /* yacc.c:1646  */
656
     break;
657
 
658
   case 205:
659
-#line 2229 "ripper.y" /* yacc.c:1646  */
660
+#line 2221 "ripper.y" /* yacc.c:1646  */
661
     {
662
 			value_expr((yyvsp[0].val));
663
 			(yyval.val) = new_attr_op_assign((yyvsp[-4].val), ID2VAL(idCOLON2), (yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
664
 		    }
665
-#line 7048 "ripper.c" /* yacc.c:1646  */
666
+#line 7040 "ripper.c" /* yacc.c:1646  */
667
     break;
668
 
669
   case 206:
670
-#line 2234 "ripper.y" /* yacc.c:1646  */
671
+#line 2226 "ripper.y" /* yacc.c:1646  */
672
     {
673
 #if 0
674
 			YYLTYPE location;
675
@@ -7063,29 +7055,29 @@ yyreduce:
676
 			(yyval.val) = const_path_field((yyvsp[-4].val), (yyvsp[-2].val), &location);
677
 			(yyval.val) = new_const_op_assign((yyval.val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
678
 		    }
679
-#line 7063 "ripper.c" /* yacc.c:1646  */
680
+#line 7055 "ripper.c" /* yacc.c:1646  */
681
     break;
682
 
683
   case 207:
684
-#line 2245 "ripper.y" /* yacc.c:1646  */
685
+#line 2237 "ripper.y" /* yacc.c:1646  */
686
     {
687
 			(yyval.val) = top_const_field((yyvsp[-2].val));
688
 			(yyval.val) = new_const_op_assign((yyval.val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
689
 		    }
690
-#line 7072 "ripper.c" /* yacc.c:1646  */
691
+#line 7064 "ripper.c" /* yacc.c:1646  */
692
     break;
693
 
694
   case 208:
695
-#line 2250 "ripper.y" /* yacc.c:1646  */
696
+#line 2242 "ripper.y" /* yacc.c:1646  */
697
     {
698
 			(yyvsp[-2].val) = var_field((yyvsp[-2].val));
699
 			(yyval.val) = backref_assign_error((yyvsp[-2].val), new_op_assign((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc)), &(yyloc));
700
 		    }
701
-#line 7081 "ripper.c" /* yacc.c:1646  */
702
+#line 7073 "ripper.c" /* yacc.c:1646  */
703
     break;
704
 
705
   case 209:
706
-#line 2255 "ripper.y" /* yacc.c:1646  */
707
+#line 2247 "ripper.y" /* yacc.c:1646  */
708
     {
709
 #if 0
710
 			value_expr((yyvsp[-2].val));
711
@@ -7096,11 +7088,11 @@ yyreduce:
712
 			(yyval.val) = dispatch2(dot2, (yyvsp[-2].val), (yyvsp[0].val));
713
 
714
 		    }
715
-#line 7096 "ripper.c" /* yacc.c:1646  */
716
+#line 7088 "ripper.c" /* yacc.c:1646  */
717
     break;
718
 
719
   case 210:
720
-#line 2266 "ripper.y" /* yacc.c:1646  */
721
+#line 2258 "ripper.y" /* yacc.c:1646  */
722
     {
723
 #if 0
724
 			value_expr((yyvsp[-2].val));
725
@@ -7111,218 +7103,218 @@ yyreduce:
726
 			(yyval.val) = dispatch2(dot3, (yyvsp[-2].val), (yyvsp[0].val));
727
 
728
 		    }
729
-#line 7111 "ripper.c" /* yacc.c:1646  */
730
+#line 7103 "ripper.c" /* yacc.c:1646  */
731
     break;
732
 
733
   case 211:
734
-#line 2277 "ripper.y" /* yacc.c:1646  */
735
+#line 2269 "ripper.y" /* yacc.c:1646  */
736
     {
737
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '+', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
738
 		    }
739
-#line 7119 "ripper.c" /* yacc.c:1646  */
740
+#line 7111 "ripper.c" /* yacc.c:1646  */
741
     break;
742
 
743
   case 212:
744
-#line 2281 "ripper.y" /* yacc.c:1646  */
745
+#line 2273 "ripper.y" /* yacc.c:1646  */
746
     {
747
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '-', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
748
 		    }
749
-#line 7127 "ripper.c" /* yacc.c:1646  */
750
+#line 7119 "ripper.c" /* yacc.c:1646  */
751
     break;
752
 
753
   case 213:
754
-#line 2285 "ripper.y" /* yacc.c:1646  */
755
+#line 2277 "ripper.y" /* yacc.c:1646  */
756
     {
757
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '*', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
758
 		    }
759
-#line 7135 "ripper.c" /* yacc.c:1646  */
760
+#line 7127 "ripper.c" /* yacc.c:1646  */
761
     break;
762
 
763
   case 214:
764
-#line 2289 "ripper.y" /* yacc.c:1646  */
765
+#line 2281 "ripper.y" /* yacc.c:1646  */
766
     {
767
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '/', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
768
 		    }
769
-#line 7143 "ripper.c" /* yacc.c:1646  */
770
+#line 7135 "ripper.c" /* yacc.c:1646  */
771
     break;
772
 
773
   case 215:
774
-#line 2293 "ripper.y" /* yacc.c:1646  */
775
+#line 2285 "ripper.y" /* yacc.c:1646  */
776
     {
777
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '%', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
778
 		    }
779
-#line 7151 "ripper.c" /* yacc.c:1646  */
780
+#line 7143 "ripper.c" /* yacc.c:1646  */
781
     break;
782
 
783
   case 216:
784
-#line 2297 "ripper.y" /* yacc.c:1646  */
785
+#line 2289 "ripper.y" /* yacc.c:1646  */
786
     {
787
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idPow, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
788
 		    }
789
-#line 7159 "ripper.c" /* yacc.c:1646  */
790
+#line 7151 "ripper.c" /* yacc.c:1646  */
791
     break;
792
 
793
   case 217:
794
-#line 2301 "ripper.y" /* yacc.c:1646  */
795
+#line 2293 "ripper.y" /* yacc.c:1646  */
796
     {
797
 			(yyval.val) = call_uni_op(call_bin_op((yyvsp[-2].val), idPow, (yyvsp[0].val), &(yylsp[-2]), &(yyloc)), idUMinus, &(yylsp[-3]), &(yyloc));
798
 		    }
799
-#line 7167 "ripper.c" /* yacc.c:1646  */
800
+#line 7159 "ripper.c" /* yacc.c:1646  */
801
     break;
802
 
803
   case 218:
804
-#line 2305 "ripper.y" /* yacc.c:1646  */
805
+#line 2297 "ripper.y" /* yacc.c:1646  */
806
     {
807
 			(yyval.val) = call_uni_op((yyvsp[0].val), idUPlus, &(yylsp[-1]), &(yyloc));
808
 		    }
809
-#line 7175 "ripper.c" /* yacc.c:1646  */
810
+#line 7167 "ripper.c" /* yacc.c:1646  */
811
     break;
812
 
813
   case 219:
814
-#line 2309 "ripper.y" /* yacc.c:1646  */
815
+#line 2301 "ripper.y" /* yacc.c:1646  */
816
     {
817
 			(yyval.val) = call_uni_op((yyvsp[0].val), idUMinus, &(yylsp[-1]), &(yyloc));
818
 		    }
819
-#line 7183 "ripper.c" /* yacc.c:1646  */
820
+#line 7175 "ripper.c" /* yacc.c:1646  */
821
     break;
822
 
823
   case 220:
824
-#line 2313 "ripper.y" /* yacc.c:1646  */
825
+#line 2305 "ripper.y" /* yacc.c:1646  */
826
     {
827
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '|', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
828
 		    }
829
-#line 7191 "ripper.c" /* yacc.c:1646  */
830
+#line 7183 "ripper.c" /* yacc.c:1646  */
831
     break;
832
 
833
   case 221:
834
-#line 2317 "ripper.y" /* yacc.c:1646  */
835
+#line 2309 "ripper.y" /* yacc.c:1646  */
836
     {
837
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '^', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
838
 		    }
839
-#line 7199 "ripper.c" /* yacc.c:1646  */
840
+#line 7191 "ripper.c" /* yacc.c:1646  */
841
     break;
842
 
843
   case 222:
844
-#line 2321 "ripper.y" /* yacc.c:1646  */
845
+#line 2313 "ripper.y" /* yacc.c:1646  */
846
     {
847
 			(yyval.val) = call_bin_op((yyvsp[-2].val), '&', (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
848
 		    }
849
-#line 7207 "ripper.c" /* yacc.c:1646  */
850
+#line 7199 "ripper.c" /* yacc.c:1646  */
851
     break;
852
 
853
   case 223:
854
-#line 2325 "ripper.y" /* yacc.c:1646  */
855
+#line 2317 "ripper.y" /* yacc.c:1646  */
856
     {
857
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idCmp, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
858
 		    }
859
-#line 7215 "ripper.c" /* yacc.c:1646  */
860
+#line 7207 "ripper.c" /* yacc.c:1646  */
861
     break;
862
 
863
   case 225:
864
-#line 2330 "ripper.y" /* yacc.c:1646  */
865
+#line 2322 "ripper.y" /* yacc.c:1646  */
866
     {
867
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idEq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
868
 		    }
869
-#line 7223 "ripper.c" /* yacc.c:1646  */
870
+#line 7215 "ripper.c" /* yacc.c:1646  */
871
     break;
872
 
873
   case 226:
874
-#line 2334 "ripper.y" /* yacc.c:1646  */
875
+#line 2326 "ripper.y" /* yacc.c:1646  */
876
     {
877
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idEqq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
878
 		    }
879
-#line 7231 "ripper.c" /* yacc.c:1646  */
880
+#line 7223 "ripper.c" /* yacc.c:1646  */
881
     break;
882
 
883
   case 227:
884
-#line 2338 "ripper.y" /* yacc.c:1646  */
885
+#line 2330 "ripper.y" /* yacc.c:1646  */
886
     {
887
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idNeq, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
888
 		    }
889
-#line 7239 "ripper.c" /* yacc.c:1646  */
890
+#line 7231 "ripper.c" /* yacc.c:1646  */
891
     break;
892
 
893
   case 228:
894
-#line 2342 "ripper.y" /* yacc.c:1646  */
895
+#line 2334 "ripper.y" /* yacc.c:1646  */
896
     {
897
 			(yyval.val) = match_op((yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
898
 		    }
899
-#line 7247 "ripper.c" /* yacc.c:1646  */
900
+#line 7239 "ripper.c" /* yacc.c:1646  */
901
     break;
902
 
903
   case 229:
904
-#line 2346 "ripper.y" /* yacc.c:1646  */
905
+#line 2338 "ripper.y" /* yacc.c:1646  */
906
     {
907
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idNeqTilde, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
908
 		    }
909
-#line 7255 "ripper.c" /* yacc.c:1646  */
910
+#line 7247 "ripper.c" /* yacc.c:1646  */
911
     break;
912
 
913
   case 230:
914
-#line 2350 "ripper.y" /* yacc.c:1646  */
915
+#line 2342 "ripper.y" /* yacc.c:1646  */
916
     {
917
 			(yyval.val) = call_uni_op(method_cond((yyvsp[0].val), &(yylsp[0])), '!', &(yylsp[-1]), &(yyloc));
918
 		    }
919
-#line 7263 "ripper.c" /* yacc.c:1646  */
920
+#line 7255 "ripper.c" /* yacc.c:1646  */
921
     break;
922
 
923
   case 231:
924
-#line 2354 "ripper.y" /* yacc.c:1646  */
925
+#line 2346 "ripper.y" /* yacc.c:1646  */
926
     {
927
 			(yyval.val) = call_uni_op((yyvsp[0].val), '~', &(yylsp[-1]), &(yyloc));
928
 		    }
929
-#line 7271 "ripper.c" /* yacc.c:1646  */
930
+#line 7263 "ripper.c" /* yacc.c:1646  */
931
     break;
932
 
933
   case 232:
934
-#line 2358 "ripper.y" /* yacc.c:1646  */
935
+#line 2350 "ripper.y" /* yacc.c:1646  */
936
     {
937
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idLTLT, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
938
 		    }
939
-#line 7279 "ripper.c" /* yacc.c:1646  */
940
+#line 7271 "ripper.c" /* yacc.c:1646  */
941
     break;
942
 
943
   case 233:
944
-#line 2362 "ripper.y" /* yacc.c:1646  */
945
+#line 2354 "ripper.y" /* yacc.c:1646  */
946
     {
947
 			(yyval.val) = call_bin_op((yyvsp[-2].val), idGTGT, (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
948
 		    }
949
-#line 7287 "ripper.c" /* yacc.c:1646  */
950
+#line 7279 "ripper.c" /* yacc.c:1646  */
951
     break;
952
 
953
   case 234:
954
-#line 2366 "ripper.y" /* yacc.c:1646  */
955
+#line 2358 "ripper.y" /* yacc.c:1646  */
956
     {
957
 			(yyval.val) = logop(idANDOP, (yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
958
 		    }
959
-#line 7295 "ripper.c" /* yacc.c:1646  */
960
+#line 7287 "ripper.c" /* yacc.c:1646  */
961
     break;
962
 
963
   case 235:
964
-#line 2370 "ripper.y" /* yacc.c:1646  */
965
+#line 2362 "ripper.y" /* yacc.c:1646  */
966
     {
967
 			(yyval.val) = logop(idOROP, (yyvsp[-2].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
968
 		    }
969
-#line 7303 "ripper.c" /* yacc.c:1646  */
970
+#line 7295 "ripper.c" /* yacc.c:1646  */
971
     break;
972
 
973
   case 236:
974
-#line 2373 "ripper.y" /* yacc.c:1646  */
975
+#line 2365 "ripper.y" /* yacc.c:1646  */
976
     {in_defined = 1;}
977
-#line 7309 "ripper.c" /* yacc.c:1646  */
978
+#line 7301 "ripper.c" /* yacc.c:1646  */
979
     break;
980
 
981
   case 237:
982
-#line 2374 "ripper.y" /* yacc.c:1646  */
983
+#line 2366 "ripper.y" /* yacc.c:1646  */
984
     {
985
 			in_defined = 0;
986
 			(yyval.val) = new_defined((yyvsp[0].val), &(yyloc));
987
 		    }
988
-#line 7318 "ripper.c" /* yacc.c:1646  */
989
+#line 7310 "ripper.c" /* yacc.c:1646  */
990
     break;
991
 
992
   case 238:
993
-#line 2379 "ripper.y" /* yacc.c:1646  */
994
+#line 2371 "ripper.y" /* yacc.c:1646  */
995
     {
996
 #if 0
997
 			value_expr((yyvsp[-5].val));
998
@@ -7332,60 +7324,60 @@ yyreduce:
999
 			(yyval.val) = dispatch3(ifop, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[0].val));
1000
 
1001
 		    }
1002
-#line 7332 "ripper.c" /* yacc.c:1646  */
1003
+#line 7324 "ripper.c" /* yacc.c:1646  */
1004
     break;
1005
 
1006
   case 239:
1007
-#line 2389 "ripper.y" /* yacc.c:1646  */
1008
+#line 2381 "ripper.y" /* yacc.c:1646  */
1009
     {
1010
 			(yyval.val) = (yyvsp[0].val);
1011
 		    }
1012
-#line 7340 "ripper.c" /* yacc.c:1646  */
1013
+#line 7332 "ripper.c" /* yacc.c:1646  */
1014
     break;
1015
 
1016
   case 240:
1017
-#line 2394 "ripper.y" /* yacc.c:1646  */
1018
+#line 2386 "ripper.y" /* yacc.c:1646  */
1019
     {(yyval.val) = '>';}
1020
-#line 7346 "ripper.c" /* yacc.c:1646  */
1021
+#line 7338 "ripper.c" /* yacc.c:1646  */
1022
     break;
1023
 
1024
   case 241:
1025
-#line 2395 "ripper.y" /* yacc.c:1646  */
1026
+#line 2387 "ripper.y" /* yacc.c:1646  */
1027
     {(yyval.val) = '<';}
1028
-#line 7352 "ripper.c" /* yacc.c:1646  */
1029
+#line 7344 "ripper.c" /* yacc.c:1646  */
1030
     break;
1031
 
1032
   case 242:
1033
-#line 2396 "ripper.y" /* yacc.c:1646  */
1034
+#line 2388 "ripper.y" /* yacc.c:1646  */
1035
     {(yyval.val) = idGE;}
1036
-#line 7358 "ripper.c" /* yacc.c:1646  */
1037
+#line 7350 "ripper.c" /* yacc.c:1646  */
1038
     break;
1039
 
1040
   case 243:
1041
-#line 2397 "ripper.y" /* yacc.c:1646  */
1042
+#line 2389 "ripper.y" /* yacc.c:1646  */
1043
     {(yyval.val) = idLE;}
1044
-#line 7364 "ripper.c" /* yacc.c:1646  */
1045
+#line 7356 "ripper.c" /* yacc.c:1646  */
1046
     break;
1047
 
1048
   case 244:
1049
-#line 2401 "ripper.y" /* yacc.c:1646  */
1050
+#line 2393 "ripper.y" /* yacc.c:1646  */
1051
     {
1052
 			(yyval.val) = call_bin_op((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
1053
 		    }
1054
-#line 7372 "ripper.c" /* yacc.c:1646  */
1055
+#line 7364 "ripper.c" /* yacc.c:1646  */
1056
     break;
1057
 
1058
   case 245:
1059
-#line 2405 "ripper.y" /* yacc.c:1646  */
1060
+#line 2397 "ripper.y" /* yacc.c:1646  */
1061
     {
1062
 			rb_warning1("comparison '%s' after comparison", WARN_ID((yyvsp[-1].val)));
1063
 			(yyval.val) = call_bin_op((yyvsp[-2].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]), &(yyloc));
1064
 		    }
1065
-#line 7381 "ripper.c" /* yacc.c:1646  */
1066
+#line 7373 "ripper.c" /* yacc.c:1646  */
1067
     break;
1068
 
1069
   case 246:
1070
-#line 2412 "ripper.y" /* yacc.c:1646  */
1071
+#line 2404 "ripper.y" /* yacc.c:1646  */
1072
     {
1073
 #if 0
1074
 			value_expr((yyvsp[0].val));
1075
@@ -7395,19 +7387,19 @@ yyreduce:
1076
 			(yyval.val) = (yyvsp[0].val);
1077
 
1078
 		    }
1079
-#line 7395 "ripper.c" /* yacc.c:1646  */
1080
+#line 7387 "ripper.c" /* yacc.c:1646  */
1081
     break;
1082
 
1083
   case 248:
1084
-#line 2425 "ripper.y" /* yacc.c:1646  */
1085
+#line 2417 "ripper.y" /* yacc.c:1646  */
1086
     {
1087
 			(yyval.val) = (yyvsp[-1].val);
1088
 		    }
1089
-#line 7403 "ripper.c" /* yacc.c:1646  */
1090
+#line 7395 "ripper.c" /* yacc.c:1646  */
1091
     break;
1092
 
1093
   case 249:
1094
-#line 2429 "ripper.y" /* yacc.c:1646  */
1095
+#line 2421 "ripper.y" /* yacc.c:1646  */
1096
     {
1097
 #if 0
1098
 			(yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val);
1099
@@ -7415,11 +7407,11 @@ yyreduce:
1100
 			(yyval.val) = arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val));
1101
 
1102
 		    }
1103
-#line 7415 "ripper.c" /* yacc.c:1646  */
1104
+#line 7407 "ripper.c" /* yacc.c:1646  */
1105
     break;
1106
 
1107
   case 250:
1108
-#line 2437 "ripper.y" /* yacc.c:1646  */
1109
+#line 2429 "ripper.y" /* yacc.c:1646  */
1110
     {
1111
 #if 0
1112
 			(yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : 0;
1113
@@ -7427,11 +7419,11 @@ yyreduce:
1114
 			(yyval.val) = arg_add_assocs(arg_new(), (yyvsp[-1].val));
1115
 
1116
 		    }
1117
-#line 7427 "ripper.c" /* yacc.c:1646  */
1118
+#line 7419 "ripper.c" /* yacc.c:1646  */
1119
     break;
1120
 
1121
   case 251:
1122
-#line 2447 "ripper.y" /* yacc.c:1646  */
1123
+#line 2439 "ripper.y" /* yacc.c:1646  */
1124
     {
1125
 #if 0
1126
 			value_expr((yyvsp[0].val));
1127
@@ -7439,11 +7431,11 @@ yyreduce:
1128
 #endif
1129
 
1130
 		    }
1131
-#line 7439 "ripper.c" /* yacc.c:1646  */
1132
+#line 7431 "ripper.c" /* yacc.c:1646  */
1133
     break;
1134
 
1135
   case 252:
1136
-#line 2455 "ripper.y" /* yacc.c:1646  */
1137
+#line 2447 "ripper.y" /* yacc.c:1646  */
1138
     {
1139
 #if 0
1140
 			YYLTYPE location;
1141
@@ -7455,11 +7447,11 @@ yyreduce:
1142
 			(yyval.val) = dispatch2(rescue_mod, (yyvsp[-2].val), (yyvsp[0].val));
1143
 
1144
 		    }
1145
-#line 7455 "ripper.c" /* yacc.c:1646  */
1146
+#line 7447 "ripper.c" /* yacc.c:1646  */
1147
     break;
1148
 
1149
   case 253:
1150
-#line 2469 "ripper.y" /* yacc.c:1646  */
1151
+#line 2461 "ripper.y" /* yacc.c:1646  */
1152
     {
1153
 #if 0
1154
 			(yyval.val) = (yyvsp[-1].val);
1155
@@ -7467,19 +7459,19 @@ yyreduce:
1156
 			(yyval.val) = dispatch1(arg_paren, escape_Qundef((yyvsp[-1].val)));
1157
 
1158
 		    }
1159
-#line 7467 "ripper.c" /* yacc.c:1646  */
1160
+#line 7459 "ripper.c" /* yacc.c:1646  */
1161
     break;
1162
 
1163
   case 258:
1164
-#line 2485 "ripper.y" /* yacc.c:1646  */
1165
+#line 2477 "ripper.y" /* yacc.c:1646  */
1166
     {
1167
 		      (yyval.val) = (yyvsp[-1].val);
1168
 		    }
1169
-#line 7475 "ripper.c" /* yacc.c:1646  */
1170
+#line 7467 "ripper.c" /* yacc.c:1646  */
1171
     break;
1172
 
1173
   case 259:
1174
-#line 2489 "ripper.y" /* yacc.c:1646  */
1175
+#line 2481 "ripper.y" /* yacc.c:1646  */
1176
     {
1177
 #if 0
1178
 			(yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val);
1179
@@ -7487,11 +7479,11 @@ yyreduce:
1180
 			(yyval.val) = arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val));
1181
 
1182
 		    }
1183
-#line 7487 "ripper.c" /* yacc.c:1646  */
1184
+#line 7479 "ripper.c" /* yacc.c:1646  */
1185
     break;
1186
 
1187
   case 260:
1188
-#line 2497 "ripper.y" /* yacc.c:1646  */
1189
+#line 2489 "ripper.y" /* yacc.c:1646  */
1190
     {
1191
 #if 0
1192
 			(yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yylsp[-1])) : 0;
1193
@@ -7499,11 +7491,11 @@ yyreduce:
1194
 			(yyval.val) = arg_add_assocs(arg_new(), (yyvsp[-1].val));
1195
 
1196
 		    }
1197
-#line 7499 "ripper.c" /* yacc.c:1646  */
1198
+#line 7491 "ripper.c" /* yacc.c:1646  */
1199
     break;
1200
 
1201
   case 261:
1202
-#line 2507 "ripper.y" /* yacc.c:1646  */
1203
+#line 2499 "ripper.y" /* yacc.c:1646  */
1204
     {
1205
 #if 0
1206
 			value_expr((yyvsp[0].val));
1207
@@ -7512,11 +7504,11 @@ yyreduce:
1208
 			(yyval.val) = arg_add(arg_new(), (yyvsp[0].val));
1209
 
1210
 		    }
1211
-#line 7512 "ripper.c" /* yacc.c:1646  */
1212
+#line 7504 "ripper.c" /* yacc.c:1646  */
1213
     break;
1214
 
1215
   case 262:
1216
-#line 2516 "ripper.y" /* yacc.c:1646  */
1217
+#line 2508 "ripper.y" /* yacc.c:1646  */
1218
     {
1219
 #if 0
1220
 			(yyval.val) = arg_blk_pass((yyvsp[-1].val), (yyvsp[0].val));
1221
@@ -7524,11 +7516,11 @@ yyreduce:
1222
 			(yyval.val) = arg_add_optblock((yyvsp[-1].val), (yyvsp[0].val));
1223
 
1224
 		    }
1225
-#line 7524 "ripper.c" /* yacc.c:1646  */
1226
+#line 7516 "ripper.c" /* yacc.c:1646  */
1227
     break;
1228
 
1229
   case 263:
1230
-#line 2524 "ripper.y" /* yacc.c:1646  */
1231
+#line 2516 "ripper.y" /* yacc.c:1646  */
1232
     {
1233
 #if 0
1234
 			(yyval.val) = (yyvsp[-1].val) ? new_list(new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yylsp[-1])) : 0;
1235
@@ -7538,11 +7530,11 @@ yyreduce:
1236
 			(yyval.val) = arg_add_optblock((yyval.val), (yyvsp[0].val));
1237
 
1238
 		    }
1239
-#line 7538 "ripper.c" /* yacc.c:1646  */
1240
+#line 7530 "ripper.c" /* yacc.c:1646  */
1241
     break;
1242
 
1243
   case 264:
1244
-#line 2534 "ripper.y" /* yacc.c:1646  */
1245
+#line 2526 "ripper.y" /* yacc.c:1646  */
1246
     {
1247
 #if 0
1248
 			(yyval.val) = (yyvsp[-1].val) ? arg_append((yyvsp[-3].val), new_hash((yyvsp[-1].val), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].val);
1249
@@ -7551,38 +7543,38 @@ yyreduce:
1250
 			(yyval.val) = arg_add_optblock(arg_add_assocs((yyvsp[-3].val), (yyvsp[-1].val)), (yyvsp[0].val));
1251
 
1252
 		    }
1253
-#line 7551 "ripper.c" /* yacc.c:1646  */
1254
+#line 7543 "ripper.c" /* yacc.c:1646  */
1255
     break;
1256
 
1257
   case 265:
1258
-#line 2545 "ripper.y" /* yacc.c:1646  */
1259
+#line 2537 "ripper.y" /* yacc.c:1646  */
1260
     {
1261
 			(yyval.val) = arg_add_block(arg_new(), (yyvsp[0].val));
1262
 		    }
1263
-#line 7559 "ripper.c" /* yacc.c:1646  */
1264
+#line 7551 "ripper.c" /* yacc.c:1646  */
1265
     break;
1266
 
1267
   case 266:
1268
-#line 2551 "ripper.y" /* yacc.c:1646  */
1269
+#line 2543 "ripper.y" /* yacc.c:1646  */
1270
     {
1271
 			(yyval.val) = cmdarg_stack;
1272
 			CMDARG_PUSH(1);
1273
 		    }
1274
-#line 7568 "ripper.c" /* yacc.c:1646  */
1275
+#line 7560 "ripper.c" /* yacc.c:1646  */
1276
     break;
1277
 
1278
   case 267:
1279
-#line 2556 "ripper.y" /* yacc.c:1646  */
1280
+#line 2548 "ripper.y" /* yacc.c:1646  */
1281
     {
1282
 			/* CMDARG_POP() */
1283
 			CMDARG_SET((yyvsp[-1].val));
1284
 			(yyval.val) = (yyvsp[0].val);
1285
 		    }
1286
-#line 7578 "ripper.c" /* yacc.c:1646  */
1287
+#line 7570 "ripper.c" /* yacc.c:1646  */
1288
     break;
1289
 
1290
   case 268:
1291
-#line 2564 "ripper.y" /* yacc.c:1646  */
1292
+#line 2556 "ripper.y" /* yacc.c:1646  */
1293
     {
1294
 #if 0
1295
 			(yyval.val) = NEW_BLOCK_PASS((yyvsp[0].val));
1296
@@ -7591,27 +7583,27 @@ yyreduce:
1297
 			(yyval.val) = (yyvsp[0].val);
1298
 
1299
 		    }
1300
-#line 7591 "ripper.c" /* yacc.c:1646  */
1301
+#line 7583 "ripper.c" /* yacc.c:1646  */
1302
     break;
1303
 
1304
   case 269:
1305
-#line 2575 "ripper.y" /* yacc.c:1646  */
1306
+#line 2567 "ripper.y" /* yacc.c:1646  */
1307
     {
1308
 			(yyval.val) = (yyvsp[0].val);
1309
 		    }
1310
-#line 7599 "ripper.c" /* yacc.c:1646  */
1311
+#line 7591 "ripper.c" /* yacc.c:1646  */
1312
     break;
1313
 
1314
   case 270:
1315
-#line 2579 "ripper.y" /* yacc.c:1646  */
1316
+#line 2571 "ripper.y" /* yacc.c:1646  */
1317
     {
1318
 			(yyval.val) = 0;
1319
 		    }
1320
-#line 7607 "ripper.c" /* yacc.c:1646  */
1321
+#line 7599 "ripper.c" /* yacc.c:1646  */
1322
     break;
1323
 
1324
   case 271:
1325
-#line 2585 "ripper.y" /* yacc.c:1646  */
1326
+#line 2577 "ripper.y" /* yacc.c:1646  */
1327
     {
1328
 #if 0
1329
 			(yyval.val) = new_list((yyvsp[0].val), &(yyloc));
1330
@@ -7619,11 +7611,11 @@ yyreduce:
1331
 			(yyval.val) = arg_add(arg_new(), (yyvsp[0].val));
1332
 
1333
 		    }
1334
-#line 7619 "ripper.c" /* yacc.c:1646  */
1335
+#line 7611 "ripper.c" /* yacc.c:1646  */
1336
     break;
1337
 
1338
   case 272:
1339
-#line 2593 "ripper.y" /* yacc.c:1646  */
1340
+#line 2585 "ripper.y" /* yacc.c:1646  */
1341
     {
1342
 #if 0
1343
 			(yyval.val) = NEW_SPLAT((yyvsp[0].val));
1344
@@ -7632,11 +7624,11 @@ yyreduce:
1345
 			(yyval.val) = arg_add_star(arg_new(), (yyvsp[0].val));
1346
 
1347
 		    }
1348
-#line 7632 "ripper.c" /* yacc.c:1646  */
1349
+#line 7624 "ripper.c" /* yacc.c:1646  */
1350
     break;
1351
 
1352
   case 273:
1353
-#line 2602 "ripper.y" /* yacc.c:1646  */
1354
+#line 2594 "ripper.y" /* yacc.c:1646  */
1355
     {
1356
 #if 0
1357
 			NODE *n1;
1358
@@ -7650,11 +7642,11 @@ yyreduce:
1359
 			(yyval.val) = arg_add((yyvsp[-2].val), (yyvsp[0].val));
1360
 
1361
 		    }
1362
-#line 7650 "ripper.c" /* yacc.c:1646  */
1363
+#line 7642 "ripper.c" /* yacc.c:1646  */
1364
     break;
1365
 
1366
   case 274:
1367
-#line 2616 "ripper.y" /* yacc.c:1646  */
1368
+#line 2608 "ripper.y" /* yacc.c:1646  */
1369
     {
1370
 #if 0
1371
 			NODE *n1;
1372
@@ -7668,11 +7660,11 @@ yyreduce:
1373
 			(yyval.val) = arg_add_star((yyvsp[-3].val), (yyvsp[0].val));
1374
 
1375
 		    }
1376
-#line 7668 "ripper.c" /* yacc.c:1646  */
1377
+#line 7660 "ripper.c" /* yacc.c:1646  */
1378
     break;
1379
 
1380
   case 277:
1381
-#line 2636 "ripper.y" /* yacc.c:1646  */
1382
+#line 2628 "ripper.y" /* yacc.c:1646  */
1383
     {
1384
 #if 0
1385
 			NODE *n1;
1386
@@ -7686,11 +7678,11 @@ yyreduce:
1387
 			(yyval.val) = mrhs_add(args2mrhs((yyvsp[-2].val)), (yyvsp[0].val));
1388
 
1389
 		    }
1390
-#line 7686 "ripper.c" /* yacc.c:1646  */
1391
+#line 7678 "ripper.c" /* yacc.c:1646  */
1392
     break;
1393
 
1394
   case 278:
1395
-#line 2650 "ripper.y" /* yacc.c:1646  */
1396
+#line 2642 "ripper.y" /* yacc.c:1646  */
1397
     {
1398
 #if 0
1399
 			NODE *n1;
1400
@@ -7705,11 +7697,11 @@ yyreduce:
1401
 			(yyval.val) = mrhs_add_star(args2mrhs((yyvsp[-3].val)), (yyvsp[0].val));
1402
 
1403
 		    }
1404
-#line 7705 "ripper.c" /* yacc.c:1646  */
1405
+#line 7697 "ripper.c" /* yacc.c:1646  */
1406
     break;
1407
 
1408
   case 279:
1409
-#line 2665 "ripper.y" /* yacc.c:1646  */
1410
+#line 2657 "ripper.y" /* yacc.c:1646  */
1411
     {
1412
 #if 0
1413
 			(yyval.val) = NEW_SPLAT((yyvsp[0].val));
1414
@@ -7718,11 +7710,11 @@ yyreduce:
1415
 			(yyval.val) = mrhs_add_star(mrhs_new(), (yyvsp[0].val));
1416
 
1417
 		    }
1418
-#line 7718 "ripper.c" /* yacc.c:1646  */
1419
+#line 7710 "ripper.c" /* yacc.c:1646  */
1420
     break;
1421
 
1422
   case 290:
1423
-#line 2686 "ripper.y" /* yacc.c:1646  */
1424
+#line 2678 "ripper.y" /* yacc.c:1646  */
1425
     {
1426
 #if 0
1427
 			(yyval.val) = new_fcall((yyvsp[0].val), 0, &(yyloc));
1428
@@ -7730,11 +7722,11 @@ yyreduce:
1429
 			(yyval.val) = method_arg(dispatch1(fcall, (yyvsp[0].val)), arg_new());
1430
 
1431
 		    }
1432
-#line 7730 "ripper.c" /* yacc.c:1646  */
1433
+#line 7722 "ripper.c" /* yacc.c:1646  */
1434
     break;
1435
 
1436
   case 291:
1437
-#line 2694 "ripper.y" /* yacc.c:1646  */
1438
+#line 2686 "ripper.y" /* yacc.c:1646  */
1439
     {
1440
 			(yyvsp[0].val) = cmdarg_stack;
1441
 			CMDARG_SET(0);
1442
@@ -7743,11 +7735,11 @@ yyreduce:
1443
 #endif
1444
 
1445
 		    }
1446
-#line 7743 "ripper.c" /* yacc.c:1646  */
1447
+#line 7735 "ripper.c" /* yacc.c:1646  */
1448
     break;
1449
 
1450
   case 292:
1451
-#line 2704 "ripper.y" /* yacc.c:1646  */
1452
+#line 2696 "ripper.y" /* yacc.c:1646  */
1453
     {
1454
 			CMDARG_SET((yyvsp[-3].val));
1455
 #if 0
1456
@@ -7764,17 +7756,17 @@ yyreduce:
1457
 			(yyval.val) = dispatch1(begin, (yyvsp[-1].val));
1458
 
1459
 		    }
1460
-#line 7764 "ripper.c" /* yacc.c:1646  */
1461
+#line 7756 "ripper.c" /* yacc.c:1646  */
1462
     break;
1463
 
1464
   case 293:
1465
-#line 2720 "ripper.y" /* yacc.c:1646  */
1466
+#line 2712 "ripper.y" /* yacc.c:1646  */
1467
     {SET_LEX_STATE(EXPR_ENDARG);}
1468
-#line 7770 "ripper.c" /* yacc.c:1646  */
1469
+#line 7762 "ripper.c" /* yacc.c:1646  */
1470
     break;
1471
 
1472
   case 294:
1473
-#line 2721 "ripper.y" /* yacc.c:1646  */
1474
+#line 2713 "ripper.y" /* yacc.c:1646  */
1475
     {
1476
 #if 0
1477
 			(yyval.val) = new_begin(0, &(yyloc));
1478
@@ -7782,26 +7774,26 @@ yyreduce:
1479
 			(yyval.val) = dispatch1(paren, 0);
1480
 
1481
 		    }
1482
-#line 7782 "ripper.c" /* yacc.c:1646  */
1483
+#line 7774 "ripper.c" /* yacc.c:1646  */
1484
     break;
1485
 
1486
   case 295:
1487
-#line 2729 "ripper.y" /* yacc.c:1646  */
1488
+#line 2721 "ripper.y" /* yacc.c:1646  */
1489
     {
1490
 			(yyvsp[0].val) = cmdarg_stack;
1491
 			CMDARG_SET(0);
1492
 		    }
1493
-#line 7791 "ripper.c" /* yacc.c:1646  */
1494
+#line 7783 "ripper.c" /* yacc.c:1646  */
1495
     break;
1496
 
1497
   case 296:
1498
-#line 2733 "ripper.y" /* yacc.c:1646  */
1499
+#line 2725 "ripper.y" /* yacc.c:1646  */
1500
     {SET_LEX_STATE(EXPR_ENDARG);}
1501
-#line 7797 "ripper.c" /* yacc.c:1646  */
1502
+#line 7789 "ripper.c" /* yacc.c:1646  */
1503
     break;
1504
 
1505
   case 297:
1506
-#line 2734 "ripper.y" /* yacc.c:1646  */
1507
+#line 2726 "ripper.y" /* yacc.c:1646  */
1508
     {
1509
 			CMDARG_SET((yyvsp[-4].val));
1510
 #if 0
1511
@@ -7810,11 +7802,11 @@ yyreduce:
1512
 			(yyval.val) = dispatch1(paren, (yyvsp[-2].val));
1513
 
1514
 		    }
1515
-#line 7810 "ripper.c" /* yacc.c:1646  */
1516
+#line 7802 "ripper.c" /* yacc.c:1646  */
1517
     break;
1518
 
1519
   case 298:
1520
-#line 2743 "ripper.y" /* yacc.c:1646  */
1521
+#line 2735 "ripper.y" /* yacc.c:1646  */
1522
     {
1523
 #if 0
1524
 			(yyval.val) = (yyvsp[-1].val);
1525
@@ -7822,11 +7814,11 @@ yyreduce:
1526
 			(yyval.val) = dispatch1(paren, (yyvsp[-1].val));
1527
 
1528
 		    }
1529
-#line 7822 "ripper.c" /* yacc.c:1646  */
1530
+#line 7814 "ripper.c" /* yacc.c:1646  */
1531
     break;
1532
 
1533
   case 299:
1534
-#line 2751 "ripper.y" /* yacc.c:1646  */
1535
+#line 2743 "ripper.y" /* yacc.c:1646  */
1536
     {
1537
 #if 0
1538
 			(yyval.val) = NEW_COLON2((yyvsp[-2].val), (yyvsp[0].val));
1539
@@ -7835,11 +7827,11 @@ yyreduce:
1540
 			(yyval.val) = dispatch2(const_path_ref, (yyvsp[-2].val), (yyvsp[0].val));
1541
 
1542
 		    }
1543
-#line 7835 "ripper.c" /* yacc.c:1646  */
1544
+#line 7827 "ripper.c" /* yacc.c:1646  */
1545
     break;
1546
 
1547
   case 300:
1548
-#line 2760 "ripper.y" /* yacc.c:1646  */
1549
+#line 2752 "ripper.y" /* yacc.c:1646  */
1550
     {
1551
 #if 0
1552
 			(yyval.val) = NEW_COLON3((yyvsp[0].val));
1553
@@ -7848,11 +7840,11 @@ yyreduce:
1554
 			(yyval.val) = dispatch1(top_const_ref, (yyvsp[0].val));
1555
 
1556
 		    }
1557
-#line 7848 "ripper.c" /* yacc.c:1646  */
1558
+#line 7840 "ripper.c" /* yacc.c:1646  */
1559
     break;
1560
 
1561
   case 301:
1562
-#line 2769 "ripper.y" /* yacc.c:1646  */
1563
+#line 2761 "ripper.y" /* yacc.c:1646  */
1564
     {
1565
 #if 0
1566
 			(yyval.val) = make_array((yyvsp[-1].val), &(yyloc));
1567
@@ -7860,11 +7852,11 @@ yyreduce:
1568
 			(yyval.val) = dispatch1(array, escape_Qundef((yyvsp[-1].val)));
1569
 
1570
 		    }
1571
-#line 7860 "ripper.c" /* yacc.c:1646  */
1572
+#line 7852 "ripper.c" /* yacc.c:1646  */
1573
     break;
1574
 
1575
   case 302:
1576
-#line 2777 "ripper.y" /* yacc.c:1646  */
1577
+#line 2769 "ripper.y" /* yacc.c:1646  */
1578
     {
1579
 #if 0
1580
 			(yyval.val) = new_hash((yyvsp[-1].val), &(yyloc));
1581
@@ -7873,11 +7865,11 @@ yyreduce:
1582
 			(yyval.val) = dispatch1(hash, escape_Qundef((yyvsp[-1].val)));
1583
 
1584
 		    }
1585
-#line 7873 "ripper.c" /* yacc.c:1646  */
1586
+#line 7865 "ripper.c" /* yacc.c:1646  */
1587
     break;
1588
 
1589
   case 303:
1590
-#line 2786 "ripper.y" /* yacc.c:1646  */
1591
+#line 2778 "ripper.y" /* yacc.c:1646  */
1592
     {
1593
 #if 0
1594
 			(yyval.val) = NEW_RETURN(0);
1595
@@ -7886,11 +7878,11 @@ yyreduce:
1596
 			(yyval.val) = dispatch0(return0);
1597
 
1598
 		    }
1599
-#line 7886 "ripper.c" /* yacc.c:1646  */
1600
+#line 7878 "ripper.c" /* yacc.c:1646  */
1601
     break;
1602
 
1603
   case 304:
1604
-#line 2795 "ripper.y" /* yacc.c:1646  */
1605
+#line 2787 "ripper.y" /* yacc.c:1646  */
1606
     {
1607
 #if 0
1608
 			(yyval.val) = new_yield((yyvsp[-1].val), &(yyloc));
1609
@@ -7898,11 +7890,11 @@ yyreduce:
1610
 			(yyval.val) = dispatch1(yield, dispatch1(paren, (yyvsp[-1].val)));
1611
 
1612
 		    }
1613
-#line 7898 "ripper.c" /* yacc.c:1646  */
1614
+#line 7890 "ripper.c" /* yacc.c:1646  */
1615
     break;
1616
 
1617
   case 305:
1618
-#line 2803 "ripper.y" /* yacc.c:1646  */
1619
+#line 2795 "ripper.y" /* yacc.c:1646  */
1620
     {
1621
 #if 0
1622
 			(yyval.val) = NEW_YIELD(0);
1623
@@ -7911,11 +7903,11 @@ yyreduce:
1624
 			(yyval.val) = dispatch1(yield, dispatch1(paren, arg_new()));
1625
 
1626
 		    }
1627
-#line 7911 "ripper.c" /* yacc.c:1646  */
1628
+#line 7903 "ripper.c" /* yacc.c:1646  */
1629
     break;
1630
 
1631
   case 306:
1632
-#line 2812 "ripper.y" /* yacc.c:1646  */
1633
+#line 2804 "ripper.y" /* yacc.c:1646  */
1634
     {
1635
 #if 0
1636
 			(yyval.val) = NEW_YIELD(0);
1637
@@ -7924,42 +7916,42 @@ yyreduce:
1638
 			(yyval.val) = dispatch0(yield0);
1639
 
1640
 		    }
1641
-#line 7924 "ripper.c" /* yacc.c:1646  */
1642
+#line 7916 "ripper.c" /* yacc.c:1646  */
1643
     break;
1644
 
1645
   case 307:
1646
-#line 2820 "ripper.y" /* yacc.c:1646  */
1647
+#line 2812 "ripper.y" /* yacc.c:1646  */
1648
     {in_defined = 1;}
1649
-#line 7930 "ripper.c" /* yacc.c:1646  */
1650
+#line 7922 "ripper.c" /* yacc.c:1646  */
1651
     break;
1652
 
1653
   case 308:
1654
-#line 2821 "ripper.y" /* yacc.c:1646  */
1655
+#line 2813 "ripper.y" /* yacc.c:1646  */
1656
     {
1657
 			in_defined = 0;
1658
 			(yyval.val) = new_defined((yyvsp[-1].val), &(yyloc));
1659
 		    }
1660
-#line 7939 "ripper.c" /* yacc.c:1646  */
1661
+#line 7931 "ripper.c" /* yacc.c:1646  */
1662
     break;
1663
 
1664
   case 309:
1665
-#line 2826 "ripper.y" /* yacc.c:1646  */
1666
+#line 2818 "ripper.y" /* yacc.c:1646  */
1667
     {
1668
 			(yyval.val) = call_uni_op(method_cond((yyvsp[-1].val), &(yylsp[-1])), METHOD_NOT, &(yylsp[-3]), &(yyloc));
1669
 		    }
1670
-#line 7947 "ripper.c" /* yacc.c:1646  */
1671
+#line 7939 "ripper.c" /* yacc.c:1646  */
1672
     break;
1673
 
1674
   case 310:
1675
-#line 2830 "ripper.y" /* yacc.c:1646  */
1676
+#line 2822 "ripper.y" /* yacc.c:1646  */
1677
     {
1678
 			(yyval.val) = call_uni_op(method_cond(new_nil(&(yylsp[-1])), &(yylsp[-1])), METHOD_NOT, &(yylsp[-2]), &(yyloc));
1679
 		    }
1680
-#line 7955 "ripper.c" /* yacc.c:1646  */
1681
+#line 7947 "ripper.c" /* yacc.c:1646  */
1682
     break;
1683
 
1684
   case 311:
1685
-#line 2834 "ripper.y" /* yacc.c:1646  */
1686
+#line 2826 "ripper.y" /* yacc.c:1646  */
1687
     {
1688
 #if 0
1689
 			(yyvsp[0].val)->nd_iter = (yyvsp[-1].val);
1690
@@ -7970,11 +7962,11 @@ yyreduce:
1691
 			(yyval.val) = method_add_block((yyval.val), (yyvsp[0].val));
1692
 
1693
 		    }
1694
-#line 7970 "ripper.c" /* yacc.c:1646  */
1695
+#line 7962 "ripper.c" /* yacc.c:1646  */
1696
     break;
1697
 
1698
   case 313:
1699
-#line 2846 "ripper.y" /* yacc.c:1646  */
1700
+#line 2838 "ripper.y" /* yacc.c:1646  */
1701
     {
1702
 #if 0
1703
 			block_dup_check((yyvsp[-1].val)->nd_args, (yyvsp[0].val));
1704
@@ -7985,19 +7977,19 @@ yyreduce:
1705
 			(yyval.val) = method_add_block((yyvsp[-1].val), (yyvsp[0].val));
1706
 
1707
 		    }
1708
-#line 7985 "ripper.c" /* yacc.c:1646  */
1709
+#line 7977 "ripper.c" /* yacc.c:1646  */
1710
     break;
1711
 
1712
   case 314:
1713
-#line 2857 "ripper.y" /* yacc.c:1646  */
1714
+#line 2849 "ripper.y" /* yacc.c:1646  */
1715
     {
1716
 			(yyval.val) = (yyvsp[0].val);
1717
 		    }
1718
-#line 7993 "ripper.c" /* yacc.c:1646  */
1719
+#line 7985 "ripper.c" /* yacc.c:1646  */
1720
     break;
1721
 
1722
   case 315:
1723
-#line 2864 "ripper.y" /* yacc.c:1646  */
1724
+#line 2856 "ripper.y" /* yacc.c:1646  */
1725
     {
1726
 #if 0
1727
 			(yyval.val) = new_if((yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[-1].val), &(yyloc));
1728
@@ -8006,11 +7998,11 @@ yyreduce:
1729
 			(yyval.val) = dispatch3(if, (yyvsp[-4].val), (yyvsp[-2].val), escape_Qundef((yyvsp[-1].val)));
1730
 
1731
 		    }
1732
-#line 8006 "ripper.c" /* yacc.c:1646  */
1733
+#line 7998 "ripper.c" /* yacc.c:1646  */
1734
     break;
1735
 
1736
   case 316:
1737
-#line 2876 "ripper.y" /* yacc.c:1646  */
1738
+#line 2868 "ripper.y" /* yacc.c:1646  */
1739
     {
1740
 #if 0
1741
 			(yyval.val) = new_unless((yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[-1].val), &(yyloc));
1742
@@ -8019,23 +8011,23 @@ yyreduce:
1743
 			(yyval.val) = dispatch3(unless, (yyvsp[-4].val), (yyvsp[-2].val), escape_Qundef((yyvsp[-1].val)));
1744
 
1745
 		    }
1746
-#line 8019 "ripper.c" /* yacc.c:1646  */
1747
+#line 8011 "ripper.c" /* yacc.c:1646  */
1748
     break;
1749
 
1750
   case 317:
1751
-#line 2884 "ripper.y" /* yacc.c:1646  */
1752
+#line 2876 "ripper.y" /* yacc.c:1646  */
1753
     {COND_PUSH(1);}
1754
-#line 8025 "ripper.c" /* yacc.c:1646  */
1755
+#line 8017 "ripper.c" /* yacc.c:1646  */
1756
     break;
1757
 
1758
   case 318:
1759
-#line 2884 "ripper.y" /* yacc.c:1646  */
1760
+#line 2876 "ripper.y" /* yacc.c:1646  */
1761
     {COND_POP();}
1762
-#line 8031 "ripper.c" /* yacc.c:1646  */
1763
+#line 8023 "ripper.c" /* yacc.c:1646  */
1764
     break;
1765
 
1766
   case 319:
1767
-#line 2887 "ripper.y" /* yacc.c:1646  */
1768
+#line 2879 "ripper.y" /* yacc.c:1646  */
1769
     {
1770
 #if 0
1771
 			(yyval.val) = NEW_WHILE(cond((yyvsp[-4].val), &(yylsp[-4])), (yyvsp[-1].val), 1);
1772
@@ -8045,23 +8037,23 @@ yyreduce:
1773
 			(yyval.val) = dispatch2(while, (yyvsp[-4].val), (yyvsp[-1].val));
1774
 
1775
 		    }
1776
-#line 8045 "ripper.c" /* yacc.c:1646  */
1777
+#line 8037 "ripper.c" /* yacc.c:1646  */
1778
     break;
1779
 
1780
   case 320:
1781
-#line 2896 "ripper.y" /* yacc.c:1646  */
1782
+#line 2888 "ripper.y" /* yacc.c:1646  */
1783
     {COND_PUSH(1);}
1784
-#line 8051 "ripper.c" /* yacc.c:1646  */
1785
+#line 8043 "ripper.c" /* yacc.c:1646  */
1786
     break;
1787
 
1788
   case 321:
1789
-#line 2896 "ripper.y" /* yacc.c:1646  */
1790
+#line 2888 "ripper.y" /* yacc.c:1646  */
1791
     {COND_POP();}
1792
-#line 8057 "ripper.c" /* yacc.c:1646  */
1793
+#line 8049 "ripper.c" /* yacc.c:1646  */
1794
     break;
1795
 
1796
   case 322:
1797
-#line 2899 "ripper.y" /* yacc.c:1646  */
1798
+#line 2891 "ripper.y" /* yacc.c:1646  */
1799
     {
1800
 #if 0
1801
 			(yyval.val) = NEW_UNTIL(cond((yyvsp[-4].val), &(yylsp[-4])), (yyvsp[-1].val), 1);
1802
@@ -8071,11 +8063,11 @@ yyreduce:
1803
 			(yyval.val) = dispatch2(until, (yyvsp[-4].val), (yyvsp[-1].val));
1804
 
1805
 		    }
1806
-#line 8071 "ripper.c" /* yacc.c:1646  */
1807
+#line 8063 "ripper.c" /* yacc.c:1646  */
1808
     break;
1809
 
1810
   case 323:
1811
-#line 2911 "ripper.y" /* yacc.c:1646  */
1812
+#line 2903 "ripper.y" /* yacc.c:1646  */
1813
     {
1814
 #if 0
1815
 			(yyval.val) = NEW_CASE((yyvsp[-3].val), (yyvsp[-1].val));
1816
@@ -8085,11 +8077,11 @@ yyreduce:
1817
 			(yyval.val) = dispatch2(case, (yyvsp[-3].val), (yyvsp[-1].val));
1818
 
1819
 		    }
1820
-#line 8085 "ripper.c" /* yacc.c:1646  */
1821
+#line 8077 "ripper.c" /* yacc.c:1646  */
1822
     break;
1823
 
1824
   case 324:
1825
-#line 2921 "ripper.y" /* yacc.c:1646  */
1826
+#line 2913 "ripper.y" /* yacc.c:1646  */
1827
     {
1828
 #if 0
1829
 			(yyval.val) = NEW_CASE2((yyvsp[-1].val));
1830
@@ -8099,23 +8091,23 @@ yyreduce:
1831
 			(yyval.val) = dispatch2(case, Qnil, (yyvsp[-1].val));
1832
 
1833
 		    }
1834
-#line 8099 "ripper.c" /* yacc.c:1646  */
1835
+#line 8091 "ripper.c" /* yacc.c:1646  */
1836
     break;
1837
 
1838
   case 325:
1839
-#line 2931 "ripper.y" /* yacc.c:1646  */
1840
+#line 2923 "ripper.y" /* yacc.c:1646  */
1841
     {COND_PUSH(1);}
1842
-#line 8105 "ripper.c" /* yacc.c:1646  */
1843
+#line 8097 "ripper.c" /* yacc.c:1646  */
1844
     break;
1845
 
1846
   case 326:
1847
-#line 2933 "ripper.y" /* yacc.c:1646  */
1848
+#line 2925 "ripper.y" /* yacc.c:1646  */
1849
     {COND_POP();}
1850
-#line 8111 "ripper.c" /* yacc.c:1646  */
1851
+#line 8103 "ripper.c" /* yacc.c:1646  */
1852
     break;
1853
 
1854
   case 327:
1855
-#line 2936 "ripper.y" /* yacc.c:1646  */
1856
+#line 2928 "ripper.y" /* yacc.c:1646  */
1857
     {
1858
 #if 0
1859
 			/*
1860
@@ -8163,11 +8155,11 @@ yyreduce:
1861
 			(yyval.val) = dispatch3(for, (yyvsp[-7].val), (yyvsp[-4].val), (yyvsp[-1].val));
1862
 
1863
 		    }
1864
-#line 8163 "ripper.c" /* yacc.c:1646  */
1865
+#line 8155 "ripper.c" /* yacc.c:1646  */
1866
     break;
1867
 
1868
   case 328:
1869
-#line 2984 "ripper.y" /* yacc.c:1646  */
1870
+#line 2976 "ripper.y" /* yacc.c:1646  */
1871
     {
1872
 			if (in_def)
1873
 			    yyerror0("class definition in method body");
1874
@@ -8179,11 +8171,11 @@ yyreduce:
1875
 #endif
1876
 
1877
 		    }
1878
-#line 8179 "ripper.c" /* yacc.c:1646  */
1879
+#line 8171 "ripper.c" /* yacc.c:1646  */
1880
     break;
1881
 
1882
   case 329:
1883
-#line 2997 "ripper.y" /* yacc.c:1646  */
1884
+#line 2989 "ripper.y" /* yacc.c:1646  */
1885
     {
1886
 #if 0
1887
 			(yyval.val) = NEW_CLASS((yyvsp[-4].val), (yyvsp[-1].val), (yyvsp[-3].val));
1888
@@ -8197,22 +8189,22 @@ yyreduce:
1889
 			local_pop();
1890
 			in_class = (yyvsp[-5].num) & 1;
1891
 		    }
1892
-#line 8197 "ripper.c" /* yacc.c:1646  */
1893
+#line 8189 "ripper.c" /* yacc.c:1646  */
1894
     break;
1895
 
1896
   case 330:
1897
-#line 3011 "ripper.y" /* yacc.c:1646  */
1898
+#line 3003 "ripper.y" /* yacc.c:1646  */
1899
     {
1900
 			(yyval.num) = (in_class << 1) | in_def;
1901
 			in_def = 0;
1902
 			in_class = 0;
1903
 			local_push(0);
1904
 		    }
1905
-#line 8208 "ripper.c" /* yacc.c:1646  */
1906
+#line 8200 "ripper.c" /* yacc.c:1646  */
1907
     break;
1908
 
1909
   case 331:
1910
-#line 3020 "ripper.y" /* yacc.c:1646  */
1911
+#line 3012 "ripper.y" /* yacc.c:1646  */
1912
     {
1913
 #if 0
1914
 			(yyval.val) = NEW_SCLASS((yyvsp[-4].val), (yyvsp[-1].val));
1915
@@ -8227,11 +8219,11 @@ yyreduce:
1916
 			in_def = (yyvsp[-3].num) & 1;
1917
 			in_class = ((yyvsp[-3].num) >> 1) & 1;
1918
 		    }
1919
-#line 8227 "ripper.c" /* yacc.c:1646  */
1920
+#line 8219 "ripper.c" /* yacc.c:1646  */
1921
     break;
1922
 
1923
   case 332:
1924
-#line 3035 "ripper.y" /* yacc.c:1646  */
1925
+#line 3027 "ripper.y" /* yacc.c:1646  */
1926
     {
1927
 			if (in_def)
1928
 			    yyerror0("module definition in method body");
1929
@@ -8243,11 +8235,11 @@ yyreduce:
1930
 #endif
1931
 
1932
 		    }
1933
-#line 8243 "ripper.c" /* yacc.c:1646  */
1934
+#line 8235 "ripper.c" /* yacc.c:1646  */
1935
     break;
1936
 
1937
   case 333:
1938
-#line 3048 "ripper.y" /* yacc.c:1646  */
1939
+#line 3040 "ripper.y" /* yacc.c:1646  */
1940
     {
1941
 #if 0
1942
 			(yyval.val) = NEW_MODULE((yyvsp[-3].val), (yyvsp[-1].val));
1943
@@ -8261,30 +8253,30 @@ yyreduce:
1944
 			local_pop();
1945
 			in_class = (yyvsp[-4].num) & 1;
1946
 		    }
1947
-#line 8261 "ripper.c" /* yacc.c:1646  */
1948
+#line 8253 "ripper.c" /* yacc.c:1646  */
1949
     break;
1950
 
1951
   case 334:
1952
-#line 3062 "ripper.y" /* yacc.c:1646  */
1953
+#line 3054 "ripper.y" /* yacc.c:1646  */
1954
     {
1955
 			local_push(0);
1956
 			(yyval.id) = current_arg;
1957
 			current_arg = 0;
1958
 		    }
1959
-#line 8271 "ripper.c" /* yacc.c:1646  */
1960
+#line 8263 "ripper.c" /* yacc.c:1646  */
1961
     break;
1962
 
1963
   case 335:
1964
-#line 3067 "ripper.y" /* yacc.c:1646  */
1965
+#line 3059 "ripper.y" /* yacc.c:1646  */
1966
     {
1967
 			(yyval.num) = in_def;
1968
 			in_def = 1;
1969
 		    }
1970
-#line 8280 "ripper.c" /* yacc.c:1646  */
1971
+#line 8272 "ripper.c" /* yacc.c:1646  */
1972
     break;
1973
 
1974
   case 336:
1975
-#line 3074 "ripper.y" /* yacc.c:1646  */
1976
+#line 3066 "ripper.y" /* yacc.c:1646  */
1977
     {
1978
 #if 0
1979
 			NODE *body = remove_begin((yyvsp[-1].val));
1980
@@ -8301,17 +8293,17 @@ yyreduce:
1981
 			in_def = (yyvsp[-3].num) & 1;
1982
 			current_arg = (yyvsp[-4].id);
1983
 		    }
1984
-#line 8301 "ripper.c" /* yacc.c:1646  */
1985
+#line 8293 "ripper.c" /* yacc.c:1646  */
1986
     break;
1987
 
1988
   case 337:
1989
-#line 3090 "ripper.y" /* yacc.c:1646  */
1990
+#line 3082 "ripper.y" /* yacc.c:1646  */
1991
     {SET_LEX_STATE(EXPR_FNAME);}
1992
-#line 8307 "ripper.c" /* yacc.c:1646  */
1993
+#line 8299 "ripper.c" /* yacc.c:1646  */
1994
     break;
1995
 
1996
   case 338:
1997
-#line 3091 "ripper.y" /* yacc.c:1646  */
1998
+#line 3083 "ripper.y" /* yacc.c:1646  */
1999
     {
2000
 			(yyvsp[-1].num) = in_def;
2001
 			in_def = 1;
2002
@@ -8320,11 +8312,11 @@ yyreduce:
2003
 			(yyval.id) = current_arg;
2004
 			current_arg = 0;
2005
 		    }
2006
-#line 8320 "ripper.c" /* yacc.c:1646  */
2007
+#line 8312 "ripper.c" /* yacc.c:1646  */
2008
     break;
2009
 
2010
   case 339:
2011
-#line 3102 "ripper.y" /* yacc.c:1646  */
2012
+#line 3094 "ripper.y" /* yacc.c:1646  */
2013
     {
2014
 #if 0
2015
 			NODE *body = remove_begin((yyvsp[-1].val));
2016
@@ -8341,11 +8333,11 @@ yyreduce:
2017
 			in_def = (yyvsp[-5].num) & 1;
2018
 			current_arg = (yyvsp[-3].id);
2019
 		    }
2020
-#line 8341 "ripper.c" /* yacc.c:1646  */
2021
+#line 8333 "ripper.c" /* yacc.c:1646  */
2022
     break;
2023
 
2024
   case 340:
2025
-#line 3119 "ripper.y" /* yacc.c:1646  */
2026
+#line 3111 "ripper.y" /* yacc.c:1646  */
2027
     {
2028
 #if 0
2029
 			(yyval.val) = NEW_BREAK(0);
2030
@@ -8354,11 +8346,11 @@ yyreduce:
2031
 			(yyval.val) = dispatch1(break, arg_new());
2032
 
2033
 		    }
2034
-#line 8354 "ripper.c" /* yacc.c:1646  */
2035
+#line 8346 "ripper.c" /* yacc.c:1646  */
2036
     break;
2037
 
2038
   case 341:
2039
-#line 3128 "ripper.y" /* yacc.c:1646  */
2040
+#line 3120 "ripper.y" /* yacc.c:1646  */
2041
     {
2042
 #if 0
2043
 			(yyval.val) = NEW_NEXT(0);
2044
@@ -8367,11 +8359,11 @@ yyreduce:
2045
 			(yyval.val) = dispatch1(next, arg_new());
2046
 
2047
 		    }
2048
-#line 8367 "ripper.c" /* yacc.c:1646  */
2049
+#line 8359 "ripper.c" /* yacc.c:1646  */
2050
     break;
2051
 
2052
   case 342:
2053
-#line 3137 "ripper.y" /* yacc.c:1646  */
2054
+#line 3129 "ripper.y" /* yacc.c:1646  */
2055
     {
2056
 #if 0
2057
 			(yyval.val) = NEW_REDO();
2058
@@ -8380,11 +8372,11 @@ yyreduce:
2059
 			(yyval.val) = dispatch0(redo);
2060
 
2061
 		    }
2062
-#line 8380 "ripper.c" /* yacc.c:1646  */
2063
+#line 8372 "ripper.c" /* yacc.c:1646  */
2064
     break;
2065
 
2066
   case 343:
2067
-#line 3146 "ripper.y" /* yacc.c:1646  */
2068
+#line 3138 "ripper.y" /* yacc.c:1646  */
2069
     {
2070
 #if 0
2071
 			(yyval.val) = NEW_RETRY();
2072
@@ -8393,11 +8385,11 @@ yyreduce:
2073
 			(yyval.val) = dispatch0(retry);
2074
 
2075
 		    }
2076
-#line 8393 "ripper.c" /* yacc.c:1646  */
2077
+#line 8385 "ripper.c" /* yacc.c:1646  */
2078
     break;
2079
 
2080
   case 344:
2081
-#line 3157 "ripper.y" /* yacc.c:1646  */
2082
+#line 3149 "ripper.y" /* yacc.c:1646  */
2083
     {
2084
 #if 0
2085
 			value_expr((yyvsp[0].val));
2086
@@ -8407,51 +8399,51 @@ yyreduce:
2087
 			(yyval.val) = (yyvsp[0].val);
2088
 
2089
 		    }
2090
-#line 8407 "ripper.c" /* yacc.c:1646  */
2091
+#line 8399 "ripper.c" /* yacc.c:1646  */
2092
     break;
2093
 
2094
   case 345:
2095
-#line 3169 "ripper.y" /* yacc.c:1646  */
2096
+#line 3161 "ripper.y" /* yacc.c:1646  */
2097
     {
2098
 			token_info_push("begin");
2099
 		    }
2100
-#line 8415 "ripper.c" /* yacc.c:1646  */
2101
+#line 8407 "ripper.c" /* yacc.c:1646  */
2102
     break;
2103
 
2104
   case 346:
2105
-#line 3175 "ripper.y" /* yacc.c:1646  */
2106
+#line 3167 "ripper.y" /* yacc.c:1646  */
2107
     {
2108
 			token_info_push("if");
2109
 		    }
2110
-#line 8423 "ripper.c" /* yacc.c:1646  */
2111
+#line 8415 "ripper.c" /* yacc.c:1646  */
2112
     break;
2113
 
2114
   case 347:
2115
-#line 3181 "ripper.y" /* yacc.c:1646  */
2116
+#line 3173 "ripper.y" /* yacc.c:1646  */
2117
     {
2118
 			token_info_push("unless");
2119
 		    }
2120
-#line 8431 "ripper.c" /* yacc.c:1646  */
2121
+#line 8423 "ripper.c" /* yacc.c:1646  */
2122
     break;
2123
 
2124
   case 348:
2125
-#line 3187 "ripper.y" /* yacc.c:1646  */
2126
+#line 3179 "ripper.y" /* yacc.c:1646  */
2127
     {
2128
 			token_info_push("while");
2129
 		    }
2130
-#line 8439 "ripper.c" /* yacc.c:1646  */
2131
+#line 8431 "ripper.c" /* yacc.c:1646  */
2132
     break;
2133
 
2134
   case 349:
2135
-#line 3193 "ripper.y" /* yacc.c:1646  */
2136
+#line 3185 "ripper.y" /* yacc.c:1646  */
2137
     {
2138
 			token_info_push("until");
2139
 		    }
2140
-#line 8447 "ripper.c" /* yacc.c:1646  */
2141
+#line 8439 "ripper.c" /* yacc.c:1646  */
2142
     break;
2143
 
2144
   case 350:
2145
-#line 3199 "ripper.y" /* yacc.c:1646  */
2146
+#line 3191 "ripper.y" /* yacc.c:1646  */
2147
     {
2148
 			token_info_push("case");
2149
 #if 0
2150
@@ -8459,35 +8451,35 @@ yyreduce:
2151
 #endif
2152
 
2153
 		    }
2154
-#line 8459 "ripper.c" /* yacc.c:1646  */
2155
+#line 8451 "ripper.c" /* yacc.c:1646  */
2156
     break;
2157
 
2158
   case 351:
2159
-#line 3209 "ripper.y" /* yacc.c:1646  */
2160
+#line 3201 "ripper.y" /* yacc.c:1646  */
2161
     {
2162
 			token_info_push("for");
2163
 		    }
2164
-#line 8467 "ripper.c" /* yacc.c:1646  */
2165
+#line 8459 "ripper.c" /* yacc.c:1646  */
2166
     break;
2167
 
2168
   case 352:
2169
-#line 3215 "ripper.y" /* yacc.c:1646  */
2170
+#line 3207 "ripper.y" /* yacc.c:1646  */
2171
     {
2172
 			token_info_push("class");
2173
 		    }
2174
-#line 8475 "ripper.c" /* yacc.c:1646  */
2175
+#line 8467 "ripper.c" /* yacc.c:1646  */
2176
     break;
2177
 
2178
   case 353:
2179
-#line 3221 "ripper.y" /* yacc.c:1646  */
2180
+#line 3213 "ripper.y" /* yacc.c:1646  */
2181
     {
2182
 			token_info_push("module");
2183
 		    }
2184
-#line 8483 "ripper.c" /* yacc.c:1646  */
2185
+#line 8475 "ripper.c" /* yacc.c:1646  */
2186
     break;
2187
 
2188
   case 354:
2189
-#line 3227 "ripper.y" /* yacc.c:1646  */
2190
+#line 3219 "ripper.y" /* yacc.c:1646  */
2191
     {
2192
 			token_info_push("def");
2193
 #if 0
2194
@@ -8495,46 +8487,46 @@ yyreduce:
2195
 #endif
2196
 
2197
 		    }
2198
-#line 8495 "ripper.c" /* yacc.c:1646  */
2199
+#line 8487 "ripper.c" /* yacc.c:1646  */
2200
     break;
2201
 
2202
   case 355:
2203
-#line 3237 "ripper.y" /* yacc.c:1646  */
2204
+#line 3229 "ripper.y" /* yacc.c:1646  */
2205
     {
2206
 			token_info_pop("end");
2207
 		    }
2208
-#line 8503 "ripper.c" /* yacc.c:1646  */
2209
+#line 8495 "ripper.c" /* yacc.c:1646  */
2210
     break;
2211
 
2212
   case 356:
2213
-#line 3243 "ripper.y" /* yacc.c:1646  */
2214
+#line 3235 "ripper.y" /* yacc.c:1646  */
2215
     {
2216
 			if (in_class && !in_def && !dyna_in_block())
2217
 			    yyerror0("Invalid return in class/module body");
2218
 		    }
2219
-#line 8512 "ripper.c" /* yacc.c:1646  */
2220
+#line 8504 "ripper.c" /* yacc.c:1646  */
2221
     break;
2222
 
2223
   case 357:
2224
-#line 3252 "ripper.y" /* yacc.c:1646  */
2225
+#line 3244 "ripper.y" /* yacc.c:1646  */
2226
     { (yyval.val) = Qnil; }
2227
-#line 8518 "ripper.c" /* yacc.c:1646  */
2228
+#line 8510 "ripper.c" /* yacc.c:1646  */
2229
     break;
2230
 
2231
   case 359:
2232
-#line 3258 "ripper.y" /* yacc.c:1646  */
2233
+#line 3250 "ripper.y" /* yacc.c:1646  */
2234
     { (yyval.val) = (yyvsp[0].val); }
2235
-#line 8524 "ripper.c" /* yacc.c:1646  */
2236
+#line 8516 "ripper.c" /* yacc.c:1646  */
2237
     break;
2238
 
2239
   case 360:
2240
-#line 3265 "ripper.y" /* yacc.c:1646  */
2241
+#line 3257 "ripper.y" /* yacc.c:1646  */
2242
     { (yyval.val) = Qnil; }
2243
-#line 8530 "ripper.c" /* yacc.c:1646  */
2244
+#line 8522 "ripper.c" /* yacc.c:1646  */
2245
     break;
2246
 
2247
   case 363:
2248
-#line 3274 "ripper.y" /* yacc.c:1646  */
2249
+#line 3266 "ripper.y" /* yacc.c:1646  */
2250
     {
2251
 #if 0
2252
 			(yyval.val) = new_if((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2253
@@ -8543,11 +8535,11 @@ yyreduce:
2254
 			(yyval.val) = dispatch3(elsif, (yyvsp[-3].val), (yyvsp[-1].val), escape_Qundef((yyvsp[0].val)));
2255
 
2256
 		    }
2257
-#line 8543 "ripper.c" /* yacc.c:1646  */
2258
+#line 8535 "ripper.c" /* yacc.c:1646  */
2259
     break;
2260
 
2261
   case 365:
2262
-#line 3286 "ripper.y" /* yacc.c:1646  */
2263
+#line 3278 "ripper.y" /* yacc.c:1646  */
2264
     {
2265
 #if 0
2266
 			(yyval.val) = (yyvsp[0].val);
2267
@@ -8555,22 +8547,22 @@ yyreduce:
2268
 			(yyval.val) = dispatch1(else, (yyvsp[0].val));
2269
 
2270
 		    }
2271
-#line 8555 "ripper.c" /* yacc.c:1646  */
2272
+#line 8547 "ripper.c" /* yacc.c:1646  */
2273
     break;
2274
 
2275
   case 368:
2276
-#line 3300 "ripper.y" /* yacc.c:1646  */
2277
+#line 3292 "ripper.y" /* yacc.c:1646  */
2278
     {
2279
 			(yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc));
2280
 #if 0
2281
 #endif
2282
 
2283
 		    }
2284
-#line 8566 "ripper.c" /* yacc.c:1646  */
2285
+#line 8558 "ripper.c" /* yacc.c:1646  */
2286
     break;
2287
 
2288
   case 369:
2289
-#line 3307 "ripper.y" /* yacc.c:1646  */
2290
+#line 3299 "ripper.y" /* yacc.c:1646  */
2291
     {
2292
 #if 0
2293
 			(yyval.val) = (yyvsp[-1].val);
2294
@@ -8578,11 +8570,11 @@ yyreduce:
2295
 			(yyval.val) = dispatch1(mlhs_paren, (yyvsp[-1].val));
2296
 
2297
 		    }
2298
-#line 8578 "ripper.c" /* yacc.c:1646  */
2299
+#line 8570 "ripper.c" /* yacc.c:1646  */
2300
     break;
2301
 
2302
   case 370:
2303
-#line 3317 "ripper.y" /* yacc.c:1646  */
2304
+#line 3309 "ripper.y" /* yacc.c:1646  */
2305
     {
2306
 #if 0
2307
 			(yyval.val) = new_list((yyvsp[0].val), &(yyloc));
2308
@@ -8590,11 +8582,11 @@ yyreduce:
2309
 			(yyval.val) = mlhs_add(mlhs_new(), (yyvsp[0].val));
2310
 
2311
 		    }
2312
-#line 8590 "ripper.c" /* yacc.c:1646  */
2313
+#line 8582 "ripper.c" /* yacc.c:1646  */
2314
     break;
2315
 
2316
   case 371:
2317
-#line 3325 "ripper.y" /* yacc.c:1646  */
2318
+#line 3317 "ripper.y" /* yacc.c:1646  */
2319
     {
2320
 #if 0
2321
 			(yyval.val) = list_append((yyvsp[-2].val), (yyvsp[0].val));
2322
@@ -8602,11 +8594,11 @@ yyreduce:
2323
 			(yyval.val) = mlhs_add((yyvsp[-2].val), (yyvsp[0].val));
2324
 
2325
 		    }
2326
-#line 8602 "ripper.c" /* yacc.c:1646  */
2327
+#line 8594 "ripper.c" /* yacc.c:1646  */
2328
     break;
2329
 
2330
   case 372:
2331
-#line 3335 "ripper.y" /* yacc.c:1646  */
2332
+#line 3327 "ripper.y" /* yacc.c:1646  */
2333
     {
2334
 #if 0
2335
 			(yyval.val) = new_masgn((yyvsp[0].val), 0, &(yyloc));
2336
@@ -8614,11 +8606,11 @@ yyreduce:
2337
 			(yyval.val) = (yyvsp[0].val);
2338
 
2339
 		    }
2340
-#line 8614 "ripper.c" /* yacc.c:1646  */
2341
+#line 8606 "ripper.c" /* yacc.c:1646  */
2342
     break;
2343
 
2344
   case 373:
2345
-#line 3343 "ripper.y" /* yacc.c:1646  */
2346
+#line 3335 "ripper.y" /* yacc.c:1646  */
2347
     {
2348
 			(yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc));
2349
 #if 0
2350
@@ -8627,11 +8619,11 @@ yyreduce:
2351
 			(yyval.val) = mlhs_add_star((yyvsp[-3].val), (yyval.val));
2352
 
2353
 		    }
2354
-#line 8627 "ripper.c" /* yacc.c:1646  */
2355
+#line 8619 "ripper.c" /* yacc.c:1646  */
2356
     break;
2357
 
2358
   case 374:
2359
-#line 3352 "ripper.y" /* yacc.c:1646  */
2360
+#line 3344 "ripper.y" /* yacc.c:1646  */
2361
     {
2362
 			(yyval.val) = assignable((yyvsp[-2].val), 0, &(yyloc));
2363
 #if 0
2364
@@ -8641,11 +8633,11 @@ yyreduce:
2365
 			(yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val));
2366
 
2367
 		    }
2368
-#line 8641 "ripper.c" /* yacc.c:1646  */
2369
+#line 8633 "ripper.c" /* yacc.c:1646  */
2370
     break;
2371
 
2372
   case 375:
2373
-#line 3362 "ripper.y" /* yacc.c:1646  */
2374
+#line 3354 "ripper.y" /* yacc.c:1646  */
2375
     {
2376
 #if 0
2377
 			(yyval.val) = new_masgn((yyvsp[-2].val), NODE_SPECIAL_NO_NAME_REST, &(yyloc));
2378
@@ -8653,11 +8645,11 @@ yyreduce:
2379
 			(yyval.val) = mlhs_add_star((yyvsp[-2].val), Qnil);
2380
 
2381
 		    }
2382
-#line 8653 "ripper.c" /* yacc.c:1646  */
2383
+#line 8645 "ripper.c" /* yacc.c:1646  */
2384
     break;
2385
 
2386
   case 376:
2387
-#line 3370 "ripper.y" /* yacc.c:1646  */
2388
+#line 3362 "ripper.y" /* yacc.c:1646  */
2389
     {
2390
 #if 0
2391
 			(yyval.val) = new_masgn((yyvsp[-4].val), new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].val), &(yyloc)), &(yyloc));
2392
@@ -8666,11 +8658,11 @@ yyreduce:
2393
 			(yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val));
2394
 
2395
 		    }
2396
-#line 8666 "ripper.c" /* yacc.c:1646  */
2397
+#line 8658 "ripper.c" /* yacc.c:1646  */
2398
     break;
2399
 
2400
   case 377:
2401
-#line 3379 "ripper.y" /* yacc.c:1646  */
2402
+#line 3371 "ripper.y" /* yacc.c:1646  */
2403
     {
2404
 			(yyval.val) = assignable((yyvsp[0].val), 0, &(yyloc));
2405
 #if 0
2406
@@ -8679,11 +8671,11 @@ yyreduce:
2407
 			(yyval.val) = mlhs_add_star(mlhs_new(), (yyval.val));
2408
 
2409
 		    }
2410
-#line 8679 "ripper.c" /* yacc.c:1646  */
2411
+#line 8671 "ripper.c" /* yacc.c:1646  */
2412
     break;
2413
 
2414
   case 378:
2415
-#line 3388 "ripper.y" /* yacc.c:1646  */
2416
+#line 3380 "ripper.y" /* yacc.c:1646  */
2417
     {
2418
 			(yyval.val) = assignable((yyvsp[-2].val), 0, &(yyloc));
2419
 #if 0
2420
@@ -8693,11 +8685,11 @@ yyreduce:
2421
 			(yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val));
2422
 
2423
 		    }
2424
-#line 8693 "ripper.c" /* yacc.c:1646  */
2425
+#line 8685 "ripper.c" /* yacc.c:1646  */
2426
     break;
2427
 
2428
   case 379:
2429
-#line 3398 "ripper.y" /* yacc.c:1646  */
2430
+#line 3390 "ripper.y" /* yacc.c:1646  */
2431
     {
2432
 #if 0
2433
 			(yyval.val) = new_masgn(0, NODE_SPECIAL_NO_NAME_REST, &(yyloc));
2434
@@ -8705,11 +8697,11 @@ yyreduce:
2435
 			(yyval.val) = mlhs_add_star(mlhs_new(), Qnil);
2436
 
2437
 		    }
2438
-#line 8705 "ripper.c" /* yacc.c:1646  */
2439
+#line 8697 "ripper.c" /* yacc.c:1646  */
2440
     break;
2441
 
2442
   case 380:
2443
-#line 3406 "ripper.y" /* yacc.c:1646  */
2444
+#line 3398 "ripper.y" /* yacc.c:1646  */
2445
     {
2446
 #if 0
2447
 			(yyval.val) = new_masgn(0, new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].val), &(yyloc)), &(yyloc));
2448
@@ -8718,99 +8710,99 @@ yyreduce:
2449
 			(yyval.val) = mlhs_add_post((yyval.val), (yyvsp[0].val));
2450
 
2451
 		    }
2452
-#line 8718 "ripper.c" /* yacc.c:1646  */
2453
+#line 8710 "ripper.c" /* yacc.c:1646  */
2454
     break;
2455
 
2456
   case 381:
2457
-#line 3418 "ripper.y" /* yacc.c:1646  */
2458
+#line 3410 "ripper.y" /* yacc.c:1646  */
2459
     {
2460
 			(yyval.val) = new_args_tail((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]));
2461
 		    }
2462
-#line 8726 "ripper.c" /* yacc.c:1646  */
2463
+#line 8718 "ripper.c" /* yacc.c:1646  */
2464
     break;
2465
 
2466
   case 382:
2467
-#line 3422 "ripper.y" /* yacc.c:1646  */
2468
+#line 3414 "ripper.y" /* yacc.c:1646  */
2469
     {
2470
 			(yyval.val) = new_args_tail((yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yylsp[-1]));
2471
 		    }
2472
-#line 8734 "ripper.c" /* yacc.c:1646  */
2473
+#line 8726 "ripper.c" /* yacc.c:1646  */
2474
     break;
2475
 
2476
   case 383:
2477
-#line 3426 "ripper.y" /* yacc.c:1646  */
2478
+#line 3418 "ripper.y" /* yacc.c:1646  */
2479
     {
2480
 			(yyval.val) = new_args_tail(Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]));
2481
 		    }
2482
-#line 8742 "ripper.c" /* yacc.c:1646  */
2483
+#line 8734 "ripper.c" /* yacc.c:1646  */
2484
     break;
2485
 
2486
   case 384:
2487
-#line 3430 "ripper.y" /* yacc.c:1646  */
2488
+#line 3422 "ripper.y" /* yacc.c:1646  */
2489
     {
2490
 			(yyval.val) = new_args_tail(Qnone, Qnone, (yyvsp[0].val), &(yylsp[0]));
2491
 		    }
2492
-#line 8750 "ripper.c" /* yacc.c:1646  */
2493
+#line 8742 "ripper.c" /* yacc.c:1646  */
2494
     break;
2495
 
2496
   case 385:
2497
-#line 3436 "ripper.y" /* yacc.c:1646  */
2498
+#line 3428 "ripper.y" /* yacc.c:1646  */
2499
     {
2500
 			(yyval.val) = (yyvsp[0].val);
2501
 		    }
2502
-#line 8758 "ripper.c" /* yacc.c:1646  */
2503
+#line 8750 "ripper.c" /* yacc.c:1646  */
2504
     break;
2505
 
2506
   case 386:
2507
-#line 3440 "ripper.y" /* yacc.c:1646  */
2508
+#line 3432 "ripper.y" /* yacc.c:1646  */
2509
     {
2510
 			(yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
2511
 		    }
2512
-#line 8766 "ripper.c" /* yacc.c:1646  */
2513
+#line 8758 "ripper.c" /* yacc.c:1646  */
2514
     break;
2515
 
2516
   case 387:
2517
-#line 3446 "ripper.y" /* yacc.c:1646  */
2518
+#line 3438 "ripper.y" /* yacc.c:1646  */
2519
     {
2520
 			(yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
2521
 		    }
2522
-#line 8774 "ripper.c" /* yacc.c:1646  */
2523
+#line 8766 "ripper.c" /* yacc.c:1646  */
2524
     break;
2525
 
2526
   case 388:
2527
-#line 3450 "ripper.y" /* yacc.c:1646  */
2528
+#line 3442 "ripper.y" /* yacc.c:1646  */
2529
     {
2530
 			(yyval.val) = new_args((yyvsp[-7].val), (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2531
 		    }
2532
-#line 8782 "ripper.c" /* yacc.c:1646  */
2533
+#line 8774 "ripper.c" /* yacc.c:1646  */
2534
     break;
2535
 
2536
   case 389:
2537
-#line 3454 "ripper.y" /* yacc.c:1646  */
2538
+#line 3446 "ripper.y" /* yacc.c:1646  */
2539
     {
2540
 			(yyval.val) = new_args((yyvsp[-3].val), (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc));
2541
 		    }
2542
-#line 8790 "ripper.c" /* yacc.c:1646  */
2543
+#line 8782 "ripper.c" /* yacc.c:1646  */
2544
     break;
2545
 
2546
   case 390:
2547
-#line 3458 "ripper.y" /* yacc.c:1646  */
2548
+#line 3450 "ripper.y" /* yacc.c:1646  */
2549
     {
2550
 			(yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2551
 		    }
2552
-#line 8798 "ripper.c" /* yacc.c:1646  */
2553
+#line 8790 "ripper.c" /* yacc.c:1646  */
2554
     break;
2555
 
2556
   case 391:
2557
-#line 3462 "ripper.y" /* yacc.c:1646  */
2558
+#line 3454 "ripper.y" /* yacc.c:1646  */
2559
     {
2560
 			(yyval.val) = new_args((yyvsp[-3].val), Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
2561
 		    }
2562
-#line 8806 "ripper.c" /* yacc.c:1646  */
2563
+#line 8798 "ripper.c" /* yacc.c:1646  */
2564
     break;
2565
 
2566
   case 392:
2567
-#line 3466 "ripper.y" /* yacc.c:1646  */
2568
+#line 3458 "ripper.y" /* yacc.c:1646  */
2569
     {
2570
 			(yyval.val) = new_args((yyvsp[-1].val), Qnone, 1, Qnone, new_args_tail(Qnone, Qnone, Qnone, &(yylsp[-1])), &(yyloc));
2571
 #if 0
2572
@@ -8818,91 +8810,91 @@ yyreduce:
2573
                         dispatch1(excessed_comma, (yyval.val));
2574
 
2575
 		    }
2576
-#line 8818 "ripper.c" /* yacc.c:1646  */
2577
+#line 8810 "ripper.c" /* yacc.c:1646  */
2578
     break;
2579
 
2580
   case 393:
2581
-#line 3474 "ripper.y" /* yacc.c:1646  */
2582
+#line 3466 "ripper.y" /* yacc.c:1646  */
2583
     {
2584
 			(yyval.val) = new_args((yyvsp[-5].val), Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2585
 		    }
2586
-#line 8826 "ripper.c" /* yacc.c:1646  */
2587
+#line 8818 "ripper.c" /* yacc.c:1646  */
2588
     break;
2589
 
2590
   case 394:
2591
-#line 3478 "ripper.y" /* yacc.c:1646  */
2592
+#line 3470 "ripper.y" /* yacc.c:1646  */
2593
     {
2594
 			(yyval.val) = new_args((yyvsp[-1].val), Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc));
2595
 		    }
2596
-#line 8834 "ripper.c" /* yacc.c:1646  */
2597
+#line 8826 "ripper.c" /* yacc.c:1646  */
2598
     break;
2599
 
2600
   case 395:
2601
-#line 3482 "ripper.y" /* yacc.c:1646  */
2602
+#line 3474 "ripper.y" /* yacc.c:1646  */
2603
     {
2604
 			(yyval.val) = new_args(Qnone, (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
2605
 		    }
2606
-#line 8842 "ripper.c" /* yacc.c:1646  */
2607
+#line 8834 "ripper.c" /* yacc.c:1646  */
2608
     break;
2609
 
2610
   case 396:
2611
-#line 3486 "ripper.y" /* yacc.c:1646  */
2612
+#line 3478 "ripper.y" /* yacc.c:1646  */
2613
     {
2614
 			(yyval.val) = new_args(Qnone, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2615
 		    }
2616
-#line 8850 "ripper.c" /* yacc.c:1646  */
2617
+#line 8842 "ripper.c" /* yacc.c:1646  */
2618
     break;
2619
 
2620
   case 397:
2621
-#line 3490 "ripper.y" /* yacc.c:1646  */
2622
+#line 3482 "ripper.y" /* yacc.c:1646  */
2623
     {
2624
 			(yyval.val) = new_args(Qnone, (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc));
2625
 		    }
2626
-#line 8858 "ripper.c" /* yacc.c:1646  */
2627
+#line 8850 "ripper.c" /* yacc.c:1646  */
2628
     break;
2629
 
2630
   case 398:
2631
-#line 3494 "ripper.y" /* yacc.c:1646  */
2632
+#line 3486 "ripper.y" /* yacc.c:1646  */
2633
     {
2634
 			(yyval.val) = new_args(Qnone, (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2635
 		    }
2636
-#line 8866 "ripper.c" /* yacc.c:1646  */
2637
+#line 8858 "ripper.c" /* yacc.c:1646  */
2638
     break;
2639
 
2640
   case 399:
2641
-#line 3498 "ripper.y" /* yacc.c:1646  */
2642
+#line 3490 "ripper.y" /* yacc.c:1646  */
2643
     {
2644
 			(yyval.val) = new_args(Qnone, Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
2645
 		    }
2646
-#line 8874 "ripper.c" /* yacc.c:1646  */
2647
+#line 8866 "ripper.c" /* yacc.c:1646  */
2648
     break;
2649
 
2650
   case 400:
2651
-#line 3502 "ripper.y" /* yacc.c:1646  */
2652
+#line 3494 "ripper.y" /* yacc.c:1646  */
2653
     {
2654
 			(yyval.val) = new_args(Qnone, Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2655
 		    }
2656
-#line 8882 "ripper.c" /* yacc.c:1646  */
2657
+#line 8874 "ripper.c" /* yacc.c:1646  */
2658
     break;
2659
 
2660
   case 401:
2661
-#line 3506 "ripper.y" /* yacc.c:1646  */
2662
+#line 3498 "ripper.y" /* yacc.c:1646  */
2663
     {
2664
 			(yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc));
2665
 		    }
2666
-#line 8890 "ripper.c" /* yacc.c:1646  */
2667
+#line 8882 "ripper.c" /* yacc.c:1646  */
2668
     break;
2669
 
2670
   case 403:
2671
-#line 3513 "ripper.y" /* yacc.c:1646  */
2672
+#line 3505 "ripper.y" /* yacc.c:1646  */
2673
     {
2674
 			command_start = TRUE;
2675
 		    }
2676
-#line 8898 "ripper.c" /* yacc.c:1646  */
2677
+#line 8890 "ripper.c" /* yacc.c:1646  */
2678
     break;
2679
 
2680
   case 404:
2681
-#line 3519 "ripper.y" /* yacc.c:1646  */
2682
+#line 3511 "ripper.y" /* yacc.c:1646  */
2683
     {
2684
 			current_arg = 0;
2685
 #if 0
2686
@@ -8912,11 +8904,11 @@ yyreduce:
2687
                                           escape_Qundef((yyvsp[-1].val)));
2688
 
2689
 		    }
2690
-#line 8912 "ripper.c" /* yacc.c:1646  */
2691
+#line 8904 "ripper.c" /* yacc.c:1646  */
2692
     break;
2693
 
2694
   case 405:
2695
-#line 3529 "ripper.y" /* yacc.c:1646  */
2696
+#line 3521 "ripper.y" /* yacc.c:1646  */
2697
     {
2698
 #if 0
2699
 			(yyval.val) = 0;
2700
@@ -8925,11 +8917,11 @@ yyreduce:
2701
                                           Qnil);
2702
 
2703
 		    }
2704
-#line 8925 "ripper.c" /* yacc.c:1646  */
2705
+#line 8917 "ripper.c" /* yacc.c:1646  */
2706
     break;
2707
 
2708
   case 406:
2709
-#line 3538 "ripper.y" /* yacc.c:1646  */
2710
+#line 3530 "ripper.y" /* yacc.c:1646  */
2711
     {
2712
 			current_arg = 0;
2713
 #if 0
2714
@@ -8938,19 +8930,19 @@ yyreduce:
2715
 			(yyval.val) = blockvar_new(escape_Qundef((yyvsp[-2].val)), escape_Qundef((yyvsp[-1].val)));
2716
 
2717
 		    }
2718
-#line 8938 "ripper.c" /* yacc.c:1646  */
2719
+#line 8930 "ripper.c" /* yacc.c:1646  */
2720
     break;
2721
 
2722
   case 407:
2723
-#line 3550 "ripper.y" /* yacc.c:1646  */
2724
+#line 3542 "ripper.y" /* yacc.c:1646  */
2725
     {
2726
 		      (yyval.val) = 0;
2727
 		    }
2728
-#line 8946 "ripper.c" /* yacc.c:1646  */
2729
+#line 8938 "ripper.c" /* yacc.c:1646  */
2730
     break;
2731
 
2732
   case 408:
2733
-#line 3554 "ripper.y" /* yacc.c:1646  */
2734
+#line 3546 "ripper.y" /* yacc.c:1646  */
2735
     {
2736
 #if 0
2737
 			(yyval.val) = 0;
2738
@@ -8958,27 +8950,27 @@ yyreduce:
2739
 			(yyval.val) = (yyvsp[-1].val);
2740
 
2741
 		    }
2742
-#line 8958 "ripper.c" /* yacc.c:1646  */
2743
+#line 8950 "ripper.c" /* yacc.c:1646  */
2744
     break;
2745
 
2746
   case 409:
2747
-#line 3566 "ripper.y" /* yacc.c:1646  */
2748
+#line 3558 "ripper.y" /* yacc.c:1646  */
2749
     {
2750
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
2751
 		    }
2752
-#line 8966 "ripper.c" /* yacc.c:1646  */
2753
+#line 8958 "ripper.c" /* yacc.c:1646  */
2754
     break;
2755
 
2756
   case 410:
2757
-#line 3573 "ripper.y" /* yacc.c:1646  */
2758
+#line 3565 "ripper.y" /* yacc.c:1646  */
2759
     {
2760
 			rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
2761
 		    }
2762
-#line 8974 "ripper.c" /* yacc.c:1646  */
2763
+#line 8966 "ripper.c" /* yacc.c:1646  */
2764
     break;
2765
 
2766
   case 411:
2767
-#line 3580 "ripper.y" /* yacc.c:1646  */
2768
+#line 3572 "ripper.y" /* yacc.c:1646  */
2769
     {
2770
 			new_bv(get_id((yyvsp[0].val)));
2771
 #if 0
2772
@@ -8986,53 +8978,53 @@ yyreduce:
2773
 			(yyval.val) = get_value((yyvsp[0].val));
2774
 
2775
 		    }
2776
-#line 8986 "ripper.c" /* yacc.c:1646  */
2777
+#line 8978 "ripper.c" /* yacc.c:1646  */
2778
     break;
2779
 
2780
   case 412:
2781
-#line 3588 "ripper.y" /* yacc.c:1646  */
2782
+#line 3580 "ripper.y" /* yacc.c:1646  */
2783
     {
2784
 			(yyval.val) = 0;
2785
 		    }
2786
-#line 8994 "ripper.c" /* yacc.c:1646  */
2787
+#line 8986 "ripper.c" /* yacc.c:1646  */
2788
     break;
2789
 
2790
   case 413:
2791
-#line 3593 "ripper.y" /* yacc.c:1646  */
2792
+#line 3585 "ripper.y" /* yacc.c:1646  */
2793
     {
2794
 			(yyval.vars) = dyna_push();
2795
 		    }
2796
-#line 9002 "ripper.c" /* yacc.c:1646  */
2797
+#line 8994 "ripper.c" /* yacc.c:1646  */
2798
     break;
2799
 
2800
   case 414:
2801
-#line 3596 "ripper.y" /* yacc.c:1646  */
2802
+#line 3588 "ripper.y" /* yacc.c:1646  */
2803
     {
2804
 			(yyval.num) = lpar_beg;
2805
 			lpar_beg = ++paren_nest;
2806
 		    }
2807
-#line 9011 "ripper.c" /* yacc.c:1646  */
2808
+#line 9003 "ripper.c" /* yacc.c:1646  */
2809
     break;
2810
 
2811
   case 415:
2812
-#line 3601 "ripper.y" /* yacc.c:1646  */
2813
+#line 3593 "ripper.y" /* yacc.c:1646  */
2814
     {
2815
 			(yyval.num) = ruby_sourceline;
2816
 		    }
2817
-#line 9019 "ripper.c" /* yacc.c:1646  */
2818
+#line 9011 "ripper.c" /* yacc.c:1646  */
2819
     break;
2820
 
2821
   case 416:
2822
-#line 3604 "ripper.y" /* yacc.c:1646  */
2823
+#line 3596 "ripper.y" /* yacc.c:1646  */
2824
     {
2825
 			(yyval.val) = cmdarg_stack;
2826
 			CMDARG_SET(0);
2827
 		    }
2828
-#line 9028 "ripper.c" /* yacc.c:1646  */
2829
+#line 9020 "ripper.c" /* yacc.c:1646  */
2830
     break;
2831
 
2832
   case 417:
2833
-#line 3609 "ripper.y" /* yacc.c:1646  */
2834
+#line 3601 "ripper.y" /* yacc.c:1646  */
2835
     {
2836
 			lpar_beg = (yyvsp[-4].num);
2837
 			CMDARG_SET((yyvsp[-1].val));
2838
@@ -9047,11 +9039,11 @@ yyreduce:
2839
 
2840
 			dyna_pop((yyvsp[-5].vars));
2841
 		    }
2842
-#line 9047 "ripper.c" /* yacc.c:1646  */
2843
+#line 9039 "ripper.c" /* yacc.c:1646  */
2844
     break;
2845
 
2846
   case 418:
2847
-#line 3626 "ripper.y" /* yacc.c:1646  */
2848
+#line 3618 "ripper.y" /* yacc.c:1646  */
2849
     {
2850
 #if 0
2851
 			(yyval.val) = (yyvsp[-2].val);
2852
@@ -9059,46 +9051,46 @@ yyreduce:
2853
 			(yyval.val) = dispatch1(paren, (yyvsp[-2].val));
2854
 
2855
 		    }
2856
-#line 9059 "ripper.c" /* yacc.c:1646  */
2857
+#line 9051 "ripper.c" /* yacc.c:1646  */
2858
     break;
2859
 
2860
   case 419:
2861
-#line 3634 "ripper.y" /* yacc.c:1646  */
2862
+#line 3626 "ripper.y" /* yacc.c:1646  */
2863
     {
2864
 			(yyval.val) = (yyvsp[0].val);
2865
 		    }
2866
-#line 9067 "ripper.c" /* yacc.c:1646  */
2867
+#line 9059 "ripper.c" /* yacc.c:1646  */
2868
     break;
2869
 
2870
   case 420:
2871
-#line 3640 "ripper.y" /* yacc.c:1646  */
2872
+#line 3632 "ripper.y" /* yacc.c:1646  */
2873
     {
2874
 			token_info_pop("}");
2875
 			(yyval.val) = (yyvsp[-1].val);
2876
 		    }
2877
-#line 9076 "ripper.c" /* yacc.c:1646  */
2878
+#line 9068 "ripper.c" /* yacc.c:1646  */
2879
     break;
2880
 
2881
   case 421:
2882
-#line 3645 "ripper.y" /* yacc.c:1646  */
2883
+#line 3637 "ripper.y" /* yacc.c:1646  */
2884
     {
2885
 			(yyval.val) = (yyvsp[-1].val);
2886
 		    }
2887
-#line 9084 "ripper.c" /* yacc.c:1646  */
2888
+#line 9076 "ripper.c" /* yacc.c:1646  */
2889
     break;
2890
 
2891
   case 422:
2892
-#line 3651 "ripper.y" /* yacc.c:1646  */
2893
+#line 3643 "ripper.y" /* yacc.c:1646  */
2894
     {
2895
 #if 0
2896
 			(yyval.num) = ruby_sourceline;
2897
 #endif
2898
 		    }
2899
-#line 9094 "ripper.c" /* yacc.c:1646  */
2900
+#line 9086 "ripper.c" /* yacc.c:1646  */
2901
     break;
2902
 
2903
   case 423:
2904
-#line 3657 "ripper.y" /* yacc.c:1646  */
2905
+#line 3649 "ripper.y" /* yacc.c:1646  */
2906
     {
2907
 			(yyval.val) = (yyvsp[-1].val);
2908
 #if 0
2909
@@ -9107,11 +9099,11 @@ yyreduce:
2910
 			nd_set_line((yyval.val), (yyvsp[-2].num));
2911
 #endif
2912
 		    }
2913
-#line 9107 "ripper.c" /* yacc.c:1646  */
2914
+#line 9099 "ripper.c" /* yacc.c:1646  */
2915
     break;
2916
 
2917
   case 424:
2918
-#line 3668 "ripper.y" /* yacc.c:1646  */
2919
+#line 3660 "ripper.y" /* yacc.c:1646  */
2920
     {
2921
 #if 0
2922
 			if (nd_type((yyvsp[-1].val)) == NODE_YIELD) {
2923
@@ -9128,19 +9120,19 @@ yyreduce:
2924
 			(yyval.val) = method_add_block((yyvsp[-1].val), (yyvsp[0].val));
2925
 
2926
 		    }
2927
-#line 9128 "ripper.c" /* yacc.c:1646  */
2928
+#line 9120 "ripper.c" /* yacc.c:1646  */
2929
     break;
2930
 
2931
   case 425:
2932
-#line 3685 "ripper.y" /* yacc.c:1646  */
2933
+#line 3677 "ripper.y" /* yacc.c:1646  */
2934
     {
2935
 			(yyval.val) = new_qcall((yyvsp[-2].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
2936
 		    }
2937
-#line 9136 "ripper.c" /* yacc.c:1646  */
2938
+#line 9128 "ripper.c" /* yacc.c:1646  */
2939
     break;
2940
 
2941
   case 426:
2942
-#line 3689 "ripper.y" /* yacc.c:1646  */
2943
+#line 3681 "ripper.y" /* yacc.c:1646  */
2944
     {
2945
 #if 0
2946
 			block_dup_check((yyvsp[-1].val), (yyvsp[0].val));
2947
@@ -9153,11 +9145,11 @@ yyreduce:
2948
 			(yyval.val) = method_add_block((yyval.val), (yyvsp[0].val));
2949
 
2950
 		    }
2951
-#line 9153 "ripper.c" /* yacc.c:1646  */
2952
+#line 9145 "ripper.c" /* yacc.c:1646  */
2953
     break;
2954
 
2955
   case 427:
2956
-#line 3702 "ripper.y" /* yacc.c:1646  */
2957
+#line 3694 "ripper.y" /* yacc.c:1646  */
2958
     {
2959
 #if 0
2960
 			block_dup_check((yyvsp[-1].val), (yyvsp[0].val));
2961
@@ -9170,11 +9162,11 @@ yyreduce:
2962
 			(yyval.val) = method_add_block((yyval.val), (yyvsp[0].val));
2963
 
2964
 		    }
2965
-#line 9170 "ripper.c" /* yacc.c:1646  */
2966
+#line 9162 "ripper.c" /* yacc.c:1646  */
2967
     break;
2968
 
2969
   case 428:
2970
-#line 3717 "ripper.y" /* yacc.c:1646  */
2971
+#line 3709 "ripper.y" /* yacc.c:1646  */
2972
     {
2973
 #if 0
2974
 			(yyval.val) = (yyvsp[-1].val);
2975
@@ -9184,95 +9176,95 @@ yyreduce:
2976
 			(yyval.val) = method_arg(dispatch1(fcall, (yyvsp[-1].val)), (yyvsp[0].val));
2977
 
2978
 		    }
2979
-#line 9184 "ripper.c" /* yacc.c:1646  */
2980
+#line 9176 "ripper.c" /* yacc.c:1646  */
2981
     break;
2982
 
2983
   case 429:
2984
-#line 3727 "ripper.y" /* yacc.c:1646  */
2985
+#line 3719 "ripper.y" /* yacc.c:1646  */
2986
     {
2987
 #if 0
2988
 			(yyval.num) = ruby_sourceline;
2989
 #endif
2990
 		    }
2991
-#line 9194 "ripper.c" /* yacc.c:1646  */
2992
+#line 9186 "ripper.c" /* yacc.c:1646  */
2993
     break;
2994
 
2995
   case 430:
2996
-#line 3733 "ripper.y" /* yacc.c:1646  */
2997
+#line 3725 "ripper.y" /* yacc.c:1646  */
2998
     {
2999
 			(yyval.val) = new_qcall((yyvsp[-3].val), (yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[0].val), &(yyloc));
3000
 			nd_set_line((yyval.val), (yyvsp[-1].num));
3001
 		    }
3002
-#line 9203 "ripper.c" /* yacc.c:1646  */
3003
+#line 9195 "ripper.c" /* yacc.c:1646  */
3004
     break;
3005
 
3006
   case 431:
3007
-#line 3738 "ripper.y" /* yacc.c:1646  */
3008
+#line 3730 "ripper.y" /* yacc.c:1646  */
3009
     {
3010
 #if 0
3011
 			(yyval.num) = ruby_sourceline;
3012
 #endif
3013
 		    }
3014
-#line 9213 "ripper.c" /* yacc.c:1646  */
3015
+#line 9205 "ripper.c" /* yacc.c:1646  */
3016
     break;
3017
 
3018
   case 432:
3019
-#line 3744 "ripper.y" /* yacc.c:1646  */
3020
+#line 3736 "ripper.y" /* yacc.c:1646  */
3021
     {
3022
 			(yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[0].val), &(yyloc));
3023
 			nd_set_line((yyval.val), (yyvsp[-1].num));
3024
 		    }
3025
-#line 9222 "ripper.c" /* yacc.c:1646  */
3026
+#line 9214 "ripper.c" /* yacc.c:1646  */
3027
     break;
3028
 
3029
   case 433:
3030
-#line 3749 "ripper.y" /* yacc.c:1646  */
3031
+#line 3741 "ripper.y" /* yacc.c:1646  */
3032
     {
3033
 			(yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-2].val), (yyvsp[0].val), Qnull, &(yyloc));
3034
 		    }
3035
-#line 9230 "ripper.c" /* yacc.c:1646  */
3036
+#line 9222 "ripper.c" /* yacc.c:1646  */
3037
     break;
3038
 
3039
   case 434:
3040
-#line 3753 "ripper.y" /* yacc.c:1646  */
3041
+#line 3745 "ripper.y" /* yacc.c:1646  */
3042
     {
3043
 #if 0
3044
 			(yyval.num) = ruby_sourceline;
3045
 #endif
3046
 		    }
3047
-#line 9240 "ripper.c" /* yacc.c:1646  */
3048
+#line 9232 "ripper.c" /* yacc.c:1646  */
3049
     break;
3050
 
3051
   case 435:
3052
-#line 3759 "ripper.y" /* yacc.c:1646  */
3053
+#line 3751 "ripper.y" /* yacc.c:1646  */
3054
     {
3055
 			(yyval.val) = new_qcall((yyvsp[-2].val), (yyvsp[-3].val), ID2VAL(idCall), (yyvsp[0].val), &(yyloc));
3056
 			nd_set_line((yyval.val), (yyvsp[-1].num));
3057
 		    }
3058
-#line 9249 "ripper.c" /* yacc.c:1646  */
3059
+#line 9241 "ripper.c" /* yacc.c:1646  */
3060
     break;
3061
 
3062
   case 436:
3063
-#line 3764 "ripper.y" /* yacc.c:1646  */
3064
+#line 3756 "ripper.y" /* yacc.c:1646  */
3065
     {
3066
 #if 0
3067
 			(yyval.num) = ruby_sourceline;
3068
 #endif
3069
 		    }
3070
-#line 9259 "ripper.c" /* yacc.c:1646  */
3071
+#line 9251 "ripper.c" /* yacc.c:1646  */
3072
     break;
3073
 
3074
   case 437:
3075
-#line 3770 "ripper.y" /* yacc.c:1646  */
3076
+#line 3762 "ripper.y" /* yacc.c:1646  */
3077
     {
3078
 			(yyval.val) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-3].val), ID2VAL(idCall), (yyvsp[0].val), &(yyloc));
3079
 			nd_set_line((yyval.val), (yyvsp[-1].num));
3080
 		    }
3081
-#line 9268 "ripper.c" /* yacc.c:1646  */
3082
+#line 9260 "ripper.c" /* yacc.c:1646  */
3083
     break;
3084
 
3085
   case 438:
3086
-#line 3775 "ripper.y" /* yacc.c:1646  */
3087
+#line 3767 "ripper.y" /* yacc.c:1646  */
3088
     {
3089
 #if 0
3090
 			(yyval.val) = NEW_SUPER((yyvsp[0].val));
3091
@@ -9281,11 +9273,11 @@ yyreduce:
3092
 			(yyval.val) = dispatch1(super, (yyvsp[0].val));
3093
 
3094
 		    }
3095
-#line 9281 "ripper.c" /* yacc.c:1646  */
3096
+#line 9273 "ripper.c" /* yacc.c:1646  */
3097
     break;
3098
 
3099
   case 439:
3100
-#line 3784 "ripper.y" /* yacc.c:1646  */
3101
+#line 3776 "ripper.y" /* yacc.c:1646  */
3102
     {
3103
 #if 0
3104
 			(yyval.val) = NEW_ZSUPER();
3105
@@ -9294,11 +9286,11 @@ yyreduce:
3106
 			(yyval.val) = dispatch0(zsuper);
3107
 
3108
 		    }
3109
-#line 9294 "ripper.c" /* yacc.c:1646  */
3110
+#line 9286 "ripper.c" /* yacc.c:1646  */
3111
     break;
3112
 
3113
   case 440:
3114
-#line 3793 "ripper.y" /* yacc.c:1646  */
3115
+#line 3785 "ripper.y" /* yacc.c:1646  */
3116
     {
3117
 #if 0
3118
 			if ((yyvsp[-3].val) && nd_type((yyvsp[-3].val)) == NODE_SELF)
3119
@@ -9310,21 +9302,21 @@ yyreduce:
3120
 			(yyval.val) = dispatch2(aref, (yyvsp[-3].val), escape_Qundef((yyvsp[-1].val)));
3121
 
3122
 		    }
3123
-#line 9310 "ripper.c" /* yacc.c:1646  */
3124
+#line 9302 "ripper.c" /* yacc.c:1646  */
3125
     break;
3126
 
3127
   case 441:
3128
-#line 3807 "ripper.y" /* yacc.c:1646  */
3129
+#line 3799 "ripper.y" /* yacc.c:1646  */
3130
     {
3131
 #if 0
3132
 			(yyval.num) = ruby_sourceline;
3133
 #endif
3134
 		    }
3135
-#line 9320 "ripper.c" /* yacc.c:1646  */
3136
+#line 9312 "ripper.c" /* yacc.c:1646  */
3137
     break;
3138
 
3139
   case 442:
3140
-#line 3813 "ripper.y" /* yacc.c:1646  */
3141
+#line 3805 "ripper.y" /* yacc.c:1646  */
3142
     {
3143
 			(yyval.val) = (yyvsp[-1].val);
3144
 #if 0
3145
@@ -9333,21 +9325,21 @@ yyreduce:
3146
 			nd_set_line((yyval.val), (yyvsp[-2].num));
3147
 #endif
3148
 		    }
3149
-#line 9333 "ripper.c" /* yacc.c:1646  */
3150
+#line 9325 "ripper.c" /* yacc.c:1646  */
3151
     break;
3152
 
3153
   case 443:
3154
-#line 3822 "ripper.y" /* yacc.c:1646  */
3155
+#line 3814 "ripper.y" /* yacc.c:1646  */
3156
     {
3157
 #if 0
3158
 			(yyval.num) = ruby_sourceline;
3159
 #endif
3160
 		    }
3161
-#line 9343 "ripper.c" /* yacc.c:1646  */
3162
+#line 9335 "ripper.c" /* yacc.c:1646  */
3163
     break;
3164
 
3165
   case 444:
3166
-#line 3828 "ripper.y" /* yacc.c:1646  */
3167
+#line 3820 "ripper.y" /* yacc.c:1646  */
3168
     {
3169
 			(yyval.val) = (yyvsp[-1].val);
3170
 #if 0
3171
@@ -9356,55 +9348,55 @@ yyreduce:
3172
 			nd_set_line((yyval.val), (yyvsp[-2].num));
3173
 #endif
3174
 		    }
3175
-#line 9356 "ripper.c" /* yacc.c:1646  */
3176
+#line 9348 "ripper.c" /* yacc.c:1646  */
3177
     break;
3178
 
3179
   case 445:
3180
-#line 3838 "ripper.y" /* yacc.c:1646  */
3181
+#line 3830 "ripper.y" /* yacc.c:1646  */
3182
     {(yyval.vars) = dyna_push();}
3183
-#line 9362 "ripper.c" /* yacc.c:1646  */
3184
+#line 9354 "ripper.c" /* yacc.c:1646  */
3185
     break;
3186
 
3187
   case 446:
3188
-#line 3839 "ripper.y" /* yacc.c:1646  */
3189
+#line 3831 "ripper.y" /* yacc.c:1646  */
3190
     {(yyval.val) = cmdarg_stack >> 1; CMDARG_SET(0);}
3191
-#line 9368 "ripper.c" /* yacc.c:1646  */
3192
+#line 9360 "ripper.c" /* yacc.c:1646  */
3193
     break;
3194
 
3195
   case 447:
3196
-#line 3841 "ripper.y" /* yacc.c:1646  */
3197
+#line 3833 "ripper.y" /* yacc.c:1646  */
3198
     {
3199
 			(yyval.val) = new_brace_body((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3200
 			dyna_pop((yyvsp[-3].vars));
3201
 			CMDARG_SET((yyvsp[-2].val));
3202
 		    }
3203
-#line 9378 "ripper.c" /* yacc.c:1646  */
3204
+#line 9370 "ripper.c" /* yacc.c:1646  */
3205
     break;
3206
 
3207
   case 448:
3208
-#line 3848 "ripper.y" /* yacc.c:1646  */
3209
+#line 3840 "ripper.y" /* yacc.c:1646  */
3210
     {(yyval.vars) = dyna_push();}
3211
-#line 9384 "ripper.c" /* yacc.c:1646  */
3212
+#line 9376 "ripper.c" /* yacc.c:1646  */
3213
     break;
3214
 
3215
   case 449:
3216
-#line 3849 "ripper.y" /* yacc.c:1646  */
3217
+#line 3841 "ripper.y" /* yacc.c:1646  */
3218
     {(yyval.val) = cmdarg_stack; CMDARG_SET(0);}
3219
-#line 9390 "ripper.c" /* yacc.c:1646  */
3220
+#line 9382 "ripper.c" /* yacc.c:1646  */
3221
     break;
3222
 
3223
   case 450:
3224
-#line 3851 "ripper.y" /* yacc.c:1646  */
3225
+#line 3843 "ripper.y" /* yacc.c:1646  */
3226
     {
3227
 			(yyval.val) = new_do_body((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3228
 			dyna_pop((yyvsp[-3].vars));
3229
 			CMDARG_SET((yyvsp[-2].val));
3230
 		    }
3231
-#line 9400 "ripper.c" /* yacc.c:1646  */
3232
+#line 9392 "ripper.c" /* yacc.c:1646  */
3233
     break;
3234
 
3235
   case 451:
3236
-#line 3861 "ripper.y" /* yacc.c:1646  */
3237
+#line 3853 "ripper.y" /* yacc.c:1646  */
3238
     {
3239
 #if 0
3240
 			(yyval.val) = NEW_WHEN((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val));
3241
@@ -9413,11 +9405,11 @@ yyreduce:
3242
 			(yyval.val) = dispatch3(when, (yyvsp[-3].val), (yyvsp[-1].val), escape_Qundef((yyvsp[0].val)));
3243
 
3244
 		    }
3245
-#line 9413 "ripper.c" /* yacc.c:1646  */
3246
+#line 9405 "ripper.c" /* yacc.c:1646  */
3247
     break;
3248
 
3249
   case 454:
3250
-#line 3878 "ripper.y" /* yacc.c:1646  */
3251
+#line 3870 "ripper.y" /* yacc.c:1646  */
3252
     {
3253
 #if 0
3254
 			if ((yyvsp[-3].val)) {
3255
@@ -9437,11 +9429,11 @@ yyreduce:
3256
 				       escape_Qundef((yyvsp[0].val)));
3257
 
3258
 		    }
3259
-#line 9437 "ripper.c" /* yacc.c:1646  */
3260
+#line 9429 "ripper.c" /* yacc.c:1646  */
3261
     break;
3262
 
3263
   case 456:
3264
-#line 3901 "ripper.y" /* yacc.c:1646  */
3265
+#line 3893 "ripper.y" /* yacc.c:1646  */
3266
     {
3267
 #if 0
3268
 			(yyval.val) = new_list((yyvsp[0].val), &(yyloc));
3269
@@ -9449,11 +9441,11 @@ yyreduce:
3270
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
3271
 
3272
 		    }
3273
-#line 9449 "ripper.c" /* yacc.c:1646  */
3274
+#line 9441 "ripper.c" /* yacc.c:1646  */
3275
     break;
3276
 
3277
   case 457:
3278
-#line 3909 "ripper.y" /* yacc.c:1646  */
3279
+#line 3901 "ripper.y" /* yacc.c:1646  */
3280
     {
3281
 #if 0
3282
 			if (!((yyval.val) = splat_array((yyvsp[0].val)))) (yyval.val) = (yyvsp[0].val);
3283
@@ -9461,19 +9453,19 @@ yyreduce:
3284
 			(yyval.val) = (yyvsp[0].val);
3285
 
3286
 		    }
3287
-#line 9461 "ripper.c" /* yacc.c:1646  */
3288
+#line 9453 "ripper.c" /* yacc.c:1646  */
3289
     break;
3290
 
3291
   case 459:
3292
-#line 3920 "ripper.y" /* yacc.c:1646  */
3293
+#line 3912 "ripper.y" /* yacc.c:1646  */
3294
     {
3295
 			(yyval.val) = (yyvsp[0].val);
3296
 		    }
3297
-#line 9469 "ripper.c" /* yacc.c:1646  */
3298
+#line 9461 "ripper.c" /* yacc.c:1646  */
3299
     break;
3300
 
3301
   case 461:
3302
-#line 3927 "ripper.y" /* yacc.c:1646  */
3303
+#line 3919 "ripper.y" /* yacc.c:1646  */
3304
     {
3305
 #if 0
3306
 			(yyval.val) = (yyvsp[0].val);
3307
@@ -9481,11 +9473,11 @@ yyreduce:
3308
 			(yyval.val) = dispatch1(ensure, (yyvsp[0].val));
3309
 
3310
 		    }
3311
-#line 9481 "ripper.c" /* yacc.c:1646  */
3312
+#line 9473 "ripper.c" /* yacc.c:1646  */
3313
     break;
3314
 
3315
   case 464:
3316
-#line 3939 "ripper.y" /* yacc.c:1646  */
3317
+#line 3931 "ripper.y" /* yacc.c:1646  */
3318
     {
3319
 #if 0
3320
 			(yyval.val) = new_lit(ID2SYM((yyvsp[0].val)), &(yyloc));
3321
@@ -9493,11 +9485,11 @@ yyreduce:
3322
 			(yyval.val) = dispatch1(symbol_literal, (yyvsp[0].val));
3323
 
3324
 		    }
3325
-#line 9493 "ripper.c" /* yacc.c:1646  */
3326
+#line 9485 "ripper.c" /* yacc.c:1646  */
3327
     break;
3328
 
3329
   case 466:
3330
-#line 3950 "ripper.y" /* yacc.c:1646  */
3331
+#line 3942 "ripper.y" /* yacc.c:1646  */
3332
     {
3333
 #if 0
3334
 			NODE *node = (yyvsp[0].val);
3335
@@ -9512,22 +9504,22 @@ yyreduce:
3336
 			(yyval.val) = (yyvsp[0].val);
3337
 
3338
 		    }
3339
-#line 9512 "ripper.c" /* yacc.c:1646  */
3340
+#line 9504 "ripper.c" /* yacc.c:1646  */
3341
     break;
3342
 
3343
   case 467:
3344
-#line 3967 "ripper.y" /* yacc.c:1646  */
3345
+#line 3959 "ripper.y" /* yacc.c:1646  */
3346
     {
3347
 #if 0
3348
 			(yyval.val)->nd_loc = (yyloc);
3349
 #endif
3350
 
3351
 		    }
3352
-#line 9523 "ripper.c" /* yacc.c:1646  */
3353
+#line 9515 "ripper.c" /* yacc.c:1646  */
3354
     break;
3355
 
3356
   case 469:
3357
-#line 3975 "ripper.y" /* yacc.c:1646  */
3358
+#line 3967 "ripper.y" /* yacc.c:1646  */
3359
     {
3360
 #if 0
3361
 			(yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3362
@@ -9535,11 +9527,11 @@ yyreduce:
3363
 			(yyval.val) = dispatch2(string_concat, (yyvsp[-1].val), (yyvsp[0].val));
3364
 
3365
 		    }
3366
-#line 9535 "ripper.c" /* yacc.c:1646  */
3367
+#line 9527 "ripper.c" /* yacc.c:1646  */
3368
     break;
3369
 
3370
   case 470:
3371
-#line 3985 "ripper.y" /* yacc.c:1646  */
3372
+#line 3977 "ripper.y" /* yacc.c:1646  */
3373
     {
3374
 			(yyval.val) = new_string1(heredoc_dedent((yyvsp[-1].val)));
3375
 #if 0
3376
@@ -9547,27 +9539,27 @@ yyreduce:
3377
 #endif
3378
 
3379
 		    }
3380
-#line 9547 "ripper.c" /* yacc.c:1646  */
3381
+#line 9539 "ripper.c" /* yacc.c:1646  */
3382
     break;
3383
 
3384
   case 471:
3385
-#line 3995 "ripper.y" /* yacc.c:1646  */
3386
+#line 3987 "ripper.y" /* yacc.c:1646  */
3387
     {
3388
 			(yyval.val) = new_xstring(heredoc_dedent((yyvsp[-1].val)), &(yyloc));
3389
 		    }
3390
-#line 9555 "ripper.c" /* yacc.c:1646  */
3391
+#line 9547 "ripper.c" /* yacc.c:1646  */
3392
     break;
3393
 
3394
   case 472:
3395
-#line 4001 "ripper.y" /* yacc.c:1646  */
3396
+#line 3993 "ripper.y" /* yacc.c:1646  */
3397
     {
3398
 			(yyval.val) = new_regexp((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3399
 		    }
3400
-#line 9563 "ripper.c" /* yacc.c:1646  */
3401
+#line 9555 "ripper.c" /* yacc.c:1646  */
3402
     break;
3403
 
3404
   case 473:
3405
-#line 4007 "ripper.y" /* yacc.c:1646  */
3406
+#line 3999 "ripper.y" /* yacc.c:1646  */
3407
     {
3408
 #if 0
3409
 			(yyval.val) = make_array((yyvsp[-1].val), &(yyloc));
3410
@@ -9575,11 +9567,11 @@ yyreduce:
3411
 			(yyval.val) = dispatch1(array, (yyvsp[-1].val));
3412
 
3413
 		    }
3414
-#line 9575 "ripper.c" /* yacc.c:1646  */
3415
+#line 9567 "ripper.c" /* yacc.c:1646  */
3416
     break;
3417
 
3418
   case 474:
3419
-#line 4017 "ripper.y" /* yacc.c:1646  */
3420
+#line 4009 "ripper.y" /* yacc.c:1646  */
3421
     {
3422
 #if 0
3423
 			(yyval.val) = 0;
3424
@@ -9587,11 +9579,11 @@ yyreduce:
3425
 			(yyval.val) = dispatch0(words_new);
3426
 
3427
 		    }
3428
-#line 9587 "ripper.c" /* yacc.c:1646  */
3429
+#line 9579 "ripper.c" /* yacc.c:1646  */
3430
     break;
3431
 
3432
   case 475:
3433
-#line 4025 "ripper.y" /* yacc.c:1646  */
3434
+#line 4017 "ripper.y" /* yacc.c:1646  */
3435
     {
3436
 #if 0
3437
 			(yyval.val) = list_append((yyvsp[-2].val), evstr2dstr((yyvsp[-1].val)));
3438
@@ -9599,20 +9591,20 @@ yyreduce:
3439
 			(yyval.val) = dispatch2(words_add, (yyvsp[-2].val), (yyvsp[-1].val));
3440
 
3441
 		    }
3442
-#line 9599 "ripper.c" /* yacc.c:1646  */
3443
+#line 9591 "ripper.c" /* yacc.c:1646  */
3444
     break;
3445
 
3446
   case 476:
3447
-#line 4037 "ripper.y" /* yacc.c:1646  */
3448
+#line 4029 "ripper.y" /* yacc.c:1646  */
3449
     {
3450
 			(yyval.val) = dispatch0(word_new);
3451
 			(yyval.val) = dispatch2(word_add, (yyval.val), (yyvsp[0].val));
3452
 		    }
3453
-#line 9608 "ripper.c" /* yacc.c:1646  */
3454
+#line 9600 "ripper.c" /* yacc.c:1646  */
3455
     break;
3456
 
3457
   case 477:
3458
-#line 4043 "ripper.y" /* yacc.c:1646  */
3459
+#line 4035 "ripper.y" /* yacc.c:1646  */
3460
     {
3461
 #if 0
3462
 			(yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3463
@@ -9620,11 +9612,11 @@ yyreduce:
3464
 			(yyval.val) = dispatch2(word_add, (yyvsp[-1].val), (yyvsp[0].val));
3465
 
3466
 		    }
3467
-#line 9620 "ripper.c" /* yacc.c:1646  */
3468
+#line 9612 "ripper.c" /* yacc.c:1646  */
3469
     break;
3470
 
3471
   case 478:
3472
-#line 4053 "ripper.y" /* yacc.c:1646  */
3473
+#line 4045 "ripper.y" /* yacc.c:1646  */
3474
     {
3475
 #if 0
3476
 			(yyval.val) = make_array((yyvsp[-1].val), &(yyloc));
3477
@@ -9632,11 +9624,11 @@ yyreduce:
3478
 			(yyval.val) = dispatch1(array, (yyvsp[-1].val));
3479
 
3480
 		    }
3481
-#line 9632 "ripper.c" /* yacc.c:1646  */
3482
+#line 9624 "ripper.c" /* yacc.c:1646  */
3483
     break;
3484
 
3485
   case 479:
3486
-#line 4063 "ripper.y" /* yacc.c:1646  */
3487
+#line 4055 "ripper.y" /* yacc.c:1646  */
3488
     {
3489
 #if 0
3490
 			(yyval.val) = 0;
3491
@@ -9644,11 +9636,11 @@ yyreduce:
3492
 			(yyval.val) = dispatch0(symbols_new);
3493
 
3494
 		    }
3495
-#line 9644 "ripper.c" /* yacc.c:1646  */
3496
+#line 9636 "ripper.c" /* yacc.c:1646  */
3497
     break;
3498
 
3499
   case 480:
3500
-#line 4071 "ripper.y" /* yacc.c:1646  */
3501
+#line 4063 "ripper.y" /* yacc.c:1646  */
3502
     {
3503
 #if 0
3504
 			(yyvsp[-1].val) = evstr2dstr((yyvsp[-1].val));
3505
@@ -9664,11 +9656,11 @@ yyreduce:
3506
 			(yyval.val) = dispatch2(symbols_add, (yyvsp[-2].val), (yyvsp[-1].val));
3507
 
3508
 		    }
3509
-#line 9664 "ripper.c" /* yacc.c:1646  */
3510
+#line 9656 "ripper.c" /* yacc.c:1646  */
3511
     break;
3512
 
3513
   case 481:
3514
-#line 4089 "ripper.y" /* yacc.c:1646  */
3515
+#line 4081 "ripper.y" /* yacc.c:1646  */
3516
     {
3517
 #if 0
3518
 			(yyval.val) = make_array((yyvsp[-1].val), &(yyloc));
3519
@@ -9676,11 +9668,11 @@ yyreduce:
3520
 			(yyval.val) = dispatch1(array, (yyvsp[-1].val));
3521
 
3522
 		    }
3523
-#line 9676 "ripper.c" /* yacc.c:1646  */
3524
+#line 9668 "ripper.c" /* yacc.c:1646  */
3525
     break;
3526
 
3527
   case 482:
3528
-#line 4099 "ripper.y" /* yacc.c:1646  */
3529
+#line 4091 "ripper.y" /* yacc.c:1646  */
3530
     {
3531
 #if 0
3532
 			(yyval.val) = make_array((yyvsp[-1].val), &(yyloc));
3533
@@ -9688,11 +9680,11 @@ yyreduce:
3534
 			(yyval.val) = dispatch1(array, (yyvsp[-1].val));
3535
 
3536
 		    }
3537
-#line 9688 "ripper.c" /* yacc.c:1646  */
3538
+#line 9680 "ripper.c" /* yacc.c:1646  */
3539
     break;
3540
 
3541
   case 483:
3542
-#line 4109 "ripper.y" /* yacc.c:1646  */
3543
+#line 4101 "ripper.y" /* yacc.c:1646  */
3544
     {
3545
 #if 0
3546
 			(yyval.val) = 0;
3547
@@ -9700,11 +9692,11 @@ yyreduce:
3548
 			(yyval.val) = dispatch0(qwords_new);
3549
 
3550
 		    }
3551
-#line 9700 "ripper.c" /* yacc.c:1646  */
3552
+#line 9692 "ripper.c" /* yacc.c:1646  */
3553
     break;
3554
 
3555
   case 484:
3556
-#line 4117 "ripper.y" /* yacc.c:1646  */
3557
+#line 4109 "ripper.y" /* yacc.c:1646  */
3558
     {
3559
 #if 0
3560
 			(yyvsp[-1].val)->nd_loc = (yylsp[-1]);
3561
@@ -9713,11 +9705,11 @@ yyreduce:
3562
 			(yyval.val) = dispatch2(qwords_add, (yyvsp[-2].val), (yyvsp[-1].val));
3563
 
3564
 		    }
3565
-#line 9713 "ripper.c" /* yacc.c:1646  */
3566
+#line 9705 "ripper.c" /* yacc.c:1646  */
3567
     break;
3568
 
3569
   case 485:
3570
-#line 4128 "ripper.y" /* yacc.c:1646  */
3571
+#line 4120 "ripper.y" /* yacc.c:1646  */
3572
     {
3573
 #if 0
3574
 			(yyval.val) = 0;
3575
@@ -9725,11 +9717,11 @@ yyreduce:
3576
 			(yyval.val) = dispatch0(qsymbols_new);
3577
 
3578
 		    }
3579
-#line 9725 "ripper.c" /* yacc.c:1646  */
3580
+#line 9717 "ripper.c" /* yacc.c:1646  */
3581
     break;
3582
 
3583
   case 486:
3584
-#line 4136 "ripper.y" /* yacc.c:1646  */
3585
+#line 4128 "ripper.y" /* yacc.c:1646  */
3586
     {
3587
 #if 0
3588
 			VALUE lit;
3589
@@ -9742,11 +9734,11 @@ yyreduce:
3590
 			(yyval.val) = dispatch2(qsymbols_add, (yyvsp[-2].val), (yyvsp[-1].val));
3591
 
3592
 		    }
3593
-#line 9742 "ripper.c" /* yacc.c:1646  */
3594
+#line 9734 "ripper.c" /* yacc.c:1646  */
3595
     break;
3596
 
3597
   case 487:
3598
-#line 4151 "ripper.y" /* yacc.c:1646  */
3599
+#line 4143 "ripper.y" /* yacc.c:1646  */
3600
     {
3601
 #if 0
3602
 			(yyval.val) = 0;
3603
@@ -9754,11 +9746,11 @@ yyreduce:
3604
 			(yyval.val) = dispatch0(string_content);
3605
 
3606
 		    }
3607
-#line 9754 "ripper.c" /* yacc.c:1646  */
3608
+#line 9746 "ripper.c" /* yacc.c:1646  */
3609
     break;
3610
 
3611
   case 488:
3612
-#line 4159 "ripper.y" /* yacc.c:1646  */
3613
+#line 4151 "ripper.y" /* yacc.c:1646  */
3614
     {
3615
 #if 0
3616
 			(yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3617
@@ -9766,11 +9758,11 @@ yyreduce:
3618
 			(yyval.val) = dispatch2(string_add, (yyvsp[-1].val), (yyvsp[0].val));
3619
 
3620
 		    }
3621
-#line 9766 "ripper.c" /* yacc.c:1646  */
3622
+#line 9758 "ripper.c" /* yacc.c:1646  */
3623
     break;
3624
 
3625
   case 489:
3626
-#line 4169 "ripper.y" /* yacc.c:1646  */
3627
+#line 4161 "ripper.y" /* yacc.c:1646  */
3628
     {
3629
 #if 0
3630
 			(yyval.val) = 0;
3631
@@ -9778,11 +9770,11 @@ yyreduce:
3632
 			(yyval.val) = dispatch0(xstring_new);
3633
 
3634
 		    }
3635
-#line 9778 "ripper.c" /* yacc.c:1646  */
3636
+#line 9770 "ripper.c" /* yacc.c:1646  */
3637
     break;
3638
 
3639
   case 490:
3640
-#line 4177 "ripper.y" /* yacc.c:1646  */
3641
+#line 4169 "ripper.y" /* yacc.c:1646  */
3642
     {
3643
 #if 0
3644
 			(yyval.val) = literal_concat((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
3645
@@ -9790,11 +9782,11 @@ yyreduce:
3646
 			(yyval.val) = dispatch2(xstring_add, (yyvsp[-1].val), (yyvsp[0].val));
3647
 
3648
 		    }
3649
-#line 9790 "ripper.c" /* yacc.c:1646  */
3650
+#line 9782 "ripper.c" /* yacc.c:1646  */
3651
     break;
3652
 
3653
   case 491:
3654
-#line 4187 "ripper.y" /* yacc.c:1646  */
3655
+#line 4179 "ripper.y" /* yacc.c:1646  */
3656
     {
3657
 #if 0
3658
 			(yyval.val) = 0;
3659
@@ -9802,11 +9794,11 @@ yyreduce:
3660
 			(yyval.val) = ripper_new_yylval(0, dispatch0(regexp_new), 0);
3661
 
3662
 		    }
3663
-#line 9802 "ripper.c" /* yacc.c:1646  */
3664
+#line 9794 "ripper.c" /* yacc.c:1646  */
3665
     break;
3666
 
3667
   case 492:
3668
-#line 4195 "ripper.y" /* yacc.c:1646  */
3669
+#line 4187 "ripper.y" /* yacc.c:1646  */
3670
     {
3671
 #if 0
3672
 			NODE *head = (yyvsp[-1].val), *tail = (yyvsp[0].val);
3673
@@ -9845,33 +9837,33 @@ yyreduce:
3674
 			}
3675
 
3676
 		    }
3677
-#line 9845 "ripper.c" /* yacc.c:1646  */
3678
+#line 9837 "ripper.c" /* yacc.c:1646  */
3679
     break;
3680
 
3681
   case 493:
3682
-#line 4236 "ripper.y" /* yacc.c:1646  */
3683
+#line 4228 "ripper.y" /* yacc.c:1646  */
3684
     {
3685
 #if 0
3686
 			(yyval.val)->nd_loc = (yyloc);
3687
 #endif
3688
 
3689
 		    }
3690
-#line 9856 "ripper.c" /* yacc.c:1646  */
3691
+#line 9848 "ripper.c" /* yacc.c:1646  */
3692
     break;
3693
 
3694
   case 494:
3695
-#line 4243 "ripper.y" /* yacc.c:1646  */
3696
+#line 4235 "ripper.y" /* yacc.c:1646  */
3697
     {
3698
 			/* need to backup lex_strterm so that a string literal `%&foo,#$&,bar&` can be parsed */
3699
 			(yyval.strterm) = lex_strterm;
3700
 			lex_strterm = 0;
3701
 			SET_LEX_STATE(EXPR_BEG);
3702
 		    }
3703
-#line 9867 "ripper.c" /* yacc.c:1646  */
3704
+#line 9859 "ripper.c" /* yacc.c:1646  */
3705
     break;
3706
 
3707
   case 495:
3708
-#line 4250 "ripper.y" /* yacc.c:1646  */
3709
+#line 4242 "ripper.y" /* yacc.c:1646  */
3710
     {
3711
 			lex_strterm = (yyvsp[-1].strterm);
3712
 #if 0
3713
@@ -9881,59 +9873,59 @@ yyreduce:
3714
 			(yyval.val) = dispatch1(string_dvar, (yyvsp[0].val));
3715
 
3716
 		    }
3717
-#line 9881 "ripper.c" /* yacc.c:1646  */
3718
+#line 9873 "ripper.c" /* yacc.c:1646  */
3719
     break;
3720
 
3721
   case 496:
3722
-#line 4260 "ripper.y" /* yacc.c:1646  */
3723
+#line 4252 "ripper.y" /* yacc.c:1646  */
3724
     {
3725
 			(yyvsp[0].val) = cond_stack;
3726
 			(yyval.val) = cmdarg_stack;
3727
 			COND_SET(0);
3728
 			CMDARG_SET(0);
3729
 		    }
3730
-#line 9892 "ripper.c" /* yacc.c:1646  */
3731
+#line 9884 "ripper.c" /* yacc.c:1646  */
3732
     break;
3733
 
3734
   case 497:
3735
-#line 4266 "ripper.y" /* yacc.c:1646  */
3736
+#line 4258 "ripper.y" /* yacc.c:1646  */
3737
     {
3738
 			/* need to backup lex_strterm so that a string literal `%!foo,#{ !0 },bar!` can be parsed */
3739
 			(yyval.strterm) = lex_strterm;
3740
 			lex_strterm = 0;
3741
 		    }
3742
-#line 9902 "ripper.c" /* yacc.c:1646  */
3743
+#line 9894 "ripper.c" /* yacc.c:1646  */
3744
     break;
3745
 
3746
   case 498:
3747
-#line 4271 "ripper.y" /* yacc.c:1646  */
3748
+#line 4263 "ripper.y" /* yacc.c:1646  */
3749
     {
3750
 			(yyval.num) = lex_state;
3751
 			SET_LEX_STATE(EXPR_BEG);
3752
 		    }
3753
-#line 9911 "ripper.c" /* yacc.c:1646  */
3754
+#line 9903 "ripper.c" /* yacc.c:1646  */
3755
     break;
3756
 
3757
   case 499:
3758
-#line 4275 "ripper.y" /* yacc.c:1646  */
3759
+#line 4267 "ripper.y" /* yacc.c:1646  */
3760
     {
3761
 			(yyval.num) = brace_nest;
3762
 			brace_nest = 0;
3763
 		    }
3764
-#line 9920 "ripper.c" /* yacc.c:1646  */
3765
+#line 9912 "ripper.c" /* yacc.c:1646  */
3766
     break;
3767
 
3768
   case 500:
3769
-#line 4279 "ripper.y" /* yacc.c:1646  */
3770
+#line 4271 "ripper.y" /* yacc.c:1646  */
3771
     {
3772
 			(yyval.num) = heredoc_indent;
3773
 			heredoc_indent = 0;
3774
 		    }
3775
-#line 9929 "ripper.c" /* yacc.c:1646  */
3776
+#line 9921 "ripper.c" /* yacc.c:1646  */
3777
     break;
3778
 
3779
   case 501:
3780
-#line 4284 "ripper.y" /* yacc.c:1646  */
3781
+#line 4276 "ripper.y" /* yacc.c:1646  */
3782
     {
3783
 			COND_SET((yyvsp[-7].val));
3784
 			CMDARG_SET((yyvsp[-6].val));
3785
@@ -9949,11 +9941,11 @@ yyreduce:
3786
 			(yyval.val) = dispatch1(string_embexpr, (yyvsp[-1].val));
3787
 
3788
 		    }
3789
-#line 9949 "ripper.c" /* yacc.c:1646  */
3790
+#line 9941 "ripper.c" /* yacc.c:1646  */
3791
     break;
3792
 
3793
   case 502:
3794
-#line 4302 "ripper.y" /* yacc.c:1646  */
3795
+#line 4294 "ripper.y" /* yacc.c:1646  */
3796
     {
3797
 #if 0
3798
 			(yyval.val) = new_gvar((yyvsp[0].val), &(yyloc));
3799
@@ -9961,11 +9953,11 @@ yyreduce:
3800
 			(yyval.val) = dispatch1(var_ref, (yyvsp[0].val));
3801
 
3802
 		    }
3803
-#line 9961 "ripper.c" /* yacc.c:1646  */
3804
+#line 9953 "ripper.c" /* yacc.c:1646  */
3805
     break;
3806
 
3807
   case 503:
3808
-#line 4310 "ripper.y" /* yacc.c:1646  */
3809
+#line 4302 "ripper.y" /* yacc.c:1646  */
3810
     {
3811
 #if 0
3812
 			(yyval.val) = new_ivar((yyvsp[0].val), &(yyloc));
3813
@@ -9973,11 +9965,11 @@ yyreduce:
3814
 			(yyval.val) = dispatch1(var_ref, (yyvsp[0].val));
3815
 
3816
 		    }
3817
-#line 9973 "ripper.c" /* yacc.c:1646  */
3818
+#line 9965 "ripper.c" /* yacc.c:1646  */
3819
     break;
3820
 
3821
   case 504:
3822
-#line 4318 "ripper.y" /* yacc.c:1646  */
3823
+#line 4310 "ripper.y" /* yacc.c:1646  */
3824
     {
3825
 #if 0
3826
 			(yyval.val) = NEW_CVAR((yyvsp[0].val));
3827
@@ -9986,11 +9978,11 @@ yyreduce:
3828
 			(yyval.val) = dispatch1(var_ref, (yyvsp[0].val));
3829
 
3830
 		    }
3831
-#line 9986 "ripper.c" /* yacc.c:1646  */
3832
+#line 9978 "ripper.c" /* yacc.c:1646  */
3833
     break;
3834
 
3835
   case 506:
3836
-#line 4330 "ripper.y" /* yacc.c:1646  */
3837
+#line 4322 "ripper.y" /* yacc.c:1646  */
3838
     {
3839
 			SET_LEX_STATE(EXPR_END|EXPR_ENDARG);
3840
 #if 0
3841
@@ -9999,11 +9991,11 @@ yyreduce:
3842
 			(yyval.val) = dispatch1(symbol, (yyvsp[0].val));
3843
 
3844
 		    }
3845
-#line 9999 "ripper.c" /* yacc.c:1646  */
3846
+#line 9991 "ripper.c" /* yacc.c:1646  */
3847
     break;
3848
 
3849
   case 511:
3850
-#line 4347 "ripper.y" /* yacc.c:1646  */
3851
+#line 4339 "ripper.y" /* yacc.c:1646  */
3852
     {
3853
 			SET_LEX_STATE(EXPR_END|EXPR_ENDARG);
3854
 #if 0
3855
@@ -10012,11 +10004,11 @@ yyreduce:
3856
 			(yyval.val) = dispatch1(dyna_symbol, (yyvsp[-1].val));
3857
 
3858
 		    }
3859
-#line 10012 "ripper.c" /* yacc.c:1646  */
3860
+#line 10004 "ripper.c" /* yacc.c:1646  */
3861
     break;
3862
 
3863
   case 513:
3864
-#line 4359 "ripper.y" /* yacc.c:1646  */
3865
+#line 4351 "ripper.y" /* yacc.c:1646  */
3866
     {
3867
 #if 0
3868
 			(yyval.val) = (yyvsp[0].val);
3869
@@ -10025,97 +10017,97 @@ yyreduce:
3870
 			(yyval.val) = dispatch2(unary, ID2VAL(idUMinus), (yyvsp[0].val));
3871
 
3872
 		    }
3873
-#line 10025 "ripper.c" /* yacc.c:1646  */
3874
+#line 10017 "ripper.c" /* yacc.c:1646  */
3875
     break;
3876
 
3877
   case 514:
3878
-#line 4370 "ripper.y" /* yacc.c:1646  */
3879
+#line 4362 "ripper.y" /* yacc.c:1646  */
3880
     {
3881
 #if 0
3882
 			(yyval.val)->nd_loc = (yyloc);
3883
 #endif
3884
 
3885
 		    }
3886
-#line 10036 "ripper.c" /* yacc.c:1646  */
3887
+#line 10028 "ripper.c" /* yacc.c:1646  */
3888
     break;
3889
 
3890
   case 515:
3891
-#line 4377 "ripper.y" /* yacc.c:1646  */
3892
+#line 4369 "ripper.y" /* yacc.c:1646  */
3893
     {
3894
 #if 0
3895
 			(yyval.val)->nd_loc = (yyloc);
3896
 #endif
3897
 
3898
 		    }
3899
-#line 10047 "ripper.c" /* yacc.c:1646  */
3900
+#line 10039 "ripper.c" /* yacc.c:1646  */
3901
     break;
3902
 
3903
   case 516:
3904
-#line 4384 "ripper.y" /* yacc.c:1646  */
3905
+#line 4376 "ripper.y" /* yacc.c:1646  */
3906
     {
3907
 #if 0
3908
 			(yyval.val)->nd_loc = (yyloc);
3909
 #endif
3910
 
3911
 		    }
3912
-#line 10058 "ripper.c" /* yacc.c:1646  */
3913
+#line 10050 "ripper.c" /* yacc.c:1646  */
3914
     break;
3915
 
3916
   case 517:
3917
-#line 4391 "ripper.y" /* yacc.c:1646  */
3918
+#line 4383 "ripper.y" /* yacc.c:1646  */
3919
     {
3920
 #if 0
3921
 			(yyval.val)->nd_loc = (yyloc);
3922
 #endif
3923
 
3924
 		    }
3925
-#line 10069 "ripper.c" /* yacc.c:1646  */
3926
+#line 10061 "ripper.c" /* yacc.c:1646  */
3927
     break;
3928
 
3929
   case 523:
3930
-#line 4406 "ripper.y" /* yacc.c:1646  */
3931
+#line 4398 "ripper.y" /* yacc.c:1646  */
3932
     {(yyval.val) = KWD2EID(nil, (yyvsp[0].val));}
3933
-#line 10075 "ripper.c" /* yacc.c:1646  */
3934
+#line 10067 "ripper.c" /* yacc.c:1646  */
3935
     break;
3936
 
3937
   case 524:
3938
-#line 4407 "ripper.y" /* yacc.c:1646  */
3939
+#line 4399 "ripper.y" /* yacc.c:1646  */
3940
     {(yyval.val) = KWD2EID(self, (yyvsp[0].val));}
3941
-#line 10081 "ripper.c" /* yacc.c:1646  */
3942
+#line 10073 "ripper.c" /* yacc.c:1646  */
3943
     break;
3944
 
3945
   case 525:
3946
-#line 4408 "ripper.y" /* yacc.c:1646  */
3947
+#line 4400 "ripper.y" /* yacc.c:1646  */
3948
     {(yyval.val) = KWD2EID(true, (yyvsp[0].val));}
3949
-#line 10087 "ripper.c" /* yacc.c:1646  */
3950
+#line 10079 "ripper.c" /* yacc.c:1646  */
3951
     break;
3952
 
3953
   case 526:
3954
-#line 4409 "ripper.y" /* yacc.c:1646  */
3955
+#line 4401 "ripper.y" /* yacc.c:1646  */
3956
     {(yyval.val) = KWD2EID(false, (yyvsp[0].val));}
3957
-#line 10093 "ripper.c" /* yacc.c:1646  */
3958
+#line 10085 "ripper.c" /* yacc.c:1646  */
3959
     break;
3960
 
3961
   case 527:
3962
-#line 4410 "ripper.y" /* yacc.c:1646  */
3963
+#line 4402 "ripper.y" /* yacc.c:1646  */
3964
     {(yyval.val) = KWD2EID(_FILE__, (yyvsp[0].val));}
3965
-#line 10099 "ripper.c" /* yacc.c:1646  */
3966
+#line 10091 "ripper.c" /* yacc.c:1646  */
3967
     break;
3968
 
3969
   case 528:
3970
-#line 4411 "ripper.y" /* yacc.c:1646  */
3971
+#line 4403 "ripper.y" /* yacc.c:1646  */
3972
     {(yyval.val) = KWD2EID(_LINE__, (yyvsp[0].val));}
3973
-#line 10105 "ripper.c" /* yacc.c:1646  */
3974
+#line 10097 "ripper.c" /* yacc.c:1646  */
3975
     break;
3976
 
3977
   case 529:
3978
-#line 4412 "ripper.y" /* yacc.c:1646  */
3979
+#line 4404 "ripper.y" /* yacc.c:1646  */
3980
     {(yyval.val) = KWD2EID(_ENCODING__, (yyvsp[0].val));}
3981
-#line 10111 "ripper.c" /* yacc.c:1646  */
3982
+#line 10103 "ripper.c" /* yacc.c:1646  */
3983
     break;
3984
 
3985
   case 530:
3986
-#line 4416 "ripper.y" /* yacc.c:1646  */
3987
+#line 4408 "ripper.y" /* yacc.c:1646  */
3988
     {
3989
 #if 0
3990
 			if (!((yyval.val) = gettable((yyvsp[0].val), &(yyloc)))) (yyval.val) = new_begin(0, &(yyloc));
3991
@@ -10128,11 +10120,11 @@ yyreduce:
3992
 			}
3993
 
3994
 		    }
3995
-#line 10128 "ripper.c" /* yacc.c:1646  */
3996
+#line 10120 "ripper.c" /* yacc.c:1646  */
3997
     break;
3998
 
3999
   case 531:
4000
-#line 4429 "ripper.y" /* yacc.c:1646  */
4001
+#line 4421 "ripper.y" /* yacc.c:1646  */
4002
     {
4003
 #if 0
4004
 			if (!((yyval.val) = gettable((yyvsp[0].val), &(yyloc)))) (yyval.val) = new_begin(0, &(yyloc));
4005
@@ -10140,66 +10132,66 @@ yyreduce:
4006
 			(yyval.val) = dispatch1(var_ref, (yyvsp[0].val));
4007
 
4008
 		    }
4009
-#line 10140 "ripper.c" /* yacc.c:1646  */
4010
+#line 10132 "ripper.c" /* yacc.c:1646  */
4011
     break;
4012
 
4013
   case 532:
4014
-#line 4439 "ripper.y" /* yacc.c:1646  */
4015
+#line 4431 "ripper.y" /* yacc.c:1646  */
4016
     {
4017
 			(yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc));
4018
 		    }
4019
-#line 10148 "ripper.c" /* yacc.c:1646  */
4020
+#line 10140 "ripper.c" /* yacc.c:1646  */
4021
     break;
4022
 
4023
   case 533:
4024
-#line 4443 "ripper.y" /* yacc.c:1646  */
4025
+#line 4435 "ripper.y" /* yacc.c:1646  */
4026
     {
4027
 			(yyval.val) = assignable(var_field((yyvsp[0].val)), 0, &(yyloc));
4028
 		    }
4029
-#line 10156 "ripper.c" /* yacc.c:1646  */
4030
+#line 10148 "ripper.c" /* yacc.c:1646  */
4031
     break;
4032
 
4033
   case 534:
4034
-#line 4449 "ripper.y" /* yacc.c:1646  */
4035
+#line 4441 "ripper.y" /* yacc.c:1646  */
4036
     {
4037
 #if 0
4038
 			(yyval.val)->nd_loc = (yyloc);
4039
 #endif
4040
 
4041
 		    }
4042
-#line 10167 "ripper.c" /* yacc.c:1646  */
4043
+#line 10159 "ripper.c" /* yacc.c:1646  */
4044
     break;
4045
 
4046
   case 535:
4047
-#line 4456 "ripper.y" /* yacc.c:1646  */
4048
+#line 4448 "ripper.y" /* yacc.c:1646  */
4049
     {
4050
 #if 0
4051
 			(yyval.val)->nd_loc = (yyloc);
4052
 #endif
4053
 
4054
 		    }
4055
-#line 10178 "ripper.c" /* yacc.c:1646  */
4056
+#line 10170 "ripper.c" /* yacc.c:1646  */
4057
     break;
4058
 
4059
   case 536:
4060
-#line 4465 "ripper.y" /* yacc.c:1646  */
4061
+#line 4457 "ripper.y" /* yacc.c:1646  */
4062
     {
4063
 			SET_LEX_STATE(EXPR_BEG);
4064
 			command_start = TRUE;
4065
 		    }
4066
-#line 10187 "ripper.c" /* yacc.c:1646  */
4067
+#line 10179 "ripper.c" /* yacc.c:1646  */
4068
     break;
4069
 
4070
   case 537:
4071
-#line 4470 "ripper.y" /* yacc.c:1646  */
4072
+#line 4462 "ripper.y" /* yacc.c:1646  */
4073
     {
4074
 			(yyval.val) = (yyvsp[-1].val);
4075
 		    }
4076
-#line 10195 "ripper.c" /* yacc.c:1646  */
4077
+#line 10187 "ripper.c" /* yacc.c:1646  */
4078
     break;
4079
 
4080
   case 538:
4081
-#line 4474 "ripper.y" /* yacc.c:1646  */
4082
+#line 4466 "ripper.y" /* yacc.c:1646  */
4083
     {
4084
 #if 0
4085
 			(yyval.val) = 0;
4086
@@ -10207,11 +10199,11 @@ yyreduce:
4087
 			(yyval.val) = Qnil;
4088
 
4089
 		    }
4090
-#line 10207 "ripper.c" /* yacc.c:1646  */
4091
+#line 10199 "ripper.c" /* yacc.c:1646  */
4092
     break;
4093
 
4094
   case 539:
4095
-#line 4484 "ripper.y" /* yacc.c:1646  */
4096
+#line 4476 "ripper.y" /* yacc.c:1646  */
4097
     {
4098
 #if 0
4099
 			(yyval.val) = (yyvsp[-1].val);
4100
@@ -10221,201 +10213,201 @@ yyreduce:
4101
 			SET_LEX_STATE(EXPR_BEG);
4102
 			command_start = TRUE;
4103
 		    }
4104
-#line 10221 "ripper.c" /* yacc.c:1646  */
4105
+#line 10213 "ripper.c" /* yacc.c:1646  */
4106
     break;
4107
 
4108
   case 540:
4109
-#line 4493 "ripper.y" /* yacc.c:1646  */
4110
+#line 4485 "ripper.y" /* yacc.c:1646  */
4111
     {
4112
 			(yyval.num) = parser->in_kwarg;
4113
 			parser->in_kwarg = 1;
4114
 			SET_LEX_STATE(lex_state|EXPR_LABEL); /* force for args */
4115
 		    }
4116
-#line 10231 "ripper.c" /* yacc.c:1646  */
4117
+#line 10223 "ripper.c" /* yacc.c:1646  */
4118
     break;
4119
 
4120
   case 541:
4121
-#line 4499 "ripper.y" /* yacc.c:1646  */
4122
+#line 4491 "ripper.y" /* yacc.c:1646  */
4123
     {
4124
 			parser->in_kwarg = !!(yyvsp[-2].num);
4125
 			(yyval.val) = (yyvsp[-1].val);
4126
 			SET_LEX_STATE(EXPR_BEG);
4127
 			command_start = TRUE;
4128
 		    }
4129
-#line 10242 "ripper.c" /* yacc.c:1646  */
4130
+#line 10234 "ripper.c" /* yacc.c:1646  */
4131
     break;
4132
 
4133
   case 542:
4134
-#line 4508 "ripper.y" /* yacc.c:1646  */
4135
+#line 4500 "ripper.y" /* yacc.c:1646  */
4136
     {
4137
 			(yyval.val) = new_args_tail((yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]));
4138
 		    }
4139
-#line 10250 "ripper.c" /* yacc.c:1646  */
4140
+#line 10242 "ripper.c" /* yacc.c:1646  */
4141
     break;
4142
 
4143
   case 543:
4144
-#line 4512 "ripper.y" /* yacc.c:1646  */
4145
+#line 4504 "ripper.y" /* yacc.c:1646  */
4146
     {
4147
 			(yyval.val) = new_args_tail((yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yylsp[-1]));
4148
 		    }
4149
-#line 10258 "ripper.c" /* yacc.c:1646  */
4150
+#line 10250 "ripper.c" /* yacc.c:1646  */
4151
     break;
4152
 
4153
   case 544:
4154
-#line 4516 "ripper.y" /* yacc.c:1646  */
4155
+#line 4508 "ripper.y" /* yacc.c:1646  */
4156
     {
4157
 			(yyval.val) = new_args_tail(Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yylsp[-1]));
4158
 		    }
4159
-#line 10266 "ripper.c" /* yacc.c:1646  */
4160
+#line 10258 "ripper.c" /* yacc.c:1646  */
4161
     break;
4162
 
4163
   case 545:
4164
-#line 4520 "ripper.y" /* yacc.c:1646  */
4165
+#line 4512 "ripper.y" /* yacc.c:1646  */
4166
     {
4167
 			(yyval.val) = new_args_tail(Qnone, Qnone, (yyvsp[0].val), &(yylsp[0]));
4168
 		    }
4169
-#line 10274 "ripper.c" /* yacc.c:1646  */
4170
+#line 10266 "ripper.c" /* yacc.c:1646  */
4171
     break;
4172
 
4173
   case 546:
4174
-#line 4526 "ripper.y" /* yacc.c:1646  */
4175
+#line 4518 "ripper.y" /* yacc.c:1646  */
4176
     {
4177
 			(yyval.val) = (yyvsp[0].val);
4178
 		    }
4179
-#line 10282 "ripper.c" /* yacc.c:1646  */
4180
+#line 10274 "ripper.c" /* yacc.c:1646  */
4181
     break;
4182
 
4183
   case 547:
4184
-#line 4530 "ripper.y" /* yacc.c:1646  */
4185
+#line 4522 "ripper.y" /* yacc.c:1646  */
4186
     {
4187
 			(yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
4188
 		    }
4189
-#line 10290 "ripper.c" /* yacc.c:1646  */
4190
+#line 10282 "ripper.c" /* yacc.c:1646  */
4191
     break;
4192
 
4193
   case 548:
4194
-#line 4536 "ripper.y" /* yacc.c:1646  */
4195
+#line 4528 "ripper.y" /* yacc.c:1646  */
4196
     {
4197
 			(yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
4198
 		    }
4199
-#line 10298 "ripper.c" /* yacc.c:1646  */
4200
+#line 10290 "ripper.c" /* yacc.c:1646  */
4201
     break;
4202
 
4203
   case 549:
4204
-#line 4540 "ripper.y" /* yacc.c:1646  */
4205
+#line 4532 "ripper.y" /* yacc.c:1646  */
4206
     {
4207
 			(yyval.val) = new_args((yyvsp[-7].val), (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4208
 		    }
4209
-#line 10306 "ripper.c" /* yacc.c:1646  */
4210
+#line 10298 "ripper.c" /* yacc.c:1646  */
4211
     break;
4212
 
4213
   case 550:
4214
-#line 4544 "ripper.y" /* yacc.c:1646  */
4215
+#line 4536 "ripper.y" /* yacc.c:1646  */
4216
     {
4217
 			(yyval.val) = new_args((yyvsp[-3].val), (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc));
4218
 		    }
4219
-#line 10314 "ripper.c" /* yacc.c:1646  */
4220
+#line 10306 "ripper.c" /* yacc.c:1646  */
4221
     break;
4222
 
4223
   case 551:
4224
-#line 4548 "ripper.y" /* yacc.c:1646  */
4225
+#line 4540 "ripper.y" /* yacc.c:1646  */
4226
     {
4227
 			(yyval.val) = new_args((yyvsp[-5].val), (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4228
 		    }
4229
-#line 10322 "ripper.c" /* yacc.c:1646  */
4230
+#line 10314 "ripper.c" /* yacc.c:1646  */
4231
     break;
4232
 
4233
   case 552:
4234
-#line 4552 "ripper.y" /* yacc.c:1646  */
4235
+#line 4544 "ripper.y" /* yacc.c:1646  */
4236
     {
4237
 			(yyval.val) = new_args((yyvsp[-3].val), Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
4238
 		    }
4239
-#line 10330 "ripper.c" /* yacc.c:1646  */
4240
+#line 10322 "ripper.c" /* yacc.c:1646  */
4241
     break;
4242
 
4243
   case 553:
4244
-#line 4556 "ripper.y" /* yacc.c:1646  */
4245
+#line 4548 "ripper.y" /* yacc.c:1646  */
4246
     {
4247
 			(yyval.val) = new_args((yyvsp[-5].val), Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4248
 		    }
4249
-#line 10338 "ripper.c" /* yacc.c:1646  */
4250
+#line 10330 "ripper.c" /* yacc.c:1646  */
4251
     break;
4252
 
4253
   case 554:
4254
-#line 4560 "ripper.y" /* yacc.c:1646  */
4255
+#line 4552 "ripper.y" /* yacc.c:1646  */
4256
     {
4257
 			(yyval.val) = new_args((yyvsp[-1].val), Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc));
4258
 		    }
4259
-#line 10346 "ripper.c" /* yacc.c:1646  */
4260
+#line 10338 "ripper.c" /* yacc.c:1646  */
4261
     break;
4262
 
4263
   case 555:
4264
-#line 4564 "ripper.y" /* yacc.c:1646  */
4265
+#line 4556 "ripper.y" /* yacc.c:1646  */
4266
     {
4267
 			(yyval.val) = new_args(Qnone, (yyvsp[-3].val), (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
4268
 		    }
4269
-#line 10354 "ripper.c" /* yacc.c:1646  */
4270
+#line 10346 "ripper.c" /* yacc.c:1646  */
4271
     break;
4272
 
4273
   case 556:
4274
-#line 4568 "ripper.y" /* yacc.c:1646  */
4275
+#line 4560 "ripper.y" /* yacc.c:1646  */
4276
     {
4277
 			(yyval.val) = new_args(Qnone, (yyvsp[-5].val), (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4278
 		    }
4279
-#line 10362 "ripper.c" /* yacc.c:1646  */
4280
+#line 10354 "ripper.c" /* yacc.c:1646  */
4281
     break;
4282
 
4283
   case 557:
4284
-#line 4572 "ripper.y" /* yacc.c:1646  */
4285
+#line 4564 "ripper.y" /* yacc.c:1646  */
4286
     {
4287
 			(yyval.val) = new_args(Qnone, (yyvsp[-1].val), Qnone, Qnone, (yyvsp[0].val), &(yyloc));
4288
 		    }
4289
-#line 10370 "ripper.c" /* yacc.c:1646  */
4290
+#line 10362 "ripper.c" /* yacc.c:1646  */
4291
     break;
4292
 
4293
   case 558:
4294
-#line 4576 "ripper.y" /* yacc.c:1646  */
4295
+#line 4568 "ripper.y" /* yacc.c:1646  */
4296
     {
4297
 			(yyval.val) = new_args(Qnone, (yyvsp[-3].val), Qnone, (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4298
 		    }
4299
-#line 10378 "ripper.c" /* yacc.c:1646  */
4300
+#line 10370 "ripper.c" /* yacc.c:1646  */
4301
     break;
4302
 
4303
   case 559:
4304
-#line 4580 "ripper.y" /* yacc.c:1646  */
4305
+#line 4572 "ripper.y" /* yacc.c:1646  */
4306
     {
4307
 			(yyval.val) = new_args(Qnone, Qnone, (yyvsp[-1].val), Qnone, (yyvsp[0].val), &(yyloc));
4308
 		    }
4309
-#line 10386 "ripper.c" /* yacc.c:1646  */
4310
+#line 10378 "ripper.c" /* yacc.c:1646  */
4311
     break;
4312
 
4313
   case 560:
4314
-#line 4584 "ripper.y" /* yacc.c:1646  */
4315
+#line 4576 "ripper.y" /* yacc.c:1646  */
4316
     {
4317
 			(yyval.val) = new_args(Qnone, Qnone, (yyvsp[-3].val), (yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4318
 		    }
4319
-#line 10394 "ripper.c" /* yacc.c:1646  */
4320
+#line 10386 "ripper.c" /* yacc.c:1646  */
4321
     break;
4322
 
4323
   case 561:
4324
-#line 4588 "ripper.y" /* yacc.c:1646  */
4325
+#line 4580 "ripper.y" /* yacc.c:1646  */
4326
     {
4327
 			(yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].val), &(yyloc));
4328
 		    }
4329
-#line 10402 "ripper.c" /* yacc.c:1646  */
4330
+#line 10394 "ripper.c" /* yacc.c:1646  */
4331
     break;
4332
 
4333
   case 562:
4334
-#line 4592 "ripper.y" /* yacc.c:1646  */
4335
+#line 4584 "ripper.y" /* yacc.c:1646  */
4336
     {
4337
 			(yyval.val) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
4338
 			(yyval.val) = new_args(Qnone, Qnone, Qnone, Qnone, (yyval.val), &(yylsp[0]));
4339
 		    }
4340
-#line 10411 "ripper.c" /* yacc.c:1646  */
4341
+#line 10403 "ripper.c" /* yacc.c:1646  */
4342
     break;
4343
 
4344
   case 563:
4345
-#line 4599 "ripper.y" /* yacc.c:1646  */
4346
+#line 4591 "ripper.y" /* yacc.c:1646  */
4347
     {
4348
 #if 0
4349
 			yyerror0("formal argument cannot be a constant");
4350
@@ -10425,11 +10417,11 @@ yyreduce:
4351
 			ripper_error();
4352
 
4353
 		    }
4354
-#line 10425 "ripper.c" /* yacc.c:1646  */
4355
+#line 10417 "ripper.c" /* yacc.c:1646  */
4356
     break;
4357
 
4358
   case 564:
4359
-#line 4609 "ripper.y" /* yacc.c:1646  */
4360
+#line 4601 "ripper.y" /* yacc.c:1646  */
4361
     {
4362
 #if 0
4363
 			yyerror0("formal argument cannot be an instance variable");
4364
@@ -10439,11 +10431,11 @@ yyreduce:
4365
 			ripper_error();
4366
 
4367
 		    }
4368
-#line 10439 "ripper.c" /* yacc.c:1646  */
4369
+#line 10431 "ripper.c" /* yacc.c:1646  */
4370
     break;
4371
 
4372
   case 565:
4373
-#line 4619 "ripper.y" /* yacc.c:1646  */
4374
+#line 4611 "ripper.y" /* yacc.c:1646  */
4375
     {
4376
 #if 0
4377
 			yyerror0("formal argument cannot be a global variable");
4378
@@ -10453,11 +10445,11 @@ yyreduce:
4379
 			ripper_error();
4380
 
4381
 		    }
4382
-#line 10453 "ripper.c" /* yacc.c:1646  */
4383
+#line 10445 "ripper.c" /* yacc.c:1646  */
4384
     break;
4385
 
4386
   case 566:
4387
-#line 4629 "ripper.y" /* yacc.c:1646  */
4388
+#line 4621 "ripper.y" /* yacc.c:1646  */
4389
     {
4390
 #if 0
4391
 			yyerror0("formal argument cannot be a class variable");
4392
@@ -10467,31 +10459,31 @@ yyreduce:
4393
 			ripper_error();
4394
 
4395
 		    }
4396
-#line 10467 "ripper.c" /* yacc.c:1646  */
4397
+#line 10459 "ripper.c" /* yacc.c:1646  */
4398
     break;
4399
 
4400
   case 568:
4401
-#line 4642 "ripper.y" /* yacc.c:1646  */
4402
+#line 4634 "ripper.y" /* yacc.c:1646  */
4403
     {
4404
 			formal_argument(get_id((yyvsp[0].val)));
4405
 			(yyval.val) = (yyvsp[0].val);
4406
 		    }
4407
-#line 10476 "ripper.c" /* yacc.c:1646  */
4408
+#line 10468 "ripper.c" /* yacc.c:1646  */
4409
     break;
4410
 
4411
   case 569:
4412
-#line 4649 "ripper.y" /* yacc.c:1646  */
4413
+#line 4641 "ripper.y" /* yacc.c:1646  */
4414
     {
4415
 			ID id = get_id((yyvsp[0].val));
4416
 			arg_var(id);
4417
 			current_arg = id;
4418
 			(yyval.val) = (yyvsp[0].val);
4419
 		    }
4420
-#line 10487 "ripper.c" /* yacc.c:1646  */
4421
+#line 10479 "ripper.c" /* yacc.c:1646  */
4422
     break;
4423
 
4424
   case 570:
4425
-#line 4658 "ripper.y" /* yacc.c:1646  */
4426
+#line 4650 "ripper.y" /* yacc.c:1646  */
4427
     {
4428
 			current_arg = 0;
4429
 #if 0
4430
@@ -10500,11 +10492,11 @@ yyreduce:
4431
 			(yyval.val) = get_value((yyvsp[0].val));
4432
 
4433
 		    }
4434
-#line 10500 "ripper.c" /* yacc.c:1646  */
4435
+#line 10492 "ripper.c" /* yacc.c:1646  */
4436
     break;
4437
 
4438
   case 571:
4439
-#line 4667 "ripper.y" /* yacc.c:1646  */
4440
+#line 4659 "ripper.y" /* yacc.c:1646  */
4441
     {
4442
 			ID tid = internal_id();
4443
 #if 0
4444
@@ -10527,19 +10519,19 @@ yyreduce:
4445
 			(yyval.val) = dispatch1(mlhs_paren, (yyvsp[-1].val));
4446
 
4447
 		    }
4448
-#line 10527 "ripper.c" /* yacc.c:1646  */
4449
+#line 10519 "ripper.c" /* yacc.c:1646  */
4450
     break;
4451
 
4452
   case 572:
4453
-#line 4694 "ripper.y" /* yacc.c:1646  */
4454
+#line 4686 "ripper.y" /* yacc.c:1646  */
4455
     {
4456
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4457
 		    }
4458
-#line 10535 "ripper.c" /* yacc.c:1646  */
4459
+#line 10527 "ripper.c" /* yacc.c:1646  */
4460
     break;
4461
 
4462
   case 573:
4463
-#line 4699 "ripper.y" /* yacc.c:1646  */
4464
+#line 4691 "ripper.y" /* yacc.c:1646  */
4465
     {
4466
 #if 0
4467
 			(yyval.val) = (yyvsp[-2].val);
4468
@@ -10550,22 +10542,22 @@ yyreduce:
4469
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4470
 
4471
 		    }
4472
-#line 10550 "ripper.c" /* yacc.c:1646  */
4473
+#line 10542 "ripper.c" /* yacc.c:1646  */
4474
     break;
4475
 
4476
   case 574:
4477
-#line 4713 "ripper.y" /* yacc.c:1646  */
4478
+#line 4705 "ripper.y" /* yacc.c:1646  */
4479
     {
4480
 			ID id = get_id((yyvsp[0].val));
4481
 			arg_var(formal_argument(id));
4482
 			current_arg = id;
4483
 			(yyval.val) = (yyvsp[0].val);
4484
 		    }
4485
-#line 10561 "ripper.c" /* yacc.c:1646  */
4486
+#line 10553 "ripper.c" /* yacc.c:1646  */
4487
     break;
4488
 
4489
   case 575:
4490
-#line 4722 "ripper.y" /* yacc.c:1646  */
4491
+#line 4714 "ripper.y" /* yacc.c:1646  */
4492
     {
4493
 			current_arg = 0;
4494
 			(yyval.val) = assignable((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4495
@@ -10575,11 +10567,11 @@ yyreduce:
4496
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val)));
4497
 
4498
 		    }
4499
-#line 10575 "ripper.c" /* yacc.c:1646  */
4500
+#line 10567 "ripper.c" /* yacc.c:1646  */
4501
     break;
4502
 
4503
   case 576:
4504
-#line 4732 "ripper.y" /* yacc.c:1646  */
4505
+#line 4724 "ripper.y" /* yacc.c:1646  */
4506
     {
4507
 			current_arg = 0;
4508
 			(yyval.val) = assignable((yyvsp[0].val), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc));
4509
@@ -10589,11 +10581,11 @@ yyreduce:
4510
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), 0);
4511
 
4512
 		    }
4513
-#line 10589 "ripper.c" /* yacc.c:1646  */
4514
+#line 10581 "ripper.c" /* yacc.c:1646  */
4515
     break;
4516
 
4517
   case 577:
4518
-#line 4744 "ripper.y" /* yacc.c:1646  */
4519
+#line 4736 "ripper.y" /* yacc.c:1646  */
4520
     {
4521
 			(yyval.val) = assignable((yyvsp[-1].val), (yyvsp[0].val), &(yyloc));
4522
 #if 0
4523
@@ -10602,11 +10594,11 @@ yyreduce:
4524
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val)));
4525
 
4526
 		    }
4527
-#line 10602 "ripper.c" /* yacc.c:1646  */
4528
+#line 10594 "ripper.c" /* yacc.c:1646  */
4529
     break;
4530
 
4531
   case 578:
4532
-#line 4753 "ripper.y" /* yacc.c:1646  */
4533
+#line 4745 "ripper.y" /* yacc.c:1646  */
4534
     {
4535
 			(yyval.val) = assignable((yyvsp[0].val), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc));
4536
 #if 0
4537
@@ -10615,11 +10607,11 @@ yyreduce:
4538
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), 0);
4539
 
4540
 		    }
4541
-#line 10615 "ripper.c" /* yacc.c:1646  */
4542
+#line 10607 "ripper.c" /* yacc.c:1646  */
4543
     break;
4544
 
4545
   case 579:
4546
-#line 4764 "ripper.y" /* yacc.c:1646  */
4547
+#line 4756 "ripper.y" /* yacc.c:1646  */
4548
     {
4549
 #if 0
4550
 			(yyval.val) = (yyvsp[0].val);
4551
@@ -10627,11 +10619,11 @@ yyreduce:
4552
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4553
 
4554
 		    }
4555
-#line 10627 "ripper.c" /* yacc.c:1646  */
4556
+#line 10619 "ripper.c" /* yacc.c:1646  */
4557
     break;
4558
 
4559
   case 580:
4560
-#line 4772 "ripper.y" /* yacc.c:1646  */
4561
+#line 4764 "ripper.y" /* yacc.c:1646  */
4562
     {
4563
 #if 0
4564
 			(yyval.val) = kwd_append((yyvsp[-2].val), (yyvsp[0].val));
4565
@@ -10639,11 +10631,11 @@ yyreduce:
4566
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4567
 
4568
 		    }
4569
-#line 10639 "ripper.c" /* yacc.c:1646  */
4570
+#line 10631 "ripper.c" /* yacc.c:1646  */
4571
     break;
4572
 
4573
   case 581:
4574
-#line 4783 "ripper.y" /* yacc.c:1646  */
4575
+#line 4775 "ripper.y" /* yacc.c:1646  */
4576
     {
4577
 #if 0
4578
 			(yyval.val) = (yyvsp[0].val);
4579
@@ -10651,11 +10643,11 @@ yyreduce:
4580
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4581
 
4582
 		    }
4583
-#line 10651 "ripper.c" /* yacc.c:1646  */
4584
+#line 10643 "ripper.c" /* yacc.c:1646  */
4585
     break;
4586
 
4587
   case 582:
4588
-#line 4791 "ripper.y" /* yacc.c:1646  */
4589
+#line 4783 "ripper.y" /* yacc.c:1646  */
4590
     {
4591
 #if 0
4592
 			(yyval.val) = kwd_append((yyvsp[-2].val), (yyvsp[0].val));
4593
@@ -10663,11 +10655,11 @@ yyreduce:
4594
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4595
 
4596
 		    }
4597
-#line 10663 "ripper.c" /* yacc.c:1646  */
4598
+#line 10655 "ripper.c" /* yacc.c:1646  */
4599
     break;
4600
 
4601
   case 585:
4602
-#line 4805 "ripper.y" /* yacc.c:1646  */
4603
+#line 4797 "ripper.y" /* yacc.c:1646  */
4604
     {
4605
 			shadowing_lvar(get_id((yyvsp[0].val)));
4606
 #if 0
4607
@@ -10676,11 +10668,11 @@ yyreduce:
4608
 			(yyval.val) = dispatch1(kwrest_param, (yyvsp[0].val));
4609
 
4610
 		    }
4611
-#line 10676 "ripper.c" /* yacc.c:1646  */
4612
+#line 10668 "ripper.c" /* yacc.c:1646  */
4613
     break;
4614
 
4615
   case 586:
4616
-#line 4814 "ripper.y" /* yacc.c:1646  */
4617
+#line 4806 "ripper.y" /* yacc.c:1646  */
4618
     {
4619
 #if 0
4620
 			(yyval.val) = internal_id();
4621
@@ -10689,11 +10681,11 @@ yyreduce:
4622
 			(yyval.val) = dispatch1(kwrest_param, Qnil);
4623
 
4624
 		    }
4625
-#line 10689 "ripper.c" /* yacc.c:1646  */
4626
+#line 10681 "ripper.c" /* yacc.c:1646  */
4627
     break;
4628
 
4629
   case 587:
4630
-#line 4825 "ripper.y" /* yacc.c:1646  */
4631
+#line 4817 "ripper.y" /* yacc.c:1646  */
4632
     {
4633
 			current_arg = 0;
4634
 			(yyval.val) = assignable((yyvsp[-2].val), (yyvsp[0].val), &(yyloc));
4635
@@ -10704,11 +10696,11 @@ yyreduce:
4636
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val)));
4637
 
4638
 		    }
4639
-#line 10704 "ripper.c" /* yacc.c:1646  */
4640
+#line 10696 "ripper.c" /* yacc.c:1646  */
4641
     break;
4642
 
4643
   case 588:
4644
-#line 4838 "ripper.y" /* yacc.c:1646  */
4645
+#line 4830 "ripper.y" /* yacc.c:1646  */
4646
     {
4647
 			current_arg = 0;
4648
 			(yyval.val) = assignable((yyvsp[-2].val), (yyvsp[0].val), &(yyloc));
4649
@@ -10719,11 +10711,11 @@ yyreduce:
4650
 			(yyval.val) = rb_assoc_new(get_value((yyval.val)), get_value((yyvsp[0].val)));
4651
 
4652
 		    }
4653
-#line 10719 "ripper.c" /* yacc.c:1646  */
4654
+#line 10711 "ripper.c" /* yacc.c:1646  */
4655
     break;
4656
 
4657
   case 589:
4658
-#line 4851 "ripper.y" /* yacc.c:1646  */
4659
+#line 4843 "ripper.y" /* yacc.c:1646  */
4660
     {
4661
 #if 0
4662
 			(yyval.val) = (yyvsp[0].val);
4663
@@ -10731,11 +10723,11 @@ yyreduce:
4664
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4665
 
4666
 		    }
4667
-#line 10731 "ripper.c" /* yacc.c:1646  */
4668
+#line 10723 "ripper.c" /* yacc.c:1646  */
4669
     break;
4670
 
4671
   case 590:
4672
-#line 4859 "ripper.y" /* yacc.c:1646  */
4673
+#line 4851 "ripper.y" /* yacc.c:1646  */
4674
     {
4675
 #if 0
4676
 			(yyval.val) = opt_arg_append((yyvsp[-2].val), (yyvsp[0].val));
4677
@@ -10743,11 +10735,11 @@ yyreduce:
4678
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4679
 
4680
 		    }
4681
-#line 10743 "ripper.c" /* yacc.c:1646  */
4682
+#line 10735 "ripper.c" /* yacc.c:1646  */
4683
     break;
4684
 
4685
   case 591:
4686
-#line 4869 "ripper.y" /* yacc.c:1646  */
4687
+#line 4861 "ripper.y" /* yacc.c:1646  */
4688
     {
4689
 #if 0
4690
 			(yyval.val) = (yyvsp[0].val);
4691
@@ -10755,11 +10747,11 @@ yyreduce:
4692
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4693
 
4694
 		    }
4695
-#line 10755 "ripper.c" /* yacc.c:1646  */
4696
+#line 10747 "ripper.c" /* yacc.c:1646  */
4697
     break;
4698
 
4699
   case 592:
4700
-#line 4877 "ripper.y" /* yacc.c:1646  */
4701
+#line 4869 "ripper.y" /* yacc.c:1646  */
4702
     {
4703
 #if 0
4704
 			(yyval.val) = opt_arg_append((yyvsp[-2].val), (yyvsp[0].val));
4705
@@ -10767,11 +10759,11 @@ yyreduce:
4706
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4707
 
4708
 		    }
4709
-#line 10767 "ripper.c" /* yacc.c:1646  */
4710
+#line 10759 "ripper.c" /* yacc.c:1646  */
4711
     break;
4712
 
4713
   case 595:
4714
-#line 4891 "ripper.y" /* yacc.c:1646  */
4715
+#line 4883 "ripper.y" /* yacc.c:1646  */
4716
     {
4717
 #if 0
4718
 			if (!is_local_id((yyvsp[0].val)))
4719
@@ -10784,11 +10776,11 @@ yyreduce:
4720
 			(yyval.val) = dispatch1(rest_param, (yyvsp[0].val));
4721
 
4722
 		    }
4723
-#line 10784 "ripper.c" /* yacc.c:1646  */
4724
+#line 10776 "ripper.c" /* yacc.c:1646  */
4725
     break;
4726
 
4727
   case 596:
4728
-#line 4904 "ripper.y" /* yacc.c:1646  */
4729
+#line 4896 "ripper.y" /* yacc.c:1646  */
4730
     {
4731
 #if 0
4732
 			(yyval.val) = internal_id();
4733
@@ -10797,11 +10789,11 @@ yyreduce:
4734
 			(yyval.val) = dispatch1(rest_param, Qnil);
4735
 
4736
 		    }
4737
-#line 10797 "ripper.c" /* yacc.c:1646  */
4738
+#line 10789 "ripper.c" /* yacc.c:1646  */
4739
     break;
4740
 
4741
   case 599:
4742
-#line 4919 "ripper.y" /* yacc.c:1646  */
4743
+#line 4911 "ripper.y" /* yacc.c:1646  */
4744
     {
4745
 #if 0
4746
 			if (!is_local_id((yyvsp[0].val)))
4747
@@ -10816,19 +10808,19 @@ yyreduce:
4748
 			(yyval.val) = dispatch1(blockarg, (yyvsp[0].val));
4749
 
4750
 		    }
4751
-#line 10816 "ripper.c" /* yacc.c:1646  */
4752
+#line 10808 "ripper.c" /* yacc.c:1646  */
4753
     break;
4754
 
4755
   case 600:
4756
-#line 4936 "ripper.y" /* yacc.c:1646  */
4757
+#line 4928 "ripper.y" /* yacc.c:1646  */
4758
     {
4759
 			(yyval.val) = (yyvsp[0].val);
4760
 		    }
4761
-#line 10824 "ripper.c" /* yacc.c:1646  */
4762
+#line 10816 "ripper.c" /* yacc.c:1646  */
4763
     break;
4764
 
4765
   case 601:
4766
-#line 4940 "ripper.y" /* yacc.c:1646  */
4767
+#line 4932 "ripper.y" /* yacc.c:1646  */
4768
     {
4769
 #if 0
4770
 			(yyval.val) = 0;
4771
@@ -10836,11 +10828,11 @@ yyreduce:
4772
 			(yyval.val) = Qundef;
4773
 
4774
 		    }
4775
-#line 10836 "ripper.c" /* yacc.c:1646  */
4776
+#line 10828 "ripper.c" /* yacc.c:1646  */
4777
     break;
4778
 
4779
   case 602:
4780
-#line 4950 "ripper.y" /* yacc.c:1646  */
4781
+#line 4942 "ripper.y" /* yacc.c:1646  */
4782
     {
4783
 #if 0
4784
 			value_expr((yyvsp[0].val));
4785
@@ -10850,17 +10842,17 @@ yyreduce:
4786
 			(yyval.val) = (yyvsp[0].val);
4787
 
4788
 		    }
4789
-#line 10850 "ripper.c" /* yacc.c:1646  */
4790
+#line 10842 "ripper.c" /* yacc.c:1646  */
4791
     break;
4792
 
4793
   case 603:
4794
-#line 4959 "ripper.y" /* yacc.c:1646  */
4795
+#line 4951 "ripper.y" /* yacc.c:1646  */
4796
     {SET_LEX_STATE(EXPR_BEG);}
4797
-#line 10856 "ripper.c" /* yacc.c:1646  */
4798
+#line 10848 "ripper.c" /* yacc.c:1646  */
4799
     break;
4800
 
4801
   case 604:
4802
-#line 4960 "ripper.y" /* yacc.c:1646  */
4803
+#line 4952 "ripper.y" /* yacc.c:1646  */
4804
     {
4805
 #if 0
4806
 			if ((yyvsp[-1].val) == 0) {
4807
@@ -10888,11 +10880,11 @@ yyreduce:
4808
 			(yyval.val) = dispatch1(paren, (yyvsp[-1].val));
4809
 
4810
 		    }
4811
-#line 10888 "ripper.c" /* yacc.c:1646  */
4812
+#line 10880 "ripper.c" /* yacc.c:1646  */
4813
     break;
4814
 
4815
   case 606:
4816
-#line 4991 "ripper.y" /* yacc.c:1646  */
4817
+#line 4983 "ripper.y" /* yacc.c:1646  */
4818
     {
4819
 #if 0
4820
 			(yyval.val) = (yyvsp[-1].val);
4821
@@ -10900,19 +10892,19 @@ yyreduce:
4822
 			(yyval.val) = dispatch1(assoclist_from_args, (yyvsp[-1].val));
4823
 
4824
 		    }
4825
-#line 10900 "ripper.c" /* yacc.c:1646  */
4826
+#line 10892 "ripper.c" /* yacc.c:1646  */
4827
     break;
4828
 
4829
   case 607:
4830
-#line 5003 "ripper.y" /* yacc.c:1646  */
4831
+#line 4995 "ripper.y" /* yacc.c:1646  */
4832
     {
4833
 			(yyval.val) = rb_ary_new3(1, get_value((yyvsp[0].val)));
4834
 		    }
4835
-#line 10908 "ripper.c" /* yacc.c:1646  */
4836
+#line 10900 "ripper.c" /* yacc.c:1646  */
4837
     break;
4838
 
4839
   case 608:
4840
-#line 5008 "ripper.y" /* yacc.c:1646  */
4841
+#line 5000 "ripper.y" /* yacc.c:1646  */
4842
     {
4843
 #if 0
4844
 			NODE *assocs = (yyvsp[-2].val);
4845
@@ -10934,11 +10926,11 @@ yyreduce:
4846
 			(yyval.val) = rb_ary_push((yyvsp[-2].val), get_value((yyvsp[0].val)));
4847
 
4848
 		    }
4849
-#line 10934 "ripper.c" /* yacc.c:1646  */
4850
+#line 10926 "ripper.c" /* yacc.c:1646  */
4851
     break;
4852
 
4853
   case 609:
4854
-#line 5032 "ripper.y" /* yacc.c:1646  */
4855
+#line 5024 "ripper.y" /* yacc.c:1646  */
4856
     {
4857
 #if 0
4858
 			if (nd_type((yyvsp[-2].val)) == NODE_STR) {
4859
@@ -10950,11 +10942,11 @@ yyreduce:
4860
 			(yyval.val) = dispatch2(assoc_new, (yyvsp[-2].val), (yyvsp[0].val));
4861
 
4862
 		    }
4863
-#line 10950 "ripper.c" /* yacc.c:1646  */
4864
+#line 10942 "ripper.c" /* yacc.c:1646  */
4865
     break;
4866
 
4867
   case 610:
4868
-#line 5044 "ripper.y" /* yacc.c:1646  */
4869
+#line 5036 "ripper.y" /* yacc.c:1646  */
4870
     {
4871
 #if 0
4872
 			(yyval.val) = list_append(new_list(new_lit(ID2SYM((yyvsp[-1].val)), &(yylsp[-1])), &(yyloc)), (yyvsp[0].val));
4873
@@ -10962,11 +10954,11 @@ yyreduce:
4874
 			(yyval.val) = dispatch2(assoc_new, (yyvsp[-1].val), (yyvsp[0].val));
4875
 
4876
 		    }
4877
-#line 10962 "ripper.c" /* yacc.c:1646  */
4878
+#line 10954 "ripper.c" /* yacc.c:1646  */
4879
     break;
4880
 
4881
   case 611:
4882
-#line 5052 "ripper.y" /* yacc.c:1646  */
4883
+#line 5044 "ripper.y" /* yacc.c:1646  */
4884
     {
4885
 #if 0
4886
 			YYLTYPE location;
4887
@@ -10977,11 +10969,11 @@ yyreduce:
4888
 			(yyval.val) = dispatch2(assoc_new, dispatch1(dyna_symbol, (yyvsp[-2].val)), (yyvsp[0].val));
4889
 
4890
 		    }
4891
-#line 10977 "ripper.c" /* yacc.c:1646  */
4892
+#line 10969 "ripper.c" /* yacc.c:1646  */
4893
     break;
4894
 
4895
   case 612:
4896
-#line 5063 "ripper.y" /* yacc.c:1646  */
4897
+#line 5055 "ripper.y" /* yacc.c:1646  */
4898
     {
4899
 #if 0
4900
 			if (nd_type((yyvsp[0].val)) == NODE_HASH &&
4901
@@ -10993,61 +10985,61 @@ yyreduce:
4902
 			(yyval.val) = dispatch1(assoc_splat, (yyvsp[0].val));
4903
 
4904
 		    }
4905
-#line 10993 "ripper.c" /* yacc.c:1646  */
4906
+#line 10985 "ripper.c" /* yacc.c:1646  */
4907
     break;
4908
 
4909
   case 625:
4910
-#line 5097 "ripper.y" /* yacc.c:1646  */
4911
+#line 5089 "ripper.y" /* yacc.c:1646  */
4912
     {
4913
 			(yyval.val) = TOKEN2VAL('.');
4914
 		    }
4915
-#line 11001 "ripper.c" /* yacc.c:1646  */
4916
+#line 10993 "ripper.c" /* yacc.c:1646  */
4917
     break;
4918
 
4919
   case 626:
4920
-#line 5101 "ripper.y" /* yacc.c:1646  */
4921
+#line 5093 "ripper.y" /* yacc.c:1646  */
4922
     {
4923
 			(yyval.val) = ID2VAL(idANDDOT);
4924
 		    }
4925
-#line 11009 "ripper.c" /* yacc.c:1646  */
4926
+#line 11001 "ripper.c" /* yacc.c:1646  */
4927
     break;
4928
 
4929
   case 628:
4930
-#line 5108 "ripper.y" /* yacc.c:1646  */
4931
+#line 5100 "ripper.y" /* yacc.c:1646  */
4932
     {
4933
 			(yyval.val) = ID2VAL(idCOLON2);
4934
 		    }
4935
-#line 11017 "ripper.c" /* yacc.c:1646  */
4936
+#line 11009 "ripper.c" /* yacc.c:1646  */
4937
     break;
4938
 
4939
   case 638:
4940
-#line 5132 "ripper.y" /* yacc.c:1646  */
4941
+#line 5124 "ripper.y" /* yacc.c:1646  */
4942
     {yyerrok;token_flush(parser);}
4943
-#line 11023 "ripper.c" /* yacc.c:1646  */
4944
+#line 11015 "ripper.c" /* yacc.c:1646  */
4945
     break;
4946
 
4947
   case 639:
4948
-#line 5133 "ripper.y" /* yacc.c:1646  */
4949
+#line 5125 "ripper.y" /* yacc.c:1646  */
4950
     {token_flush(parser);}
4951
-#line 11029 "ripper.c" /* yacc.c:1646  */
4952
+#line 11021 "ripper.c" /* yacc.c:1646  */
4953
     break;
4954
 
4955
   case 641:
4956
-#line 5137 "ripper.y" /* yacc.c:1646  */
4957
+#line 5129 "ripper.y" /* yacc.c:1646  */
4958
     {yyerrok;}
4959
-#line 11035 "ripper.c" /* yacc.c:1646  */
4960
+#line 11027 "ripper.c" /* yacc.c:1646  */
4961
     break;
4962
 
4963
   case 642:
4964
-#line 5141 "ripper.y" /* yacc.c:1646  */
4965
+#line 5133 "ripper.y" /* yacc.c:1646  */
4966
     {
4967
 			(yyval.val) = Qnull;
4968
 		    }
4969
-#line 11043 "ripper.c" /* yacc.c:1646  */
4970
+#line 11035 "ripper.c" /* yacc.c:1646  */
4971
     break;
4972
 
4973
 
4974
-#line 11047 "ripper.c" /* yacc.c:1646  */
4975
+#line 11039 "ripper.c" /* yacc.c:1646  */
4976
       default: break;
4977
     }
4978
   /* User semantic actions sometimes alter yychar, and that requires
4979
@@ -11282,7 +11274,7 @@ yyreturn:
4980
 #endif
4981
   return yyresult;
4982
 }
4983
-#line 5145 "ripper.y" /* yacc.c:1906  */
4984
+#line 5137 "ripper.y" /* yacc.c:1906  */
4985
 
4986
 # undef parser
4987
 # undef yylex
4988
@@ -16098,11 +16090,13 @@ assignable_gen(struct parser_params *parser, ID id, NO
4989
 #ifdef RIPPER
4990
     ID id = get_id(lhs);
4991
 # define assignable_result(x) (lhs)
4992
+# define assignable_error() (lhs)
4993
 # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs))
4994
 #else
4995
 # define assignable_result(x) assignable_result0(x, location)
4996
+# define assignable_error() new_begin(0, location)
4997
 #endif
4998
-    if (!id) return assignable_result(0);
4999
+    if (!id) return assignable_error();
5000
     switch (id) {
5001
       case keyword_self:
5002
 	yyerror0("Can't change the value of self");
5003
@@ -16165,7 +16159,7 @@ assignable_gen(struct parser_params *parser, ID id, NO
5004
 	compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id));
5005
     }
5006
   error:
5007
-    return assignable_result(0);
5008
+    return assignable_error();
5009
 #undef assignable_result
5010
 #undef parser_yyerror
5011
 }
(-)lang/ruby25/files/patch-ext_ripper_ripper.y (-45 lines)
Lines 1-45 Link Here
1
--- ext/ripper/ripper.y.orig	2017-12-25 07:00:33 UTC
2
+++ ext/ripper/ripper.y
3
@@ -1983,18 +1983,10 @@ mlhs_node	: user_variable
4
 lhs		: user_variable
5
 		    {
6
 			$$ = assignable(var_field($1), 0, &@$);
7
-#if 0
8
-			if (!$$) $$ = new_begin(0, &@$);
9
-#endif
10
-
11
 		    }
12
 		| keyword_variable
13
 		    {
14
 			$$ = assignable(var_field($1), 0, &@$);
15
-#if 0
16
-			if (!$$) $$ = new_begin(0, &@$);
17
-#endif
18
-
19
 		    }
20
 		| primary_value '[' opt_call_args rbracket
21
 		    {
22
@@ -9957,11 +9949,13 @@ assignable_gen(struct parser_params *parser, ID id, NO
23
 #ifdef RIPPER
24
     ID id = get_id(lhs);
25
 # define assignable_result(x) (lhs)
26
+# define assignable_error() (lhs)
27
 # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs))
28
 #else
29
 # define assignable_result(x) assignable_result0(x, location)
30
+# define assignable_error() new_begin(0, location)
31
 #endif
32
-    if (!id) return assignable_result(0);
33
+    if (!id) return assignable_error();
34
     switch (id) {
35
       case keyword_self:
36
 	yyerror0("Can't change the value of self");
37
@@ -10024,7 +10018,7 @@ assignable_gen(struct parser_params *parser, ID id, NO
38
 	compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id));
39
     }
40
   error:
41
-    return assignable_result(0);
42
+    return assignable_error();
43
 #undef assignable_result
44
 #undef parser_yyerror
45
 }
(-)lang/ruby25/files/patch-parse.c (-4926 lines)
Lines 1-4926 Link Here
1
--- parse.c.orig	2017-12-25 07:00:33 UTC
2
+++ parse.c
3
@@ -1567,61 +1567,61 @@ static const yytype_uint16 yyrline[] =
4
     1735,  1744,  1753,  1762,  1773,  1774,  1784,  1785,  1795,  1803,
5
     1811,  1819,  1828,  1836,  1845,  1853,  1862,  1870,  1881,  1882,
6
     1892,  1900,  1910,  1918,  1928,  1932,  1936,  1944,  1952,  1960,
7
-    1968,  1972,  1976,  1983,  1991,  1999,  2007,  2015,  2023,  2031,
8
-    2035,  2039,  2046,  2055,  2058,  2067,  2076,  2087,  2088,  2089,
9
-    2090,  2095,  2102,  2103,  2106,  2114,  2117,  2125,  2125,  2136,
10
-    2137,  2138,  2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,
11
-    2147,  2148,  2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,
12
-    2157,  2158,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2168,
13
-    2168,  2168,  2169,  2169,  2170,  2170,  2170,  2171,  2171,  2171,
14
-    2171,  2172,  2172,  2172,  2172,  2173,  2173,  2173,  2174,  2174,
15
-    2174,  2174,  2175,  2175,  2175,  2175,  2176,  2176,  2176,  2176,
16
-    2177,  2177,  2177,  2177,  2178,  2178,  2178,  2178,  2179,  2179,
17
-    2182,  2186,  2190,  2218,  2223,  2228,  2233,  2244,  2249,  2254,
18
-    2265,  2276,  2280,  2284,  2288,  2292,  2296,  2300,  2304,  2308,
19
-    2312,  2316,  2320,  2324,  2328,  2329,  2333,  2337,  2341,  2345,
20
-    2349,  2353,  2357,  2361,  2365,  2369,  2373,  2373,  2378,  2388,
21
-    2394,  2395,  2396,  2397,  2400,  2404,  2411,  2423,  2424,  2428,
22
-    2436,  2446,  2454,  2468,  2478,  2479,  2482,  2483,  2484,  2488,
23
-    2496,  2506,  2515,  2523,  2533,  2542,  2551,  2551,  2563,  2574,
24
-    2578,  2584,  2592,  2601,  2615,  2631,  2632,  2635,  2649,  2664,
25
-    2675,  2676,  2677,  2678,  2679,  2680,  2681,  2682,  2683,  2684,
26
-    2685,  2694,  2693,  2720,  2720,  2729,  2733,  2728,  2742,  2750,
27
-    2759,  2768,  2776,  2785,  2794,  2802,  2811,  2820,  2820,  2825,
28
-    2829,  2833,  2844,  2845,  2856,  2860,  2872,  2884,  2884,  2884,
29
-    2896,  2896,  2896,  2908,  2920,  2931,  2933,  2930,  2984,  2983,
30
-    3011,  3010,  3035,  3034,  3062,  3067,  3061,  3090,  3091,  3090,
31
-    3118,  3127,  3136,  3145,  3156,  3168,  3174,  3180,  3186,  3192,
32
-    3198,  3208,  3214,  3220,  3226,  3236,  3242,  3249,  3254,  3255,
33
-    3262,  3267,  3270,  3271,  3284,  3285,  3295,  3296,  3299,  3306,
34
-    3316,  3324,  3334,  3342,  3351,  3361,  3369,  3378,  3387,  3397,
35
-    3405,  3417,  3421,  3425,  3429,  3435,  3440,  3445,  3449,  3453,
36
-    3457,  3461,  3465,  3473,  3477,  3481,  3485,  3489,  3493,  3497,
37
-    3501,  3505,  3511,  3512,  3518,  3528,  3537,  3549,  3553,  3563,
38
-    3570,  3579,  3587,  3593,  3596,  3601,  3604,  3593,  3625,  3633,
39
-    3639,  3644,  3651,  3650,  3667,  3684,  3688,  3701,  3716,  3727,
40
-    3726,  3738,  3737,  3748,  3753,  3752,  3764,  3763,  3774,  3783,
41
-    3792,  3807,  3806,  3822,  3821,  3838,  3839,  3838,  3848,  3849,
42
-    3848,  3858,  3871,  3872,  3875,  3897,  3900,  3908,  3916,  3919,
43
-    3923,  3926,  3934,  3937,  3938,  3946,  3949,  3966,  3973,  3974,
44
-    3984,  3994,  4000,  4006,  4017,  4024,  4034,  4042,  4052,  4063,
45
-    4070,  4088,  4098,  4109,  4116,  4128,  4135,  4151,  4158,  4169,
46
-    4176,  4187,  4194,  4235,  4243,  4242,  4260,  4266,  4271,  4275,
47
-    4279,  4259,  4301,  4309,  4317,  4326,  4329,  4340,  4341,  4342,
48
-    4343,  4346,  4357,  4358,  4369,  4376,  4383,  4390,  4399,  4400,
49
-    4401,  4402,  4403,  4406,  4407,  4408,  4409,  4410,  4411,  4412,
50
-    4415,  4428,  4438,  4442,  4448,  4455,  4465,  4464,  4474,  4483,
51
-    4493,  4493,  4507,  4511,  4515,  4519,  4525,  4530,  4535,  4539,
52
-    4543,  4547,  4551,  4555,  4559,  4563,  4567,  4571,  4575,  4579,
53
-    4583,  4587,  4592,  4598,  4608,  4618,  4628,  4640,  4641,  4648,
54
-    4657,  4666,  4691,  4698,  4712,  4721,  4731,  4743,  4752,  4763,
55
-    4771,  4782,  4790,  4800,  4801,  4804,  4813,  4824,  4837,  4850,
56
-    4858,  4868,  4876,  4886,  4887,  4890,  4903,  4914,  4915,  4918,
57
-    4935,  4939,  4949,  4959,  4959,  4989,  4990,  5000,  5007,  5031,
58
-    5043,  5051,  5062,  5076,  5077,  5078,  5081,  5082,  5083,  5084,
59
-    5087,  5088,  5089,  5092,  5093,  5096,  5100,  5106,  5107,  5113,
60
-    5114,  5117,  5118,  5121,  5124,  5127,  5128,  5129,  5132,  5133,
61
-    5136,  5137,  5141
62
+    1968,  1972,  1976,  1983,  1987,  1991,  1999,  2007,  2015,  2023,
63
+    2027,  2031,  2038,  2047,  2050,  2059,  2068,  2079,  2080,  2081,
64
+    2082,  2087,  2094,  2095,  2098,  2106,  2109,  2117,  2117,  2128,
65
+    2129,  2130,  2131,  2132,  2133,  2134,  2135,  2136,  2137,  2138,
66
+    2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,  2147,  2148,
67
+    2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2160,
68
+    2160,  2160,  2161,  2161,  2162,  2162,  2162,  2163,  2163,  2163,
69
+    2163,  2164,  2164,  2164,  2164,  2165,  2165,  2165,  2166,  2166,
70
+    2166,  2166,  2167,  2167,  2167,  2167,  2168,  2168,  2168,  2168,
71
+    2169,  2169,  2169,  2169,  2170,  2170,  2170,  2170,  2171,  2171,
72
+    2174,  2178,  2182,  2210,  2215,  2220,  2225,  2236,  2241,  2246,
73
+    2257,  2268,  2272,  2276,  2280,  2284,  2288,  2292,  2296,  2300,
74
+    2304,  2308,  2312,  2316,  2320,  2321,  2325,  2329,  2333,  2337,
75
+    2341,  2345,  2349,  2353,  2357,  2361,  2365,  2365,  2370,  2380,
76
+    2386,  2387,  2388,  2389,  2392,  2396,  2403,  2415,  2416,  2420,
77
+    2428,  2438,  2446,  2460,  2470,  2471,  2474,  2475,  2476,  2480,
78
+    2488,  2498,  2507,  2515,  2525,  2534,  2543,  2543,  2555,  2566,
79
+    2570,  2576,  2584,  2593,  2607,  2623,  2624,  2627,  2641,  2656,
80
+    2667,  2668,  2669,  2670,  2671,  2672,  2673,  2674,  2675,  2676,
81
+    2677,  2686,  2685,  2712,  2712,  2721,  2725,  2720,  2734,  2742,
82
+    2751,  2760,  2768,  2777,  2786,  2794,  2803,  2812,  2812,  2817,
83
+    2821,  2825,  2836,  2837,  2848,  2852,  2864,  2876,  2876,  2876,
84
+    2888,  2888,  2888,  2900,  2912,  2923,  2925,  2922,  2976,  2975,
85
+    3003,  3002,  3027,  3026,  3054,  3059,  3053,  3082,  3083,  3082,
86
+    3110,  3119,  3128,  3137,  3148,  3160,  3166,  3172,  3178,  3184,
87
+    3190,  3200,  3206,  3212,  3218,  3228,  3234,  3241,  3246,  3247,
88
+    3254,  3259,  3262,  3263,  3276,  3277,  3287,  3288,  3291,  3298,
89
+    3308,  3316,  3326,  3334,  3343,  3353,  3361,  3370,  3379,  3389,
90
+    3397,  3409,  3413,  3417,  3421,  3427,  3432,  3437,  3441,  3445,
91
+    3449,  3453,  3457,  3465,  3469,  3473,  3477,  3481,  3485,  3489,
92
+    3493,  3497,  3503,  3504,  3510,  3520,  3529,  3541,  3545,  3555,
93
+    3562,  3571,  3579,  3585,  3588,  3593,  3596,  3585,  3617,  3625,
94
+    3631,  3636,  3643,  3642,  3659,  3676,  3680,  3693,  3708,  3719,
95
+    3718,  3730,  3729,  3740,  3745,  3744,  3756,  3755,  3766,  3775,
96
+    3784,  3799,  3798,  3814,  3813,  3830,  3831,  3830,  3840,  3841,
97
+    3840,  3850,  3863,  3864,  3867,  3889,  3892,  3900,  3908,  3911,
98
+    3915,  3918,  3926,  3929,  3930,  3938,  3941,  3958,  3965,  3966,
99
+    3976,  3986,  3992,  3998,  4009,  4016,  4026,  4034,  4044,  4055,
100
+    4062,  4080,  4090,  4101,  4108,  4120,  4127,  4143,  4150,  4161,
101
+    4168,  4179,  4186,  4227,  4235,  4234,  4252,  4258,  4263,  4267,
102
+    4271,  4251,  4293,  4301,  4309,  4318,  4321,  4332,  4333,  4334,
103
+    4335,  4338,  4349,  4350,  4361,  4368,  4375,  4382,  4391,  4392,
104
+    4393,  4394,  4395,  4398,  4399,  4400,  4401,  4402,  4403,  4404,
105
+    4407,  4420,  4430,  4434,  4440,  4447,  4457,  4456,  4466,  4475,
106
+    4485,  4485,  4499,  4503,  4507,  4511,  4517,  4522,  4527,  4531,
107
+    4535,  4539,  4543,  4547,  4551,  4555,  4559,  4563,  4567,  4571,
108
+    4575,  4579,  4584,  4590,  4600,  4610,  4620,  4632,  4633,  4640,
109
+    4649,  4658,  4683,  4690,  4704,  4713,  4723,  4735,  4744,  4755,
110
+    4763,  4774,  4782,  4792,  4793,  4796,  4805,  4816,  4829,  4842,
111
+    4850,  4860,  4868,  4878,  4879,  4882,  4895,  4906,  4907,  4910,
112
+    4927,  4931,  4941,  4951,  4951,  4981,  4982,  4992,  4999,  5023,
113
+    5035,  5043,  5054,  5068,  5069,  5070,  5073,  5074,  5075,  5076,
114
+    5079,  5080,  5081,  5084,  5085,  5088,  5092,  5098,  5099,  5105,
115
+    5106,  5109,  5110,  5113,  5116,  5119,  5120,  5121,  5124,  5125,
116
+    5128,  5129,  5133
117
 };
118
 #endif
119
 
120
@@ -6593,28 +6593,20 @@ yyreduce:
121
 #line 1984 "parse.y" /* yacc.c:1646  */
122
     {
123
 			(yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc));
124
-		    /*%%%*/
125
-			if (!(yyval.node)) (yyval.node) = new_begin(0, &(yyloc));
126
-		    /*%
127
-		    %*/
128
 		    }
129
-#line 6598 "parse.c" /* yacc.c:1646  */
130
+#line 6594 "parse.c" /* yacc.c:1646  */
131
     break;
132
 
133
   case 104:
134
-#line 1992 "parse.y" /* yacc.c:1646  */
135
+#line 1988 "parse.y" /* yacc.c:1646  */
136
     {
137
 			(yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc));
138
-		    /*%%%*/
139
-			if (!(yyval.node)) (yyval.node) = new_begin(0, &(yyloc));
140
-		    /*%
141
-		    %*/
142
 		    }
143
-#line 6610 "parse.c" /* yacc.c:1646  */
144
+#line 6602 "parse.c" /* yacc.c:1646  */
145
     break;
146
 
147
   case 105:
148
-#line 2000 "parse.y" /* yacc.c:1646  */
149
+#line 1992 "parse.y" /* yacc.c:1646  */
150
     {
151
 		    /*%%%*/
152
 			(yyval.node) = aryset((yyvsp[-3].node), (yyvsp[-1].node), &(yyloc));
153
@@ -6622,11 +6614,11 @@ yyreduce:
154
 			$$ = dispatch2(aref_field, $1, escape_Qundef($3));
155
 		    %*/
156
 		    }
157
-#line 6622 "parse.c" /* yacc.c:1646  */
158
+#line 6614 "parse.c" /* yacc.c:1646  */
159
     break;
160
 
161
   case 106:
162
-#line 2008 "parse.y" /* yacc.c:1646  */
163
+#line 2000 "parse.y" /* yacc.c:1646  */
164
     {
165
 		    /*%%%*/
166
 			(yyval.node) = attrset((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].id), &(yyloc));
167
@@ -6634,11 +6626,11 @@ yyreduce:
168
 			$$ = dispatch3(field, $1, $2, $3);
169
 		    %*/
170
 		    }
171
-#line 6634 "parse.c" /* yacc.c:1646  */
172
+#line 6626 "parse.c" /* yacc.c:1646  */
173
     break;
174
 
175
   case 107:
176
-#line 2016 "parse.y" /* yacc.c:1646  */
177
+#line 2008 "parse.y" /* yacc.c:1646  */
178
     {
179
 		    /*%%%*/
180
 			(yyval.node) = attrset((yyvsp[-2].node), idCOLON2, (yyvsp[0].id), &(yyloc));
181
@@ -6646,11 +6638,11 @@ yyreduce:
182
 			$$ = dispatch3(field, $1, ID2VAL(idCOLON2), $3);
183
 		    %*/
184
 		    }
185
-#line 6646 "parse.c" /* yacc.c:1646  */
186
+#line 6638 "parse.c" /* yacc.c:1646  */
187
     break;
188
 
189
   case 108:
190
-#line 2024 "parse.y" /* yacc.c:1646  */
191
+#line 2016 "parse.y" /* yacc.c:1646  */
192
     {
193
 		    /*%%%*/
194
 			(yyval.node) = attrset((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].id), &(yyloc));
195
@@ -6658,36 +6650,36 @@ yyreduce:
196
 			$$ = dispatch3(field, $1, $2, $3);
197
 		    %*/
198
 		    }
199
-#line 6658 "parse.c" /* yacc.c:1646  */
200
+#line 6650 "parse.c" /* yacc.c:1646  */
201
     break;
202
 
203
   case 109:
204
-#line 2032 "parse.y" /* yacc.c:1646  */
205
+#line 2024 "parse.y" /* yacc.c:1646  */
206
     {
207
 			(yyval.node) = const_decl(const_path_field((yyvsp[-2].node), (yyvsp[0].id), &(yyloc)), &(yyloc));
208
 		    }
209
-#line 6666 "parse.c" /* yacc.c:1646  */
210
+#line 6658 "parse.c" /* yacc.c:1646  */
211
     break;
212
 
213
   case 110:
214
-#line 2036 "parse.y" /* yacc.c:1646  */
215
+#line 2028 "parse.y" /* yacc.c:1646  */
216
     {
217
 			(yyval.node) = const_decl(top_const_field((yyvsp[0].id)), &(yyloc));
218
 		    }
219
-#line 6674 "parse.c" /* yacc.c:1646  */
220
+#line 6666 "parse.c" /* yacc.c:1646  */
221
     break;
222
 
223
   case 111:
224
-#line 2040 "parse.y" /* yacc.c:1646  */
225
+#line 2032 "parse.y" /* yacc.c:1646  */
226
     {
227
 			(yyvsp[0].node) = var_field((yyvsp[0].node));
228
 			(yyval.node) = backref_assign_error((yyvsp[0].node), (yyvsp[0].node), &(yyloc));
229
 		    }
230
-#line 6683 "parse.c" /* yacc.c:1646  */
231
+#line 6675 "parse.c" /* yacc.c:1646  */
232
     break;
233
 
234
   case 112:
235
-#line 2047 "parse.y" /* yacc.c:1646  */
236
+#line 2039 "parse.y" /* yacc.c:1646  */
237
     {
238
 		    /*%%%*/
239
 			yyerror0("class/module name must be CONSTANT");
240
@@ -6696,11 +6688,11 @@ yyreduce:
241
 			ripper_error();
242
 		    %*/
243
 		    }
244
-#line 6696 "parse.c" /* yacc.c:1646  */
245
+#line 6688 "parse.c" /* yacc.c:1646  */
246
     break;
247
 
248
   case 114:
249
-#line 2059 "parse.y" /* yacc.c:1646  */
250
+#line 2051 "parse.y" /* yacc.c:1646  */
251
     {
252
 		    /*%%%*/
253
 			(yyval.node) = NEW_COLON3((yyvsp[0].id));
254
@@ -6709,11 +6701,11 @@ yyreduce:
255
 			$$ = dispatch1(top_const_ref, $2);
256
 		    %*/
257
 		    }
258
-#line 6709 "parse.c" /* yacc.c:1646  */
259
+#line 6701 "parse.c" /* yacc.c:1646  */
260
     break;
261
 
262
   case 115:
263
-#line 2068 "parse.y" /* yacc.c:1646  */
264
+#line 2060 "parse.y" /* yacc.c:1646  */
265
     {
266
 		    /*%%%*/
267
 			(yyval.node) = NEW_COLON2(0, (yyval.node));
268
@@ -6722,11 +6714,11 @@ yyreduce:
269
 			$$ = dispatch1(const_ref, $1);
270
 		    %*/
271
 		    }
272
-#line 6722 "parse.c" /* yacc.c:1646  */
273
+#line 6714 "parse.c" /* yacc.c:1646  */
274
     break;
275
 
276
   case 116:
277
-#line 2077 "parse.y" /* yacc.c:1646  */
278
+#line 2069 "parse.y" /* yacc.c:1646  */
279
     {
280
 		    /*%%%*/
281
 			(yyval.node) = NEW_COLON2((yyvsp[-2].node), (yyvsp[0].id));
282
@@ -6735,29 +6727,29 @@ yyreduce:
283
 			$$ = dispatch2(const_path_ref, $1, $3);
284
 		    %*/
285
 		    }
286
-#line 6735 "parse.c" /* yacc.c:1646  */
287
+#line 6727 "parse.c" /* yacc.c:1646  */
288
     break;
289
 
290
   case 120:
291
-#line 2091 "parse.y" /* yacc.c:1646  */
292
+#line 2083 "parse.y" /* yacc.c:1646  */
293
     {
294
 			SET_LEX_STATE(EXPR_ENDFN);
295
 			(yyval.id) = (yyvsp[0].id);
296
 		    }
297
-#line 6744 "parse.c" /* yacc.c:1646  */
298
+#line 6736 "parse.c" /* yacc.c:1646  */
299
     break;
300
 
301
   case 121:
302
-#line 2096 "parse.y" /* yacc.c:1646  */
303
+#line 2088 "parse.y" /* yacc.c:1646  */
304
     {
305
 			SET_LEX_STATE(EXPR_ENDFN);
306
 			(yyval.id) = (yyvsp[0].id);
307
 		    }
308
-#line 6753 "parse.c" /* yacc.c:1646  */
309
+#line 6745 "parse.c" /* yacc.c:1646  */
310
     break;
311
 
312
   case 124:
313
-#line 2107 "parse.y" /* yacc.c:1646  */
314
+#line 2099 "parse.y" /* yacc.c:1646  */
315
     {
316
 		    /*%%%*/
317
 			(yyval.node) = new_lit(ID2SYM((yyvsp[0].id)), &(yyloc));
318
@@ -6765,11 +6757,11 @@ yyreduce:
319
 			$$ = dispatch1(symbol_literal, $1);
320
 		    %*/
321
 		    }
322
-#line 6765 "parse.c" /* yacc.c:1646  */
323
+#line 6757 "parse.c" /* yacc.c:1646  */
324
     break;
325
 
326
   case 126:
327
-#line 2118 "parse.y" /* yacc.c:1646  */
328
+#line 2110 "parse.y" /* yacc.c:1646  */
329
     {
330
 		    /*%%%*/
331
 			(yyval.node) = new_undef((yyvsp[0].node), &(yyloc));
332
@@ -6777,17 +6769,17 @@ yyreduce:
333
 			$$ = rb_ary_new3(1, get_value($1));
334
 		    %*/
335
 		    }
336
-#line 6777 "parse.c" /* yacc.c:1646  */
337
+#line 6769 "parse.c" /* yacc.c:1646  */
338
     break;
339
 
340
   case 127:
341
-#line 2125 "parse.y" /* yacc.c:1646  */
342
+#line 2117 "parse.y" /* yacc.c:1646  */
343
     {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);}
344
-#line 6783 "parse.c" /* yacc.c:1646  */
345
+#line 6775 "parse.c" /* yacc.c:1646  */
346
     break;
347
 
348
   case 128:
349
-#line 2126 "parse.y" /* yacc.c:1646  */
350
+#line 2118 "parse.y" /* yacc.c:1646  */
351
     {
352
 		    /*%%%*/
353
 			NODE *undef = new_undef((yyvsp[0].node), &(yyloc));
354
@@ -6796,207 +6788,207 @@ yyreduce:
355
 			rb_ary_push($1, get_value($4));
356
 		    %*/
357
 		    }
358
-#line 6796 "parse.c" /* yacc.c:1646  */
359
+#line 6788 "parse.c" /* yacc.c:1646  */
360
     break;
361
 
362
   case 129:
363
-#line 2136 "parse.y" /* yacc.c:1646  */
364
+#line 2128 "parse.y" /* yacc.c:1646  */
365
     { ifndef_ripper((yyval.id) = '|'); }
366
-#line 6802 "parse.c" /* yacc.c:1646  */
367
+#line 6794 "parse.c" /* yacc.c:1646  */
368
     break;
369
 
370
   case 130:
371
-#line 2137 "parse.y" /* yacc.c:1646  */
372
+#line 2129 "parse.y" /* yacc.c:1646  */
373
     { ifndef_ripper((yyval.id) = '^'); }
374
-#line 6808 "parse.c" /* yacc.c:1646  */
375
+#line 6800 "parse.c" /* yacc.c:1646  */
376
     break;
377
 
378
   case 131:
379
-#line 2138 "parse.y" /* yacc.c:1646  */
380
+#line 2130 "parse.y" /* yacc.c:1646  */
381
     { ifndef_ripper((yyval.id) = '&'); }
382
-#line 6814 "parse.c" /* yacc.c:1646  */
383
+#line 6806 "parse.c" /* yacc.c:1646  */
384
     break;
385
 
386
   case 132:
387
-#line 2139 "parse.y" /* yacc.c:1646  */
388
+#line 2131 "parse.y" /* yacc.c:1646  */
389
     { ifndef_ripper((yyval.id) = tCMP); }
390
-#line 6820 "parse.c" /* yacc.c:1646  */
391
+#line 6812 "parse.c" /* yacc.c:1646  */
392
     break;
393
 
394
   case 133:
395
-#line 2140 "parse.y" /* yacc.c:1646  */
396
+#line 2132 "parse.y" /* yacc.c:1646  */
397
     { ifndef_ripper((yyval.id) = tEQ); }
398
-#line 6826 "parse.c" /* yacc.c:1646  */
399
+#line 6818 "parse.c" /* yacc.c:1646  */
400
     break;
401
 
402
   case 134:
403
-#line 2141 "parse.y" /* yacc.c:1646  */
404
+#line 2133 "parse.y" /* yacc.c:1646  */
405
     { ifndef_ripper((yyval.id) = tEQQ); }
406
-#line 6832 "parse.c" /* yacc.c:1646  */
407
+#line 6824 "parse.c" /* yacc.c:1646  */
408
     break;
409
 
410
   case 135:
411
-#line 2142 "parse.y" /* yacc.c:1646  */
412
+#line 2134 "parse.y" /* yacc.c:1646  */
413
     { ifndef_ripper((yyval.id) = tMATCH); }
414
-#line 6838 "parse.c" /* yacc.c:1646  */
415
+#line 6830 "parse.c" /* yacc.c:1646  */
416
     break;
417
 
418
   case 136:
419
-#line 2143 "parse.y" /* yacc.c:1646  */
420
+#line 2135 "parse.y" /* yacc.c:1646  */
421
     { ifndef_ripper((yyval.id) = tNMATCH); }
422
-#line 6844 "parse.c" /* yacc.c:1646  */
423
+#line 6836 "parse.c" /* yacc.c:1646  */
424
     break;
425
 
426
   case 137:
427
-#line 2144 "parse.y" /* yacc.c:1646  */
428
+#line 2136 "parse.y" /* yacc.c:1646  */
429
     { ifndef_ripper((yyval.id) = '>'); }
430
-#line 6850 "parse.c" /* yacc.c:1646  */
431
+#line 6842 "parse.c" /* yacc.c:1646  */
432
     break;
433
 
434
   case 138:
435
-#line 2145 "parse.y" /* yacc.c:1646  */
436
+#line 2137 "parse.y" /* yacc.c:1646  */
437
     { ifndef_ripper((yyval.id) = tGEQ); }
438
-#line 6856 "parse.c" /* yacc.c:1646  */
439
+#line 6848 "parse.c" /* yacc.c:1646  */
440
     break;
441
 
442
   case 139:
443
-#line 2146 "parse.y" /* yacc.c:1646  */
444
+#line 2138 "parse.y" /* yacc.c:1646  */
445
     { ifndef_ripper((yyval.id) = '<'); }
446
-#line 6862 "parse.c" /* yacc.c:1646  */
447
+#line 6854 "parse.c" /* yacc.c:1646  */
448
     break;
449
 
450
   case 140:
451
-#line 2147 "parse.y" /* yacc.c:1646  */
452
+#line 2139 "parse.y" /* yacc.c:1646  */
453
     { ifndef_ripper((yyval.id) = tLEQ); }
454
-#line 6868 "parse.c" /* yacc.c:1646  */
455
+#line 6860 "parse.c" /* yacc.c:1646  */
456
     break;
457
 
458
   case 141:
459
-#line 2148 "parse.y" /* yacc.c:1646  */
460
+#line 2140 "parse.y" /* yacc.c:1646  */
461
     { ifndef_ripper((yyval.id) = tNEQ); }
462
-#line 6874 "parse.c" /* yacc.c:1646  */
463
+#line 6866 "parse.c" /* yacc.c:1646  */
464
     break;
465
 
466
   case 142:
467
-#line 2149 "parse.y" /* yacc.c:1646  */
468
+#line 2141 "parse.y" /* yacc.c:1646  */
469
     { ifndef_ripper((yyval.id) = tLSHFT); }
470
-#line 6880 "parse.c" /* yacc.c:1646  */
471
+#line 6872 "parse.c" /* yacc.c:1646  */
472
     break;
473
 
474
   case 143:
475
-#line 2150 "parse.y" /* yacc.c:1646  */
476
+#line 2142 "parse.y" /* yacc.c:1646  */
477
     { ifndef_ripper((yyval.id) = tRSHFT); }
478
-#line 6886 "parse.c" /* yacc.c:1646  */
479
+#line 6878 "parse.c" /* yacc.c:1646  */
480
     break;
481
 
482
   case 144:
483
-#line 2151 "parse.y" /* yacc.c:1646  */
484
+#line 2143 "parse.y" /* yacc.c:1646  */
485
     { ifndef_ripper((yyval.id) = '+'); }
486
-#line 6892 "parse.c" /* yacc.c:1646  */
487
+#line 6884 "parse.c" /* yacc.c:1646  */
488
     break;
489
 
490
   case 145:
491
-#line 2152 "parse.y" /* yacc.c:1646  */
492
+#line 2144 "parse.y" /* yacc.c:1646  */
493
     { ifndef_ripper((yyval.id) = '-'); }
494
-#line 6898 "parse.c" /* yacc.c:1646  */
495
+#line 6890 "parse.c" /* yacc.c:1646  */
496
     break;
497
 
498
   case 146:
499
-#line 2153 "parse.y" /* yacc.c:1646  */
500
+#line 2145 "parse.y" /* yacc.c:1646  */
501
     { ifndef_ripper((yyval.id) = '*'); }
502
-#line 6904 "parse.c" /* yacc.c:1646  */
503
+#line 6896 "parse.c" /* yacc.c:1646  */
504
     break;
505
 
506
   case 147:
507
-#line 2154 "parse.y" /* yacc.c:1646  */
508
+#line 2146 "parse.y" /* yacc.c:1646  */
509
     { ifndef_ripper((yyval.id) = '*'); }
510
-#line 6910 "parse.c" /* yacc.c:1646  */
511
+#line 6902 "parse.c" /* yacc.c:1646  */
512
     break;
513
 
514
   case 148:
515
-#line 2155 "parse.y" /* yacc.c:1646  */
516
+#line 2147 "parse.y" /* yacc.c:1646  */
517
     { ifndef_ripper((yyval.id) = '/'); }
518
-#line 6916 "parse.c" /* yacc.c:1646  */
519
+#line 6908 "parse.c" /* yacc.c:1646  */
520
     break;
521
 
522
   case 149:
523
-#line 2156 "parse.y" /* yacc.c:1646  */
524
+#line 2148 "parse.y" /* yacc.c:1646  */
525
     { ifndef_ripper((yyval.id) = '%'); }
526
-#line 6922 "parse.c" /* yacc.c:1646  */
527
+#line 6914 "parse.c" /* yacc.c:1646  */
528
     break;
529
 
530
   case 150:
531
-#line 2157 "parse.y" /* yacc.c:1646  */
532
+#line 2149 "parse.y" /* yacc.c:1646  */
533
     { ifndef_ripper((yyval.id) = tPOW); }
534
-#line 6928 "parse.c" /* yacc.c:1646  */
535
+#line 6920 "parse.c" /* yacc.c:1646  */
536
     break;
537
 
538
   case 151:
539
-#line 2158 "parse.y" /* yacc.c:1646  */
540
+#line 2150 "parse.y" /* yacc.c:1646  */
541
     { ifndef_ripper((yyval.id) = tDSTAR); }
542
-#line 6934 "parse.c" /* yacc.c:1646  */
543
+#line 6926 "parse.c" /* yacc.c:1646  */
544
     break;
545
 
546
   case 152:
547
-#line 2159 "parse.y" /* yacc.c:1646  */
548
+#line 2151 "parse.y" /* yacc.c:1646  */
549
     { ifndef_ripper((yyval.id) = '!'); }
550
-#line 6940 "parse.c" /* yacc.c:1646  */
551
+#line 6932 "parse.c" /* yacc.c:1646  */
552
     break;
553
 
554
   case 153:
555
-#line 2160 "parse.y" /* yacc.c:1646  */
556
+#line 2152 "parse.y" /* yacc.c:1646  */
557
     { ifndef_ripper((yyval.id) = '~'); }
558
-#line 6946 "parse.c" /* yacc.c:1646  */
559
+#line 6938 "parse.c" /* yacc.c:1646  */
560
     break;
561
 
562
   case 154:
563
-#line 2161 "parse.y" /* yacc.c:1646  */
564
+#line 2153 "parse.y" /* yacc.c:1646  */
565
     { ifndef_ripper((yyval.id) = tUPLUS); }
566
-#line 6952 "parse.c" /* yacc.c:1646  */
567
+#line 6944 "parse.c" /* yacc.c:1646  */
568
     break;
569
 
570
   case 155:
571
-#line 2162 "parse.y" /* yacc.c:1646  */
572
+#line 2154 "parse.y" /* yacc.c:1646  */
573
     { ifndef_ripper((yyval.id) = tUMINUS); }
574
-#line 6958 "parse.c" /* yacc.c:1646  */
575
+#line 6950 "parse.c" /* yacc.c:1646  */
576
     break;
577
 
578
   case 156:
579
-#line 2163 "parse.y" /* yacc.c:1646  */
580
+#line 2155 "parse.y" /* yacc.c:1646  */
581
     { ifndef_ripper((yyval.id) = tAREF); }
582
-#line 6964 "parse.c" /* yacc.c:1646  */
583
+#line 6956 "parse.c" /* yacc.c:1646  */
584
     break;
585
 
586
   case 157:
587
-#line 2164 "parse.y" /* yacc.c:1646  */
588
+#line 2156 "parse.y" /* yacc.c:1646  */
589
     { ifndef_ripper((yyval.id) = tASET); }
590
-#line 6970 "parse.c" /* yacc.c:1646  */
591
+#line 6962 "parse.c" /* yacc.c:1646  */
592
     break;
593
 
594
   case 158:
595
-#line 2165 "parse.y" /* yacc.c:1646  */
596
+#line 2157 "parse.y" /* yacc.c:1646  */
597
     { ifndef_ripper((yyval.id) = '`'); }
598
-#line 6976 "parse.c" /* yacc.c:1646  */
599
+#line 6968 "parse.c" /* yacc.c:1646  */
600
     break;
601
 
602
   case 200:
603
-#line 2183 "parse.y" /* yacc.c:1646  */
604
+#line 2175 "parse.y" /* yacc.c:1646  */
605
     {
606
 			(yyval.node) = node_assign((yyvsp[-2].node), (yyvsp[0].node), &(yyloc));
607
 		    }
608
-#line 6984 "parse.c" /* yacc.c:1646  */
609
+#line 6976 "parse.c" /* yacc.c:1646  */
610
     break;
611
 
612
   case 201:
613
-#line 2187 "parse.y" /* yacc.c:1646  */
614
+#line 2179 "parse.y" /* yacc.c:1646  */
615
     {
616
 			(yyval.node) = new_op_assign((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
617
 		    }
618
-#line 6992 "parse.c" /* yacc.c:1646  */
619
+#line 6984 "parse.c" /* yacc.c:1646  */
620
     break;
621
 
622
   case 202:
623
-#line 2191 "parse.y" /* yacc.c:1646  */
624
+#line 2183 "parse.y" /* yacc.c:1646  */
625
     {
626
 		    /*%%%*/
627
 			NODE *args;
628
@@ -7024,38 +7016,38 @@ yyreduce:
629
 			$$ = dispatch3(opassign, $1, $5, $6);
630
 		    %*/
631
 		    }
632
-#line 7024 "parse.c" /* yacc.c:1646  */
633
+#line 7016 "parse.c" /* yacc.c:1646  */
634
     break;
635
 
636
   case 203:
637
-#line 2219 "parse.y" /* yacc.c:1646  */
638
+#line 2211 "parse.y" /* yacc.c:1646  */
639
     {
640
 			value_expr((yyvsp[0].node));
641
 			(yyval.node) = new_attr_op_assign((yyvsp[-4].node), (yyvsp[-3].id), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
642
 		    }
643
-#line 7033 "parse.c" /* yacc.c:1646  */
644
+#line 7025 "parse.c" /* yacc.c:1646  */
645
     break;
646
 
647
   case 204:
648
-#line 2224 "parse.y" /* yacc.c:1646  */
649
+#line 2216 "parse.y" /* yacc.c:1646  */
650
     {
651
 			value_expr((yyvsp[0].node));
652
 			(yyval.node) = new_attr_op_assign((yyvsp[-4].node), (yyvsp[-3].id), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
653
 		    }
654
-#line 7042 "parse.c" /* yacc.c:1646  */
655
+#line 7034 "parse.c" /* yacc.c:1646  */
656
     break;
657
 
658
   case 205:
659
-#line 2229 "parse.y" /* yacc.c:1646  */
660
+#line 2221 "parse.y" /* yacc.c:1646  */
661
     {
662
 			value_expr((yyvsp[0].node));
663
 			(yyval.node) = new_attr_op_assign((yyvsp[-4].node), ID2VAL(idCOLON2), (yyvsp[-2].id), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
664
 		    }
665
-#line 7051 "parse.c" /* yacc.c:1646  */
666
+#line 7043 "parse.c" /* yacc.c:1646  */
667
     break;
668
 
669
   case 206:
670
-#line 2234 "parse.y" /* yacc.c:1646  */
671
+#line 2226 "parse.y" /* yacc.c:1646  */
672
     {
673
 		    /*%%%*/
674
 			YYLTYPE location;
675
@@ -7066,29 +7058,29 @@ yyreduce:
676
 			(yyval.node) = const_path_field((yyvsp[-4].node), (yyvsp[-2].id), &location);
677
 			(yyval.node) = new_const_op_assign((yyval.node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
678
 		    }
679
-#line 7066 "parse.c" /* yacc.c:1646  */
680
+#line 7058 "parse.c" /* yacc.c:1646  */
681
     break;
682
 
683
   case 207:
684
-#line 2245 "parse.y" /* yacc.c:1646  */
685
+#line 2237 "parse.y" /* yacc.c:1646  */
686
     {
687
 			(yyval.node) = top_const_field((yyvsp[-2].id));
688
 			(yyval.node) = new_const_op_assign((yyval.node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
689
 		    }
690
-#line 7075 "parse.c" /* yacc.c:1646  */
691
+#line 7067 "parse.c" /* yacc.c:1646  */
692
     break;
693
 
694
   case 208:
695
-#line 2250 "parse.y" /* yacc.c:1646  */
696
+#line 2242 "parse.y" /* yacc.c:1646  */
697
     {
698
 			(yyvsp[-2].node) = var_field((yyvsp[-2].node));
699
 			(yyval.node) = backref_assign_error((yyvsp[-2].node), new_op_assign((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc)), &(yyloc));
700
 		    }
701
-#line 7084 "parse.c" /* yacc.c:1646  */
702
+#line 7076 "parse.c" /* yacc.c:1646  */
703
     break;
704
 
705
   case 209:
706
-#line 2255 "parse.y" /* yacc.c:1646  */
707
+#line 2247 "parse.y" /* yacc.c:1646  */
708
     {
709
 		    /*%%%*/
710
 			value_expr((yyvsp[-2].node));
711
@@ -7099,11 +7091,11 @@ yyreduce:
712
 			$$ = dispatch2(dot2, $1, $3);
713
 		    %*/
714
 		    }
715
-#line 7099 "parse.c" /* yacc.c:1646  */
716
+#line 7091 "parse.c" /* yacc.c:1646  */
717
     break;
718
 
719
   case 210:
720
-#line 2266 "parse.y" /* yacc.c:1646  */
721
+#line 2258 "parse.y" /* yacc.c:1646  */
722
     {
723
 		    /*%%%*/
724
 			value_expr((yyvsp[-2].node));
725
@@ -7114,218 +7106,218 @@ yyreduce:
726
 			$$ = dispatch2(dot3, $1, $3);
727
 		    %*/
728
 		    }
729
-#line 7114 "parse.c" /* yacc.c:1646  */
730
+#line 7106 "parse.c" /* yacc.c:1646  */
731
     break;
732
 
733
   case 211:
734
-#line 2277 "parse.y" /* yacc.c:1646  */
735
+#line 2269 "parse.y" /* yacc.c:1646  */
736
     {
737
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '+', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
738
 		    }
739
-#line 7122 "parse.c" /* yacc.c:1646  */
740
+#line 7114 "parse.c" /* yacc.c:1646  */
741
     break;
742
 
743
   case 212:
744
-#line 2281 "parse.y" /* yacc.c:1646  */
745
+#line 2273 "parse.y" /* yacc.c:1646  */
746
     {
747
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '-', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
748
 		    }
749
-#line 7130 "parse.c" /* yacc.c:1646  */
750
+#line 7122 "parse.c" /* yacc.c:1646  */
751
     break;
752
 
753
   case 213:
754
-#line 2285 "parse.y" /* yacc.c:1646  */
755
+#line 2277 "parse.y" /* yacc.c:1646  */
756
     {
757
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '*', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
758
 		    }
759
-#line 7138 "parse.c" /* yacc.c:1646  */
760
+#line 7130 "parse.c" /* yacc.c:1646  */
761
     break;
762
 
763
   case 214:
764
-#line 2289 "parse.y" /* yacc.c:1646  */
765
+#line 2281 "parse.y" /* yacc.c:1646  */
766
     {
767
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '/', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
768
 		    }
769
-#line 7146 "parse.c" /* yacc.c:1646  */
770
+#line 7138 "parse.c" /* yacc.c:1646  */
771
     break;
772
 
773
   case 215:
774
-#line 2293 "parse.y" /* yacc.c:1646  */
775
+#line 2285 "parse.y" /* yacc.c:1646  */
776
     {
777
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '%', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
778
 		    }
779
-#line 7154 "parse.c" /* yacc.c:1646  */
780
+#line 7146 "parse.c" /* yacc.c:1646  */
781
     break;
782
 
783
   case 216:
784
-#line 2297 "parse.y" /* yacc.c:1646  */
785
+#line 2289 "parse.y" /* yacc.c:1646  */
786
     {
787
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idPow, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
788
 		    }
789
-#line 7162 "parse.c" /* yacc.c:1646  */
790
+#line 7154 "parse.c" /* yacc.c:1646  */
791
     break;
792
 
793
   case 217:
794
-#line 2301 "parse.y" /* yacc.c:1646  */
795
+#line 2293 "parse.y" /* yacc.c:1646  */
796
     {
797
 			(yyval.node) = call_uni_op(call_bin_op((yyvsp[-2].node), idPow, (yyvsp[0].node), &(yylsp[-2]), &(yyloc)), idUMinus, &(yylsp[-3]), &(yyloc));
798
 		    }
799
-#line 7170 "parse.c" /* yacc.c:1646  */
800
+#line 7162 "parse.c" /* yacc.c:1646  */
801
     break;
802
 
803
   case 218:
804
-#line 2305 "parse.y" /* yacc.c:1646  */
805
+#line 2297 "parse.y" /* yacc.c:1646  */
806
     {
807
 			(yyval.node) = call_uni_op((yyvsp[0].node), idUPlus, &(yylsp[-1]), &(yyloc));
808
 		    }
809
-#line 7178 "parse.c" /* yacc.c:1646  */
810
+#line 7170 "parse.c" /* yacc.c:1646  */
811
     break;
812
 
813
   case 219:
814
-#line 2309 "parse.y" /* yacc.c:1646  */
815
+#line 2301 "parse.y" /* yacc.c:1646  */
816
     {
817
 			(yyval.node) = call_uni_op((yyvsp[0].node), idUMinus, &(yylsp[-1]), &(yyloc));
818
 		    }
819
-#line 7186 "parse.c" /* yacc.c:1646  */
820
+#line 7178 "parse.c" /* yacc.c:1646  */
821
     break;
822
 
823
   case 220:
824
-#line 2313 "parse.y" /* yacc.c:1646  */
825
+#line 2305 "parse.y" /* yacc.c:1646  */
826
     {
827
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '|', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
828
 		    }
829
-#line 7194 "parse.c" /* yacc.c:1646  */
830
+#line 7186 "parse.c" /* yacc.c:1646  */
831
     break;
832
 
833
   case 221:
834
-#line 2317 "parse.y" /* yacc.c:1646  */
835
+#line 2309 "parse.y" /* yacc.c:1646  */
836
     {
837
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '^', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
838
 		    }
839
-#line 7202 "parse.c" /* yacc.c:1646  */
840
+#line 7194 "parse.c" /* yacc.c:1646  */
841
     break;
842
 
843
   case 222:
844
-#line 2321 "parse.y" /* yacc.c:1646  */
845
+#line 2313 "parse.y" /* yacc.c:1646  */
846
     {
847
 			(yyval.node) = call_bin_op((yyvsp[-2].node), '&', (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
848
 		    }
849
-#line 7210 "parse.c" /* yacc.c:1646  */
850
+#line 7202 "parse.c" /* yacc.c:1646  */
851
     break;
852
 
853
   case 223:
854
-#line 2325 "parse.y" /* yacc.c:1646  */
855
+#line 2317 "parse.y" /* yacc.c:1646  */
856
     {
857
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idCmp, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
858
 		    }
859
-#line 7218 "parse.c" /* yacc.c:1646  */
860
+#line 7210 "parse.c" /* yacc.c:1646  */
861
     break;
862
 
863
   case 225:
864
-#line 2330 "parse.y" /* yacc.c:1646  */
865
+#line 2322 "parse.y" /* yacc.c:1646  */
866
     {
867
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idEq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
868
 		    }
869
-#line 7226 "parse.c" /* yacc.c:1646  */
870
+#line 7218 "parse.c" /* yacc.c:1646  */
871
     break;
872
 
873
   case 226:
874
-#line 2334 "parse.y" /* yacc.c:1646  */
875
+#line 2326 "parse.y" /* yacc.c:1646  */
876
     {
877
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idEqq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
878
 		    }
879
-#line 7234 "parse.c" /* yacc.c:1646  */
880
+#line 7226 "parse.c" /* yacc.c:1646  */
881
     break;
882
 
883
   case 227:
884
-#line 2338 "parse.y" /* yacc.c:1646  */
885
+#line 2330 "parse.y" /* yacc.c:1646  */
886
     {
887
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idNeq, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
888
 		    }
889
-#line 7242 "parse.c" /* yacc.c:1646  */
890
+#line 7234 "parse.c" /* yacc.c:1646  */
891
     break;
892
 
893
   case 228:
894
-#line 2342 "parse.y" /* yacc.c:1646  */
895
+#line 2334 "parse.y" /* yacc.c:1646  */
896
     {
897
 			(yyval.node) = match_op((yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
898
 		    }
899
-#line 7250 "parse.c" /* yacc.c:1646  */
900
+#line 7242 "parse.c" /* yacc.c:1646  */
901
     break;
902
 
903
   case 229:
904
-#line 2346 "parse.y" /* yacc.c:1646  */
905
+#line 2338 "parse.y" /* yacc.c:1646  */
906
     {
907
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idNeqTilde, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
908
 		    }
909
-#line 7258 "parse.c" /* yacc.c:1646  */
910
+#line 7250 "parse.c" /* yacc.c:1646  */
911
     break;
912
 
913
   case 230:
914
-#line 2350 "parse.y" /* yacc.c:1646  */
915
+#line 2342 "parse.y" /* yacc.c:1646  */
916
     {
917
 			(yyval.node) = call_uni_op(method_cond((yyvsp[0].node), &(yylsp[0])), '!', &(yylsp[-1]), &(yyloc));
918
 		    }
919
-#line 7266 "parse.c" /* yacc.c:1646  */
920
+#line 7258 "parse.c" /* yacc.c:1646  */
921
     break;
922
 
923
   case 231:
924
-#line 2354 "parse.y" /* yacc.c:1646  */
925
+#line 2346 "parse.y" /* yacc.c:1646  */
926
     {
927
 			(yyval.node) = call_uni_op((yyvsp[0].node), '~', &(yylsp[-1]), &(yyloc));
928
 		    }
929
-#line 7274 "parse.c" /* yacc.c:1646  */
930
+#line 7266 "parse.c" /* yacc.c:1646  */
931
     break;
932
 
933
   case 232:
934
-#line 2358 "parse.y" /* yacc.c:1646  */
935
+#line 2350 "parse.y" /* yacc.c:1646  */
936
     {
937
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idLTLT, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
938
 		    }
939
-#line 7282 "parse.c" /* yacc.c:1646  */
940
+#line 7274 "parse.c" /* yacc.c:1646  */
941
     break;
942
 
943
   case 233:
944
-#line 2362 "parse.y" /* yacc.c:1646  */
945
+#line 2354 "parse.y" /* yacc.c:1646  */
946
     {
947
 			(yyval.node) = call_bin_op((yyvsp[-2].node), idGTGT, (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
948
 		    }
949
-#line 7290 "parse.c" /* yacc.c:1646  */
950
+#line 7282 "parse.c" /* yacc.c:1646  */
951
     break;
952
 
953
   case 234:
954
-#line 2366 "parse.y" /* yacc.c:1646  */
955
+#line 2358 "parse.y" /* yacc.c:1646  */
956
     {
957
 			(yyval.node) = logop(idANDOP, (yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
958
 		    }
959
-#line 7298 "parse.c" /* yacc.c:1646  */
960
+#line 7290 "parse.c" /* yacc.c:1646  */
961
     break;
962
 
963
   case 235:
964
-#line 2370 "parse.y" /* yacc.c:1646  */
965
+#line 2362 "parse.y" /* yacc.c:1646  */
966
     {
967
 			(yyval.node) = logop(idOROP, (yyvsp[-2].node), (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
968
 		    }
969
-#line 7306 "parse.c" /* yacc.c:1646  */
970
+#line 7298 "parse.c" /* yacc.c:1646  */
971
     break;
972
 
973
   case 236:
974
-#line 2373 "parse.y" /* yacc.c:1646  */
975
+#line 2365 "parse.y" /* yacc.c:1646  */
976
     {in_defined = 1;}
977
-#line 7312 "parse.c" /* yacc.c:1646  */
978
+#line 7304 "parse.c" /* yacc.c:1646  */
979
     break;
980
 
981
   case 237:
982
-#line 2374 "parse.y" /* yacc.c:1646  */
983
+#line 2366 "parse.y" /* yacc.c:1646  */
984
     {
985
 			in_defined = 0;
986
 			(yyval.node) = new_defined((yyvsp[0].node), &(yyloc));
987
 		    }
988
-#line 7321 "parse.c" /* yacc.c:1646  */
989
+#line 7313 "parse.c" /* yacc.c:1646  */
990
     break;
991
 
992
   case 238:
993
-#line 2379 "parse.y" /* yacc.c:1646  */
994
+#line 2371 "parse.y" /* yacc.c:1646  */
995
     {
996
 		    /*%%%*/
997
 			value_expr((yyvsp[-5].node));
998
@@ -7335,60 +7327,60 @@ yyreduce:
999
 			$$ = dispatch3(ifop, $1, $3, $6);
1000
 		    %*/
1001
 		    }
1002
-#line 7335 "parse.c" /* yacc.c:1646  */
1003
+#line 7327 "parse.c" /* yacc.c:1646  */
1004
     break;
1005
 
1006
   case 239:
1007
-#line 2389 "parse.y" /* yacc.c:1646  */
1008
+#line 2381 "parse.y" /* yacc.c:1646  */
1009
     {
1010
 			(yyval.node) = (yyvsp[0].node);
1011
 		    }
1012
-#line 7343 "parse.c" /* yacc.c:1646  */
1013
+#line 7335 "parse.c" /* yacc.c:1646  */
1014
     break;
1015
 
1016
   case 240:
1017
-#line 2394 "parse.y" /* yacc.c:1646  */
1018
+#line 2386 "parse.y" /* yacc.c:1646  */
1019
     {(yyval.id) = '>';}
1020
-#line 7349 "parse.c" /* yacc.c:1646  */
1021
+#line 7341 "parse.c" /* yacc.c:1646  */
1022
     break;
1023
 
1024
   case 241:
1025
-#line 2395 "parse.y" /* yacc.c:1646  */
1026
+#line 2387 "parse.y" /* yacc.c:1646  */
1027
     {(yyval.id) = '<';}
1028
-#line 7355 "parse.c" /* yacc.c:1646  */
1029
+#line 7347 "parse.c" /* yacc.c:1646  */
1030
     break;
1031
 
1032
   case 242:
1033
-#line 2396 "parse.y" /* yacc.c:1646  */
1034
+#line 2388 "parse.y" /* yacc.c:1646  */
1035
     {(yyval.id) = idGE;}
1036
-#line 7361 "parse.c" /* yacc.c:1646  */
1037
+#line 7353 "parse.c" /* yacc.c:1646  */
1038
     break;
1039
 
1040
   case 243:
1041
-#line 2397 "parse.y" /* yacc.c:1646  */
1042
+#line 2389 "parse.y" /* yacc.c:1646  */
1043
     {(yyval.id) = idLE;}
1044
-#line 7367 "parse.c" /* yacc.c:1646  */
1045
+#line 7359 "parse.c" /* yacc.c:1646  */
1046
     break;
1047
 
1048
   case 244:
1049
-#line 2401 "parse.y" /* yacc.c:1646  */
1050
+#line 2393 "parse.y" /* yacc.c:1646  */
1051
     {
1052
 			(yyval.node) = call_bin_op((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
1053
 		    }
1054
-#line 7375 "parse.c" /* yacc.c:1646  */
1055
+#line 7367 "parse.c" /* yacc.c:1646  */
1056
     break;
1057
 
1058
   case 245:
1059
-#line 2405 "parse.y" /* yacc.c:1646  */
1060
+#line 2397 "parse.y" /* yacc.c:1646  */
1061
     {
1062
 			rb_warning1("comparison '%s' after comparison", WARN_ID((yyvsp[-1].id)));
1063
 			(yyval.node) = call_bin_op((yyvsp[-2].node), (yyvsp[-1].id), (yyvsp[0].node), &(yylsp[-1]), &(yyloc));
1064
 		    }
1065
-#line 7384 "parse.c" /* yacc.c:1646  */
1066
+#line 7376 "parse.c" /* yacc.c:1646  */
1067
     break;
1068
 
1069
   case 246:
1070
-#line 2412 "parse.y" /* yacc.c:1646  */
1071
+#line 2404 "parse.y" /* yacc.c:1646  */
1072
     {
1073
 		    /*%%%*/
1074
 			value_expr((yyvsp[0].node));
1075
@@ -7398,19 +7390,19 @@ yyreduce:
1076
 			$$ = $1;
1077
 		    %*/
1078
 		    }
1079
-#line 7398 "parse.c" /* yacc.c:1646  */
1080
+#line 7390 "parse.c" /* yacc.c:1646  */
1081
     break;
1082
 
1083
   case 248:
1084
-#line 2425 "parse.y" /* yacc.c:1646  */
1085
+#line 2417 "parse.y" /* yacc.c:1646  */
1086
     {
1087
 			(yyval.node) = (yyvsp[-1].node);
1088
 		    }
1089
-#line 7406 "parse.c" /* yacc.c:1646  */
1090
+#line 7398 "parse.c" /* yacc.c:1646  */
1091
     break;
1092
 
1093
   case 249:
1094
-#line 2429 "parse.y" /* yacc.c:1646  */
1095
+#line 2421 "parse.y" /* yacc.c:1646  */
1096
     {
1097
 		    /*%%%*/
1098
 			(yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node);
1099
@@ -7418,11 +7410,11 @@ yyreduce:
1100
 			$$ = arg_add_assocs($1, $3);
1101
 		    %*/
1102
 		    }
1103
-#line 7418 "parse.c" /* yacc.c:1646  */
1104
+#line 7410 "parse.c" /* yacc.c:1646  */
1105
     break;
1106
 
1107
   case 250:
1108
-#line 2437 "parse.y" /* yacc.c:1646  */
1109
+#line 2429 "parse.y" /* yacc.c:1646  */
1110
     {
1111
 		    /*%%%*/
1112
 			(yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : 0;
1113
@@ -7430,11 +7422,11 @@ yyreduce:
1114
 			$$ = arg_add_assocs(arg_new(), $1);
1115
 		    %*/
1116
 		    }
1117
-#line 7430 "parse.c" /* yacc.c:1646  */
1118
+#line 7422 "parse.c" /* yacc.c:1646  */
1119
     break;
1120
 
1121
   case 251:
1122
-#line 2447 "parse.y" /* yacc.c:1646  */
1123
+#line 2439 "parse.y" /* yacc.c:1646  */
1124
     {
1125
 		    /*%%%*/
1126
 			value_expr((yyvsp[0].node));
1127
@@ -7442,11 +7434,11 @@ yyreduce:
1128
 		    /*%
1129
 		    %*/
1130
 		    }
1131
-#line 7442 "parse.c" /* yacc.c:1646  */
1132
+#line 7434 "parse.c" /* yacc.c:1646  */
1133
     break;
1134
 
1135
   case 252:
1136
-#line 2455 "parse.y" /* yacc.c:1646  */
1137
+#line 2447 "parse.y" /* yacc.c:1646  */
1138
     {
1139
 		    /*%%%*/
1140
 			YYLTYPE location;
1141
@@ -7458,11 +7450,11 @@ yyreduce:
1142
 			$$ = dispatch2(rescue_mod, $1, $3);
1143
 		    %*/
1144
 		    }
1145
-#line 7458 "parse.c" /* yacc.c:1646  */
1146
+#line 7450 "parse.c" /* yacc.c:1646  */
1147
     break;
1148
 
1149
   case 253:
1150
-#line 2469 "parse.y" /* yacc.c:1646  */
1151
+#line 2461 "parse.y" /* yacc.c:1646  */
1152
     {
1153
 		    /*%%%*/
1154
 			(yyval.node) = (yyvsp[-1].node);
1155
@@ -7470,19 +7462,19 @@ yyreduce:
1156
 			$$ = dispatch1(arg_paren, escape_Qundef($2));
1157
 		    %*/
1158
 		    }
1159
-#line 7470 "parse.c" /* yacc.c:1646  */
1160
+#line 7462 "parse.c" /* yacc.c:1646  */
1161
     break;
1162
 
1163
   case 258:
1164
-#line 2485 "parse.y" /* yacc.c:1646  */
1165
+#line 2477 "parse.y" /* yacc.c:1646  */
1166
     {
1167
 		      (yyval.node) = (yyvsp[-1].node);
1168
 		    }
1169
-#line 7478 "parse.c" /* yacc.c:1646  */
1170
+#line 7470 "parse.c" /* yacc.c:1646  */
1171
     break;
1172
 
1173
   case 259:
1174
-#line 2489 "parse.y" /* yacc.c:1646  */
1175
+#line 2481 "parse.y" /* yacc.c:1646  */
1176
     {
1177
 		    /*%%%*/
1178
 			(yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node);
1179
@@ -7490,11 +7482,11 @@ yyreduce:
1180
 			$$ = arg_add_assocs($1, $3);
1181
 		    %*/
1182
 		    }
1183
-#line 7490 "parse.c" /* yacc.c:1646  */
1184
+#line 7482 "parse.c" /* yacc.c:1646  */
1185
     break;
1186
 
1187
   case 260:
1188
-#line 2497 "parse.y" /* yacc.c:1646  */
1189
+#line 2489 "parse.y" /* yacc.c:1646  */
1190
     {
1191
 		    /*%%%*/
1192
 			(yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yylsp[-1])) : 0;
1193
@@ -7502,11 +7494,11 @@ yyreduce:
1194
 			$$ = arg_add_assocs(arg_new(), $1);
1195
 		    %*/
1196
 		    }
1197
-#line 7502 "parse.c" /* yacc.c:1646  */
1198
+#line 7494 "parse.c" /* yacc.c:1646  */
1199
     break;
1200
 
1201
   case 261:
1202
-#line 2507 "parse.y" /* yacc.c:1646  */
1203
+#line 2499 "parse.y" /* yacc.c:1646  */
1204
     {
1205
 		    /*%%%*/
1206
 			value_expr((yyvsp[0].node));
1207
@@ -7515,11 +7507,11 @@ yyreduce:
1208
 			$$ = arg_add(arg_new(), $1);
1209
 		    %*/
1210
 		    }
1211
-#line 7515 "parse.c" /* yacc.c:1646  */
1212
+#line 7507 "parse.c" /* yacc.c:1646  */
1213
     break;
1214
 
1215
   case 262:
1216
-#line 2516 "parse.y" /* yacc.c:1646  */
1217
+#line 2508 "parse.y" /* yacc.c:1646  */
1218
     {
1219
 		    /*%%%*/
1220
 			(yyval.node) = arg_blk_pass((yyvsp[-1].node), (yyvsp[0].node));
1221
@@ -7527,11 +7519,11 @@ yyreduce:
1222
 			$$ = arg_add_optblock($1, $2);
1223
 		    %*/
1224
 		    }
1225
-#line 7527 "parse.c" /* yacc.c:1646  */
1226
+#line 7519 "parse.c" /* yacc.c:1646  */
1227
     break;
1228
 
1229
   case 263:
1230
-#line 2524 "parse.y" /* yacc.c:1646  */
1231
+#line 2516 "parse.y" /* yacc.c:1646  */
1232
     {
1233
 		    /*%%%*/
1234
 			(yyval.node) = (yyvsp[-1].node) ? new_list(new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yylsp[-1])) : 0;
1235
@@ -7541,11 +7533,11 @@ yyreduce:
1236
 			$$ = arg_add_optblock($$, $2);
1237
 		    %*/
1238
 		    }
1239
-#line 7541 "parse.c" /* yacc.c:1646  */
1240
+#line 7533 "parse.c" /* yacc.c:1646  */
1241
     break;
1242
 
1243
   case 264:
1244
-#line 2534 "parse.y" /* yacc.c:1646  */
1245
+#line 2526 "parse.y" /* yacc.c:1646  */
1246
     {
1247
 		    /*%%%*/
1248
 			(yyval.node) = (yyvsp[-1].node) ? arg_append((yyvsp[-3].node), new_hash((yyvsp[-1].node), &(yylsp[-1])), &(yyloc)) : (yyvsp[-3].node);
1249
@@ -7554,30 +7546,30 @@ yyreduce:
1250
 			$$ = arg_add_optblock(arg_add_assocs($1, $3), $4);
1251
 		    %*/
1252
 		    }
1253
-#line 7554 "parse.c" /* yacc.c:1646  */
1254
+#line 7546 "parse.c" /* yacc.c:1646  */
1255
     break;
1256
 
1257
   case 266:
1258
-#line 2551 "parse.y" /* yacc.c:1646  */
1259
+#line 2543 "parse.y" /* yacc.c:1646  */
1260
     {
1261
 			(yyval.val) = cmdarg_stack;
1262
 			CMDARG_PUSH(1);
1263
 		    }
1264
-#line 7563 "parse.c" /* yacc.c:1646  */
1265
+#line 7555 "parse.c" /* yacc.c:1646  */
1266
     break;
1267
 
1268
   case 267:
1269
-#line 2556 "parse.y" /* yacc.c:1646  */
1270
+#line 2548 "parse.y" /* yacc.c:1646  */
1271
     {
1272
 			/* CMDARG_POP() */
1273
 			CMDARG_SET((yyvsp[-1].val));
1274
 			(yyval.node) = (yyvsp[0].node);
1275
 		    }
1276
-#line 7573 "parse.c" /* yacc.c:1646  */
1277
+#line 7565 "parse.c" /* yacc.c:1646  */
1278
     break;
1279
 
1280
   case 268:
1281
-#line 2564 "parse.y" /* yacc.c:1646  */
1282
+#line 2556 "parse.y" /* yacc.c:1646  */
1283
     {
1284
 		    /*%%%*/
1285
 			(yyval.node) = NEW_BLOCK_PASS((yyvsp[0].node));
1286
@@ -7586,27 +7578,27 @@ yyreduce:
1287
 			$$ = $2;
1288
 		    %*/
1289
 		    }
1290
-#line 7586 "parse.c" /* yacc.c:1646  */
1291
+#line 7578 "parse.c" /* yacc.c:1646  */
1292
     break;
1293
 
1294
   case 269:
1295
-#line 2575 "parse.y" /* yacc.c:1646  */
1296
+#line 2567 "parse.y" /* yacc.c:1646  */
1297
     {
1298
 			(yyval.node) = (yyvsp[0].node);
1299
 		    }
1300
-#line 7594 "parse.c" /* yacc.c:1646  */
1301
+#line 7586 "parse.c" /* yacc.c:1646  */
1302
     break;
1303
 
1304
   case 270:
1305
-#line 2579 "parse.y" /* yacc.c:1646  */
1306
+#line 2571 "parse.y" /* yacc.c:1646  */
1307
     {
1308
 			(yyval.node) = 0;
1309
 		    }
1310
-#line 7602 "parse.c" /* yacc.c:1646  */
1311
+#line 7594 "parse.c" /* yacc.c:1646  */
1312
     break;
1313
 
1314
   case 271:
1315
-#line 2585 "parse.y" /* yacc.c:1646  */
1316
+#line 2577 "parse.y" /* yacc.c:1646  */
1317
     {
1318
 		    /*%%%*/
1319
 			(yyval.node) = new_list((yyvsp[0].node), &(yyloc));
1320
@@ -7614,11 +7606,11 @@ yyreduce:
1321
 			$$ = arg_add(arg_new(), $1);
1322
 		    %*/
1323
 		    }
1324
-#line 7614 "parse.c" /* yacc.c:1646  */
1325
+#line 7606 "parse.c" /* yacc.c:1646  */
1326
     break;
1327
 
1328
   case 272:
1329
-#line 2593 "parse.y" /* yacc.c:1646  */
1330
+#line 2585 "parse.y" /* yacc.c:1646  */
1331
     {
1332
 		    /*%%%*/
1333
 			(yyval.node) = NEW_SPLAT((yyvsp[0].node));
1334
@@ -7627,11 +7619,11 @@ yyreduce:
1335
 			$$ = arg_add_star(arg_new(), $2);
1336
 		    %*/
1337
 		    }
1338
-#line 7627 "parse.c" /* yacc.c:1646  */
1339
+#line 7619 "parse.c" /* yacc.c:1646  */
1340
     break;
1341
 
1342
   case 273:
1343
-#line 2602 "parse.y" /* yacc.c:1646  */
1344
+#line 2594 "parse.y" /* yacc.c:1646  */
1345
     {
1346
 		    /*%%%*/
1347
 			NODE *n1;
1348
@@ -7645,11 +7637,11 @@ yyreduce:
1349
 			$$ = arg_add($1, $3);
1350
 		    %*/
1351
 		    }
1352
-#line 7645 "parse.c" /* yacc.c:1646  */
1353
+#line 7637 "parse.c" /* yacc.c:1646  */
1354
     break;
1355
 
1356
   case 274:
1357
-#line 2616 "parse.y" /* yacc.c:1646  */
1358
+#line 2608 "parse.y" /* yacc.c:1646  */
1359
     {
1360
 		    /*%%%*/
1361
 			NODE *n1;
1362
@@ -7663,11 +7655,11 @@ yyreduce:
1363
 			$$ = arg_add_star($1, $4);
1364
 		    %*/
1365
 		    }
1366
-#line 7663 "parse.c" /* yacc.c:1646  */
1367
+#line 7655 "parse.c" /* yacc.c:1646  */
1368
     break;
1369
 
1370
   case 277:
1371
-#line 2636 "parse.y" /* yacc.c:1646  */
1372
+#line 2628 "parse.y" /* yacc.c:1646  */
1373
     {
1374
 		    /*%%%*/
1375
 			NODE *n1;
1376
@@ -7681,11 +7673,11 @@ yyreduce:
1377
 			$$ = mrhs_add(args2mrhs($1), $3);
1378
 		    %*/
1379
 		    }
1380
-#line 7681 "parse.c" /* yacc.c:1646  */
1381
+#line 7673 "parse.c" /* yacc.c:1646  */
1382
     break;
1383
 
1384
   case 278:
1385
-#line 2650 "parse.y" /* yacc.c:1646  */
1386
+#line 2642 "parse.y" /* yacc.c:1646  */
1387
     {
1388
 		    /*%%%*/
1389
 			NODE *n1;
1390
@@ -7700,11 +7692,11 @@ yyreduce:
1391
 			$$ = mrhs_add_star(args2mrhs($1), $4);
1392
 		    %*/
1393
 		    }
1394
-#line 7700 "parse.c" /* yacc.c:1646  */
1395
+#line 7692 "parse.c" /* yacc.c:1646  */
1396
     break;
1397
 
1398
   case 279:
1399
-#line 2665 "parse.y" /* yacc.c:1646  */
1400
+#line 2657 "parse.y" /* yacc.c:1646  */
1401
     {
1402
 		    /*%%%*/
1403
 			(yyval.node) = NEW_SPLAT((yyvsp[0].node));
1404
@@ -7713,11 +7705,11 @@ yyreduce:
1405
 			$$ = mrhs_add_star(mrhs_new(), $2);
1406
 		    %*/
1407
 		    }
1408
-#line 7713 "parse.c" /* yacc.c:1646  */
1409
+#line 7705 "parse.c" /* yacc.c:1646  */
1410
     break;
1411
 
1412
   case 290:
1413
-#line 2686 "parse.y" /* yacc.c:1646  */
1414
+#line 2678 "parse.y" /* yacc.c:1646  */
1415
     {
1416
 		    /*%%%*/
1417
 			(yyval.node) = new_fcall((yyvsp[0].id), 0, &(yyloc));
1418
@@ -7725,11 +7717,11 @@ yyreduce:
1419
 			$$ = method_arg(dispatch1(fcall, $1), arg_new());
1420
 		    %*/
1421
 		    }
1422
-#line 7725 "parse.c" /* yacc.c:1646  */
1423
+#line 7717 "parse.c" /* yacc.c:1646  */
1424
     break;
1425
 
1426
   case 291:
1427
-#line 2694 "parse.y" /* yacc.c:1646  */
1428
+#line 2686 "parse.y" /* yacc.c:1646  */
1429
     {
1430
 			(yyvsp[0].val) = cmdarg_stack;
1431
 			CMDARG_SET(0);
1432
@@ -7738,11 +7730,11 @@ yyreduce:
1433
 		    /*%
1434
 		    %*/
1435
 		    }
1436
-#line 7738 "parse.c" /* yacc.c:1646  */
1437
+#line 7730 "parse.c" /* yacc.c:1646  */
1438
     break;
1439
 
1440
   case 292:
1441
-#line 2704 "parse.y" /* yacc.c:1646  */
1442
+#line 2696 "parse.y" /* yacc.c:1646  */
1443
     {
1444
 			CMDARG_SET((yyvsp[-3].val));
1445
 		    /*%%%*/
1446
@@ -7759,17 +7751,17 @@ yyreduce:
1447
 			$$ = dispatch1(begin, $3);
1448
 		    %*/
1449
 		    }
1450
-#line 7759 "parse.c" /* yacc.c:1646  */
1451
+#line 7751 "parse.c" /* yacc.c:1646  */
1452
     break;
1453
 
1454
   case 293:
1455
-#line 2720 "parse.y" /* yacc.c:1646  */
1456
+#line 2712 "parse.y" /* yacc.c:1646  */
1457
     {SET_LEX_STATE(EXPR_ENDARG);}
1458
-#line 7765 "parse.c" /* yacc.c:1646  */
1459
+#line 7757 "parse.c" /* yacc.c:1646  */
1460
     break;
1461
 
1462
   case 294:
1463
-#line 2721 "parse.y" /* yacc.c:1646  */
1464
+#line 2713 "parse.y" /* yacc.c:1646  */
1465
     {
1466
 		    /*%%%*/
1467
 			(yyval.node) = new_begin(0, &(yyloc));
1468
@@ -7777,26 +7769,26 @@ yyreduce:
1469
 			$$ = dispatch1(paren, 0);
1470
 		    %*/
1471
 		    }
1472
-#line 7777 "parse.c" /* yacc.c:1646  */
1473
+#line 7769 "parse.c" /* yacc.c:1646  */
1474
     break;
1475
 
1476
   case 295:
1477
-#line 2729 "parse.y" /* yacc.c:1646  */
1478
+#line 2721 "parse.y" /* yacc.c:1646  */
1479
     {
1480
 			(yyvsp[0].val) = cmdarg_stack;
1481
 			CMDARG_SET(0);
1482
 		    }
1483
-#line 7786 "parse.c" /* yacc.c:1646  */
1484
+#line 7778 "parse.c" /* yacc.c:1646  */
1485
     break;
1486
 
1487
   case 296:
1488
-#line 2733 "parse.y" /* yacc.c:1646  */
1489
+#line 2725 "parse.y" /* yacc.c:1646  */
1490
     {SET_LEX_STATE(EXPR_ENDARG);}
1491
-#line 7792 "parse.c" /* yacc.c:1646  */
1492
+#line 7784 "parse.c" /* yacc.c:1646  */
1493
     break;
1494
 
1495
   case 297:
1496
-#line 2734 "parse.y" /* yacc.c:1646  */
1497
+#line 2726 "parse.y" /* yacc.c:1646  */
1498
     {
1499
 			CMDARG_SET((yyvsp[-4].val));
1500
 		    /*%%%*/
1501
@@ -7805,11 +7797,11 @@ yyreduce:
1502
 			$$ = dispatch1(paren, $3);
1503
 		    %*/
1504
 		    }
1505
-#line 7805 "parse.c" /* yacc.c:1646  */
1506
+#line 7797 "parse.c" /* yacc.c:1646  */
1507
     break;
1508
 
1509
   case 298:
1510
-#line 2743 "parse.y" /* yacc.c:1646  */
1511
+#line 2735 "parse.y" /* yacc.c:1646  */
1512
     {
1513
 		    /*%%%*/
1514
 			(yyval.node) = (yyvsp[-1].node);
1515
@@ -7817,11 +7809,11 @@ yyreduce:
1516
 			$$ = dispatch1(paren, $2);
1517
 		    %*/
1518
 		    }
1519
-#line 7817 "parse.c" /* yacc.c:1646  */
1520
+#line 7809 "parse.c" /* yacc.c:1646  */
1521
     break;
1522
 
1523
   case 299:
1524
-#line 2751 "parse.y" /* yacc.c:1646  */
1525
+#line 2743 "parse.y" /* yacc.c:1646  */
1526
     {
1527
 		    /*%%%*/
1528
 			(yyval.node) = NEW_COLON2((yyvsp[-2].node), (yyvsp[0].id));
1529
@@ -7830,11 +7822,11 @@ yyreduce:
1530
 			$$ = dispatch2(const_path_ref, $1, $3);
1531
 		    %*/
1532
 		    }
1533
-#line 7830 "parse.c" /* yacc.c:1646  */
1534
+#line 7822 "parse.c" /* yacc.c:1646  */
1535
     break;
1536
 
1537
   case 300:
1538
-#line 2760 "parse.y" /* yacc.c:1646  */
1539
+#line 2752 "parse.y" /* yacc.c:1646  */
1540
     {
1541
 		    /*%%%*/
1542
 			(yyval.node) = NEW_COLON3((yyvsp[0].id));
1543
@@ -7843,11 +7835,11 @@ yyreduce:
1544
 			$$ = dispatch1(top_const_ref, $2);
1545
 		    %*/
1546
 		    }
1547
-#line 7843 "parse.c" /* yacc.c:1646  */
1548
+#line 7835 "parse.c" /* yacc.c:1646  */
1549
     break;
1550
 
1551
   case 301:
1552
-#line 2769 "parse.y" /* yacc.c:1646  */
1553
+#line 2761 "parse.y" /* yacc.c:1646  */
1554
     {
1555
 		    /*%%%*/
1556
 			(yyval.node) = make_array((yyvsp[-1].node), &(yyloc));
1557
@@ -7855,11 +7847,11 @@ yyreduce:
1558
 			$$ = dispatch1(array, escape_Qundef($2));
1559
 		    %*/
1560
 		    }
1561
-#line 7855 "parse.c" /* yacc.c:1646  */
1562
+#line 7847 "parse.c" /* yacc.c:1646  */
1563
     break;
1564
 
1565
   case 302:
1566
-#line 2777 "parse.y" /* yacc.c:1646  */
1567
+#line 2769 "parse.y" /* yacc.c:1646  */
1568
     {
1569
 		    /*%%%*/
1570
 			(yyval.node) = new_hash((yyvsp[-1].node), &(yyloc));
1571
@@ -7868,11 +7860,11 @@ yyreduce:
1572
 			$$ = dispatch1(hash, escape_Qundef($2));
1573
 		    %*/
1574
 		    }
1575
-#line 7868 "parse.c" /* yacc.c:1646  */
1576
+#line 7860 "parse.c" /* yacc.c:1646  */
1577
     break;
1578
 
1579
   case 303:
1580
-#line 2786 "parse.y" /* yacc.c:1646  */
1581
+#line 2778 "parse.y" /* yacc.c:1646  */
1582
     {
1583
 		    /*%%%*/
1584
 			(yyval.node) = NEW_RETURN(0);
1585
@@ -7881,11 +7873,11 @@ yyreduce:
1586
 			$$ = dispatch0(return0);
1587
 		    %*/
1588
 		    }
1589
-#line 7881 "parse.c" /* yacc.c:1646  */
1590
+#line 7873 "parse.c" /* yacc.c:1646  */
1591
     break;
1592
 
1593
   case 304:
1594
-#line 2795 "parse.y" /* yacc.c:1646  */
1595
+#line 2787 "parse.y" /* yacc.c:1646  */
1596
     {
1597
 		    /*%%%*/
1598
 			(yyval.node) = new_yield((yyvsp[-1].node), &(yyloc));
1599
@@ -7893,11 +7885,11 @@ yyreduce:
1600
 			$$ = dispatch1(yield, dispatch1(paren, $3));
1601
 		    %*/
1602
 		    }
1603
-#line 7893 "parse.c" /* yacc.c:1646  */
1604
+#line 7885 "parse.c" /* yacc.c:1646  */
1605
     break;
1606
 
1607
   case 305:
1608
-#line 2803 "parse.y" /* yacc.c:1646  */
1609
+#line 2795 "parse.y" /* yacc.c:1646  */
1610
     {
1611
 		    /*%%%*/
1612
 			(yyval.node) = NEW_YIELD(0);
1613
@@ -7906,11 +7898,11 @@ yyreduce:
1614
 			$$ = dispatch1(yield, dispatch1(paren, arg_new()));
1615
 		    %*/
1616
 		    }
1617
-#line 7906 "parse.c" /* yacc.c:1646  */
1618
+#line 7898 "parse.c" /* yacc.c:1646  */
1619
     break;
1620
 
1621
   case 306:
1622
-#line 2812 "parse.y" /* yacc.c:1646  */
1623
+#line 2804 "parse.y" /* yacc.c:1646  */
1624
     {
1625
 		    /*%%%*/
1626
 			(yyval.node) = NEW_YIELD(0);
1627
@@ -7919,42 +7911,42 @@ yyreduce:
1628
 			$$ = dispatch0(yield0);
1629
 		    %*/
1630
 		    }
1631
-#line 7919 "parse.c" /* yacc.c:1646  */
1632
+#line 7911 "parse.c" /* yacc.c:1646  */
1633
     break;
1634
 
1635
   case 307:
1636
-#line 2820 "parse.y" /* yacc.c:1646  */
1637
+#line 2812 "parse.y" /* yacc.c:1646  */
1638
     {in_defined = 1;}
1639
-#line 7925 "parse.c" /* yacc.c:1646  */
1640
+#line 7917 "parse.c" /* yacc.c:1646  */
1641
     break;
1642
 
1643
   case 308:
1644
-#line 2821 "parse.y" /* yacc.c:1646  */
1645
+#line 2813 "parse.y" /* yacc.c:1646  */
1646
     {
1647
 			in_defined = 0;
1648
 			(yyval.node) = new_defined((yyvsp[-1].node), &(yyloc));
1649
 		    }
1650
-#line 7934 "parse.c" /* yacc.c:1646  */
1651
+#line 7926 "parse.c" /* yacc.c:1646  */
1652
     break;
1653
 
1654
   case 309:
1655
-#line 2826 "parse.y" /* yacc.c:1646  */
1656
+#line 2818 "parse.y" /* yacc.c:1646  */
1657
     {
1658
 			(yyval.node) = call_uni_op(method_cond((yyvsp[-1].node), &(yylsp[-1])), METHOD_NOT, &(yylsp[-3]), &(yyloc));
1659
 		    }
1660
-#line 7942 "parse.c" /* yacc.c:1646  */
1661
+#line 7934 "parse.c" /* yacc.c:1646  */
1662
     break;
1663
 
1664
   case 310:
1665
-#line 2830 "parse.y" /* yacc.c:1646  */
1666
+#line 2822 "parse.y" /* yacc.c:1646  */
1667
     {
1668
 			(yyval.node) = call_uni_op(method_cond(new_nil(&(yylsp[-1])), &(yylsp[-1])), METHOD_NOT, &(yylsp[-2]), &(yyloc));
1669
 		    }
1670
-#line 7950 "parse.c" /* yacc.c:1646  */
1671
+#line 7942 "parse.c" /* yacc.c:1646  */
1672
     break;
1673
 
1674
   case 311:
1675
-#line 2834 "parse.y" /* yacc.c:1646  */
1676
+#line 2826 "parse.y" /* yacc.c:1646  */
1677
     {
1678
 		    /*%%%*/
1679
 			(yyvsp[0].node)->nd_iter = (yyvsp[-1].node);
1680
@@ -7965,11 +7957,11 @@ yyreduce:
1681
 			$$ = method_add_block($$, $2);
1682
 		    %*/
1683
 		    }
1684
-#line 7965 "parse.c" /* yacc.c:1646  */
1685
+#line 7957 "parse.c" /* yacc.c:1646  */
1686
     break;
1687
 
1688
   case 313:
1689
-#line 2846 "parse.y" /* yacc.c:1646  */
1690
+#line 2838 "parse.y" /* yacc.c:1646  */
1691
     {
1692
 		    /*%%%*/
1693
 			block_dup_check((yyvsp[-1].node)->nd_args, (yyvsp[0].node));
1694
@@ -7980,19 +7972,19 @@ yyreduce:
1695
 			$$ = method_add_block($1, $2);
1696
 		    %*/
1697
 		    }
1698
-#line 7980 "parse.c" /* yacc.c:1646  */
1699
+#line 7972 "parse.c" /* yacc.c:1646  */
1700
     break;
1701
 
1702
   case 314:
1703
-#line 2857 "parse.y" /* yacc.c:1646  */
1704
+#line 2849 "parse.y" /* yacc.c:1646  */
1705
     {
1706
 			(yyval.node) = (yyvsp[0].node);
1707
 		    }
1708
-#line 7988 "parse.c" /* yacc.c:1646  */
1709
+#line 7980 "parse.c" /* yacc.c:1646  */
1710
     break;
1711
 
1712
   case 315:
1713
-#line 2864 "parse.y" /* yacc.c:1646  */
1714
+#line 2856 "parse.y" /* yacc.c:1646  */
1715
     {
1716
 		    /*%%%*/
1717
 			(yyval.node) = new_if((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node), &(yyloc));
1718
@@ -8001,11 +7993,11 @@ yyreduce:
1719
 			$$ = dispatch3(if, $2, $4, escape_Qundef($5));
1720
 		    %*/
1721
 		    }
1722
-#line 8001 "parse.c" /* yacc.c:1646  */
1723
+#line 7993 "parse.c" /* yacc.c:1646  */
1724
     break;
1725
 
1726
   case 316:
1727
-#line 2876 "parse.y" /* yacc.c:1646  */
1728
+#line 2868 "parse.y" /* yacc.c:1646  */
1729
     {
1730
 		    /*%%%*/
1731
 			(yyval.node) = new_unless((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node), &(yyloc));
1732
@@ -8014,23 +8006,23 @@ yyreduce:
1733
 			$$ = dispatch3(unless, $2, $4, escape_Qundef($5));
1734
 		    %*/
1735
 		    }
1736
-#line 8014 "parse.c" /* yacc.c:1646  */
1737
+#line 8006 "parse.c" /* yacc.c:1646  */
1738
     break;
1739
 
1740
   case 317:
1741
-#line 2884 "parse.y" /* yacc.c:1646  */
1742
+#line 2876 "parse.y" /* yacc.c:1646  */
1743
     {COND_PUSH(1);}
1744
-#line 8020 "parse.c" /* yacc.c:1646  */
1745
+#line 8012 "parse.c" /* yacc.c:1646  */
1746
     break;
1747
 
1748
   case 318:
1749
-#line 2884 "parse.y" /* yacc.c:1646  */
1750
+#line 2876 "parse.y" /* yacc.c:1646  */
1751
     {COND_POP();}
1752
-#line 8026 "parse.c" /* yacc.c:1646  */
1753
+#line 8018 "parse.c" /* yacc.c:1646  */
1754
     break;
1755
 
1756
   case 319:
1757
-#line 2887 "parse.y" /* yacc.c:1646  */
1758
+#line 2879 "parse.y" /* yacc.c:1646  */
1759
     {
1760
 		    /*%%%*/
1761
 			(yyval.node) = NEW_WHILE(cond((yyvsp[-4].node), &(yylsp[-4])), (yyvsp[-1].node), 1);
1762
@@ -8040,23 +8032,23 @@ yyreduce:
1763
 			$$ = dispatch2(while, $3, $6);
1764
 		    %*/
1765
 		    }
1766
-#line 8040 "parse.c" /* yacc.c:1646  */
1767
+#line 8032 "parse.c" /* yacc.c:1646  */
1768
     break;
1769
 
1770
   case 320:
1771
-#line 2896 "parse.y" /* yacc.c:1646  */
1772
+#line 2888 "parse.y" /* yacc.c:1646  */
1773
     {COND_PUSH(1);}
1774
-#line 8046 "parse.c" /* yacc.c:1646  */
1775
+#line 8038 "parse.c" /* yacc.c:1646  */
1776
     break;
1777
 
1778
   case 321:
1779
-#line 2896 "parse.y" /* yacc.c:1646  */
1780
+#line 2888 "parse.y" /* yacc.c:1646  */
1781
     {COND_POP();}
1782
-#line 8052 "parse.c" /* yacc.c:1646  */
1783
+#line 8044 "parse.c" /* yacc.c:1646  */
1784
     break;
1785
 
1786
   case 322:
1787
-#line 2899 "parse.y" /* yacc.c:1646  */
1788
+#line 2891 "parse.y" /* yacc.c:1646  */
1789
     {
1790
 		    /*%%%*/
1791
 			(yyval.node) = NEW_UNTIL(cond((yyvsp[-4].node), &(yylsp[-4])), (yyvsp[-1].node), 1);
1792
@@ -8066,11 +8058,11 @@ yyreduce:
1793
 			$$ = dispatch2(until, $3, $6);
1794
 		    %*/
1795
 		    }
1796
-#line 8066 "parse.c" /* yacc.c:1646  */
1797
+#line 8058 "parse.c" /* yacc.c:1646  */
1798
     break;
1799
 
1800
   case 323:
1801
-#line 2911 "parse.y" /* yacc.c:1646  */
1802
+#line 2903 "parse.y" /* yacc.c:1646  */
1803
     {
1804
 		    /*%%%*/
1805
 			(yyval.node) = NEW_CASE((yyvsp[-3].node), (yyvsp[-1].node));
1806
@@ -8080,11 +8072,11 @@ yyreduce:
1807
 			$$ = dispatch2(case, $2, $4);
1808
 		    %*/
1809
 		    }
1810
-#line 8080 "parse.c" /* yacc.c:1646  */
1811
+#line 8072 "parse.c" /* yacc.c:1646  */
1812
     break;
1813
 
1814
   case 324:
1815
-#line 2921 "parse.y" /* yacc.c:1646  */
1816
+#line 2913 "parse.y" /* yacc.c:1646  */
1817
     {
1818
 		    /*%%%*/
1819
 			(yyval.node) = NEW_CASE2((yyvsp[-1].node));
1820
@@ -8094,23 +8086,23 @@ yyreduce:
1821
 			$$ = dispatch2(case, Qnil, $3);
1822
 		    %*/
1823
 		    }
1824
-#line 8094 "parse.c" /* yacc.c:1646  */
1825
+#line 8086 "parse.c" /* yacc.c:1646  */
1826
     break;
1827
 
1828
   case 325:
1829
-#line 2931 "parse.y" /* yacc.c:1646  */
1830
+#line 2923 "parse.y" /* yacc.c:1646  */
1831
     {COND_PUSH(1);}
1832
-#line 8100 "parse.c" /* yacc.c:1646  */
1833
+#line 8092 "parse.c" /* yacc.c:1646  */
1834
     break;
1835
 
1836
   case 326:
1837
-#line 2933 "parse.y" /* yacc.c:1646  */
1838
+#line 2925 "parse.y" /* yacc.c:1646  */
1839
     {COND_POP();}
1840
-#line 8106 "parse.c" /* yacc.c:1646  */
1841
+#line 8098 "parse.c" /* yacc.c:1646  */
1842
     break;
1843
 
1844
   case 327:
1845
-#line 2936 "parse.y" /* yacc.c:1646  */
1846
+#line 2928 "parse.y" /* yacc.c:1646  */
1847
     {
1848
 		    /*%%%*/
1849
 			/*
1850
@@ -8158,11 +8150,11 @@ yyreduce:
1851
 			$$ = dispatch3(for, $2, $5, $8);
1852
 		    %*/
1853
 		    }
1854
-#line 8158 "parse.c" /* yacc.c:1646  */
1855
+#line 8150 "parse.c" /* yacc.c:1646  */
1856
     break;
1857
 
1858
   case 328:
1859
-#line 2984 "parse.y" /* yacc.c:1646  */
1860
+#line 2976 "parse.y" /* yacc.c:1646  */
1861
     {
1862
 			if (in_def)
1863
 			    yyerror0("class definition in method body");
1864
@@ -8174,11 +8166,11 @@ yyreduce:
1865
 		    /*%
1866
 		    %*/
1867
 		    }
1868
-#line 8174 "parse.c" /* yacc.c:1646  */
1869
+#line 8166 "parse.c" /* yacc.c:1646  */
1870
     break;
1871
 
1872
   case 329:
1873
-#line 2997 "parse.y" /* yacc.c:1646  */
1874
+#line 2989 "parse.y" /* yacc.c:1646  */
1875
     {
1876
 		    /*%%%*/
1877
 			(yyval.node) = NEW_CLASS((yyvsp[-4].node), (yyvsp[-1].node), (yyvsp[-3].node));
1878
@@ -8192,22 +8184,22 @@ yyreduce:
1879
 			local_pop();
1880
 			in_class = (yyvsp[-5].num) & 1;
1881
 		    }
1882
-#line 8192 "parse.c" /* yacc.c:1646  */
1883
+#line 8184 "parse.c" /* yacc.c:1646  */
1884
     break;
1885
 
1886
   case 330:
1887
-#line 3011 "parse.y" /* yacc.c:1646  */
1888
+#line 3003 "parse.y" /* yacc.c:1646  */
1889
     {
1890
 			(yyval.num) = (in_class << 1) | in_def;
1891
 			in_def = 0;
1892
 			in_class = 0;
1893
 			local_push(0);
1894
 		    }
1895
-#line 8203 "parse.c" /* yacc.c:1646  */
1896
+#line 8195 "parse.c" /* yacc.c:1646  */
1897
     break;
1898
 
1899
   case 331:
1900
-#line 3020 "parse.y" /* yacc.c:1646  */
1901
+#line 3012 "parse.y" /* yacc.c:1646  */
1902
     {
1903
 		    /*%%%*/
1904
 			(yyval.node) = NEW_SCLASS((yyvsp[-4].node), (yyvsp[-1].node));
1905
@@ -8222,11 +8214,11 @@ yyreduce:
1906
 			in_def = (yyvsp[-3].num) & 1;
1907
 			in_class = ((yyvsp[-3].num) >> 1) & 1;
1908
 		    }
1909
-#line 8222 "parse.c" /* yacc.c:1646  */
1910
+#line 8214 "parse.c" /* yacc.c:1646  */
1911
     break;
1912
 
1913
   case 332:
1914
-#line 3035 "parse.y" /* yacc.c:1646  */
1915
+#line 3027 "parse.y" /* yacc.c:1646  */
1916
     {
1917
 			if (in_def)
1918
 			    yyerror0("module definition in method body");
1919
@@ -8238,11 +8230,11 @@ yyreduce:
1920
 		    /*%
1921
 		    %*/
1922
 		    }
1923
-#line 8238 "parse.c" /* yacc.c:1646  */
1924
+#line 8230 "parse.c" /* yacc.c:1646  */
1925
     break;
1926
 
1927
   case 333:
1928
-#line 3048 "parse.y" /* yacc.c:1646  */
1929
+#line 3040 "parse.y" /* yacc.c:1646  */
1930
     {
1931
 		    /*%%%*/
1932
 			(yyval.node) = NEW_MODULE((yyvsp[-3].node), (yyvsp[-1].node));
1933
@@ -8256,30 +8248,30 @@ yyreduce:
1934
 			local_pop();
1935
 			in_class = (yyvsp[-4].num) & 1;
1936
 		    }
1937
-#line 8256 "parse.c" /* yacc.c:1646  */
1938
+#line 8248 "parse.c" /* yacc.c:1646  */
1939
     break;
1940
 
1941
   case 334:
1942
-#line 3062 "parse.y" /* yacc.c:1646  */
1943
+#line 3054 "parse.y" /* yacc.c:1646  */
1944
     {
1945
 			local_push(0);
1946
 			(yyval.id) = current_arg;
1947
 			current_arg = 0;
1948
 		    }
1949
-#line 8266 "parse.c" /* yacc.c:1646  */
1950
+#line 8258 "parse.c" /* yacc.c:1646  */
1951
     break;
1952
 
1953
   case 335:
1954
-#line 3067 "parse.y" /* yacc.c:1646  */
1955
+#line 3059 "parse.y" /* yacc.c:1646  */
1956
     {
1957
 			(yyval.num) = in_def;
1958
 			in_def = 1;
1959
 		    }
1960
-#line 8275 "parse.c" /* yacc.c:1646  */
1961
+#line 8267 "parse.c" /* yacc.c:1646  */
1962
     break;
1963
 
1964
   case 336:
1965
-#line 3074 "parse.y" /* yacc.c:1646  */
1966
+#line 3066 "parse.y" /* yacc.c:1646  */
1967
     {
1968
 		    /*%%%*/
1969
 			NODE *body = remove_begin((yyvsp[-1].node));
1970
@@ -8296,17 +8288,17 @@ yyreduce:
1971
 			in_def = (yyvsp[-3].num) & 1;
1972
 			current_arg = (yyvsp[-4].id);
1973
 		    }
1974
-#line 8296 "parse.c" /* yacc.c:1646  */
1975
+#line 8288 "parse.c" /* yacc.c:1646  */
1976
     break;
1977
 
1978
   case 337:
1979
-#line 3090 "parse.y" /* yacc.c:1646  */
1980
+#line 3082 "parse.y" /* yacc.c:1646  */
1981
     {SET_LEX_STATE(EXPR_FNAME);}
1982
-#line 8302 "parse.c" /* yacc.c:1646  */
1983
+#line 8294 "parse.c" /* yacc.c:1646  */
1984
     break;
1985
 
1986
   case 338:
1987
-#line 3091 "parse.y" /* yacc.c:1646  */
1988
+#line 3083 "parse.y" /* yacc.c:1646  */
1989
     {
1990
 			(yyvsp[-1].num) = in_def;
1991
 			in_def = 1;
1992
@@ -8315,11 +8307,11 @@ yyreduce:
1993
 			(yyval.id) = current_arg;
1994
 			current_arg = 0;
1995
 		    }
1996
-#line 8315 "parse.c" /* yacc.c:1646  */
1997
+#line 8307 "parse.c" /* yacc.c:1646  */
1998
     break;
1999
 
2000
   case 339:
2001
-#line 3102 "parse.y" /* yacc.c:1646  */
2002
+#line 3094 "parse.y" /* yacc.c:1646  */
2003
     {
2004
 		    /*%%%*/
2005
 			NODE *body = remove_begin((yyvsp[-1].node));
2006
@@ -8336,11 +8328,11 @@ yyreduce:
2007
 			in_def = (yyvsp[-5].num) & 1;
2008
 			current_arg = (yyvsp[-3].id);
2009
 		    }
2010
-#line 8336 "parse.c" /* yacc.c:1646  */
2011
+#line 8328 "parse.c" /* yacc.c:1646  */
2012
     break;
2013
 
2014
   case 340:
2015
-#line 3119 "parse.y" /* yacc.c:1646  */
2016
+#line 3111 "parse.y" /* yacc.c:1646  */
2017
     {
2018
 		    /*%%%*/
2019
 			(yyval.node) = NEW_BREAK(0);
2020
@@ -8349,11 +8341,11 @@ yyreduce:
2021
 			$$ = dispatch1(break, arg_new());
2022
 		    %*/
2023
 		    }
2024
-#line 8349 "parse.c" /* yacc.c:1646  */
2025
+#line 8341 "parse.c" /* yacc.c:1646  */
2026
     break;
2027
 
2028
   case 341:
2029
-#line 3128 "parse.y" /* yacc.c:1646  */
2030
+#line 3120 "parse.y" /* yacc.c:1646  */
2031
     {
2032
 		    /*%%%*/
2033
 			(yyval.node) = NEW_NEXT(0);
2034
@@ -8362,11 +8354,11 @@ yyreduce:
2035
 			$$ = dispatch1(next, arg_new());
2036
 		    %*/
2037
 		    }
2038
-#line 8362 "parse.c" /* yacc.c:1646  */
2039
+#line 8354 "parse.c" /* yacc.c:1646  */
2040
     break;
2041
 
2042
   case 342:
2043
-#line 3137 "parse.y" /* yacc.c:1646  */
2044
+#line 3129 "parse.y" /* yacc.c:1646  */
2045
     {
2046
 		    /*%%%*/
2047
 			(yyval.node) = NEW_REDO();
2048
@@ -8375,11 +8367,11 @@ yyreduce:
2049
 			$$ = dispatch0(redo);
2050
 		    %*/
2051
 		    }
2052
-#line 8375 "parse.c" /* yacc.c:1646  */
2053
+#line 8367 "parse.c" /* yacc.c:1646  */
2054
     break;
2055
 
2056
   case 343:
2057
-#line 3146 "parse.y" /* yacc.c:1646  */
2058
+#line 3138 "parse.y" /* yacc.c:1646  */
2059
     {
2060
 		    /*%%%*/
2061
 			(yyval.node) = NEW_RETRY();
2062
@@ -8388,11 +8380,11 @@ yyreduce:
2063
 			$$ = dispatch0(retry);
2064
 		    %*/
2065
 		    }
2066
-#line 8388 "parse.c" /* yacc.c:1646  */
2067
+#line 8380 "parse.c" /* yacc.c:1646  */
2068
     break;
2069
 
2070
   case 344:
2071
-#line 3157 "parse.y" /* yacc.c:1646  */
2072
+#line 3149 "parse.y" /* yacc.c:1646  */
2073
     {
2074
 		    /*%%%*/
2075
 			value_expr((yyvsp[0].node));
2076
@@ -8402,51 +8394,51 @@ yyreduce:
2077
 			$$ = $1;
2078
 		    %*/
2079
 		    }
2080
-#line 8402 "parse.c" /* yacc.c:1646  */
2081
+#line 8394 "parse.c" /* yacc.c:1646  */
2082
     break;
2083
 
2084
   case 345:
2085
-#line 3169 "parse.y" /* yacc.c:1646  */
2086
+#line 3161 "parse.y" /* yacc.c:1646  */
2087
     {
2088
 			token_info_push("begin");
2089
 		    }
2090
-#line 8410 "parse.c" /* yacc.c:1646  */
2091
+#line 8402 "parse.c" /* yacc.c:1646  */
2092
     break;
2093
 
2094
   case 346:
2095
-#line 3175 "parse.y" /* yacc.c:1646  */
2096
+#line 3167 "parse.y" /* yacc.c:1646  */
2097
     {
2098
 			token_info_push("if");
2099
 		    }
2100
-#line 8418 "parse.c" /* yacc.c:1646  */
2101
+#line 8410 "parse.c" /* yacc.c:1646  */
2102
     break;
2103
 
2104
   case 347:
2105
-#line 3181 "parse.y" /* yacc.c:1646  */
2106
+#line 3173 "parse.y" /* yacc.c:1646  */
2107
     {
2108
 			token_info_push("unless");
2109
 		    }
2110
-#line 8426 "parse.c" /* yacc.c:1646  */
2111
+#line 8418 "parse.c" /* yacc.c:1646  */
2112
     break;
2113
 
2114
   case 348:
2115
-#line 3187 "parse.y" /* yacc.c:1646  */
2116
+#line 3179 "parse.y" /* yacc.c:1646  */
2117
     {
2118
 			token_info_push("while");
2119
 		    }
2120
-#line 8434 "parse.c" /* yacc.c:1646  */
2121
+#line 8426 "parse.c" /* yacc.c:1646  */
2122
     break;
2123
 
2124
   case 349:
2125
-#line 3193 "parse.y" /* yacc.c:1646  */
2126
+#line 3185 "parse.y" /* yacc.c:1646  */
2127
     {
2128
 			token_info_push("until");
2129
 		    }
2130
-#line 8442 "parse.c" /* yacc.c:1646  */
2131
+#line 8434 "parse.c" /* yacc.c:1646  */
2132
     break;
2133
 
2134
   case 350:
2135
-#line 3199 "parse.y" /* yacc.c:1646  */
2136
+#line 3191 "parse.y" /* yacc.c:1646  */
2137
     {
2138
 			token_info_push("case");
2139
 		    /*%%%*/
2140
@@ -8454,35 +8446,35 @@ yyreduce:
2141
 		    /*%
2142
 		    %*/
2143
 		    }
2144
-#line 8454 "parse.c" /* yacc.c:1646  */
2145
+#line 8446 "parse.c" /* yacc.c:1646  */
2146
     break;
2147
 
2148
   case 351:
2149
-#line 3209 "parse.y" /* yacc.c:1646  */
2150
+#line 3201 "parse.y" /* yacc.c:1646  */
2151
     {
2152
 			token_info_push("for");
2153
 		    }
2154
-#line 8462 "parse.c" /* yacc.c:1646  */
2155
+#line 8454 "parse.c" /* yacc.c:1646  */
2156
     break;
2157
 
2158
   case 352:
2159
-#line 3215 "parse.y" /* yacc.c:1646  */
2160
+#line 3207 "parse.y" /* yacc.c:1646  */
2161
     {
2162
 			token_info_push("class");
2163
 		    }
2164
-#line 8470 "parse.c" /* yacc.c:1646  */
2165
+#line 8462 "parse.c" /* yacc.c:1646  */
2166
     break;
2167
 
2168
   case 353:
2169
-#line 3221 "parse.y" /* yacc.c:1646  */
2170
+#line 3213 "parse.y" /* yacc.c:1646  */
2171
     {
2172
 			token_info_push("module");
2173
 		    }
2174
-#line 8478 "parse.c" /* yacc.c:1646  */
2175
+#line 8470 "parse.c" /* yacc.c:1646  */
2176
     break;
2177
 
2178
   case 354:
2179
-#line 3227 "parse.y" /* yacc.c:1646  */
2180
+#line 3219 "parse.y" /* yacc.c:1646  */
2181
     {
2182
 			token_info_push("def");
2183
 		    /*%%%*/
2184
@@ -8490,28 +8482,28 @@ yyreduce:
2185
 		    /*%
2186
 		    %*/
2187
 		    }
2188
-#line 8490 "parse.c" /* yacc.c:1646  */
2189
+#line 8482 "parse.c" /* yacc.c:1646  */
2190
     break;
2191
 
2192
   case 355:
2193
-#line 3237 "parse.y" /* yacc.c:1646  */
2194
+#line 3229 "parse.y" /* yacc.c:1646  */
2195
     {
2196
 			token_info_pop("end");
2197
 		    }
2198
-#line 8498 "parse.c" /* yacc.c:1646  */
2199
+#line 8490 "parse.c" /* yacc.c:1646  */
2200
     break;
2201
 
2202
   case 356:
2203
-#line 3243 "parse.y" /* yacc.c:1646  */
2204
+#line 3235 "parse.y" /* yacc.c:1646  */
2205
     {
2206
 			if (in_class && !in_def && !dyna_in_block())
2207
 			    yyerror0("Invalid return in class/module body");
2208
 		    }
2209
-#line 8507 "parse.c" /* yacc.c:1646  */
2210
+#line 8499 "parse.c" /* yacc.c:1646  */
2211
     break;
2212
 
2213
   case 363:
2214
-#line 3274 "parse.y" /* yacc.c:1646  */
2215
+#line 3266 "parse.y" /* yacc.c:1646  */
2216
     {
2217
 		    /*%%%*/
2218
 			(yyval.node) = new_if((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2219
@@ -8520,11 +8512,11 @@ yyreduce:
2220
 			$$ = dispatch3(elsif, $2, $4, escape_Qundef($5));
2221
 		    %*/
2222
 		    }
2223
-#line 8520 "parse.c" /* yacc.c:1646  */
2224
+#line 8512 "parse.c" /* yacc.c:1646  */
2225
     break;
2226
 
2227
   case 365:
2228
-#line 3286 "parse.y" /* yacc.c:1646  */
2229
+#line 3278 "parse.y" /* yacc.c:1646  */
2230
     {
2231
 		    /*%%%*/
2232
 			(yyval.node) = (yyvsp[0].node);
2233
@@ -8532,22 +8524,22 @@ yyreduce:
2234
 			$$ = dispatch1(else, $2);
2235
 		    %*/
2236
 		    }
2237
-#line 8532 "parse.c" /* yacc.c:1646  */
2238
+#line 8524 "parse.c" /* yacc.c:1646  */
2239
     break;
2240
 
2241
   case 368:
2242
-#line 3300 "parse.y" /* yacc.c:1646  */
2243
+#line 3292 "parse.y" /* yacc.c:1646  */
2244
     {
2245
 			(yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc));
2246
 		    /*%%%*/
2247
 		    /*%
2248
 		    %*/
2249
 		    }
2250
-#line 8543 "parse.c" /* yacc.c:1646  */
2251
+#line 8535 "parse.c" /* yacc.c:1646  */
2252
     break;
2253
 
2254
   case 369:
2255
-#line 3307 "parse.y" /* yacc.c:1646  */
2256
+#line 3299 "parse.y" /* yacc.c:1646  */
2257
     {
2258
 		    /*%%%*/
2259
 			(yyval.node) = (yyvsp[-1].node);
2260
@@ -8555,11 +8547,11 @@ yyreduce:
2261
 			$$ = dispatch1(mlhs_paren, $2);
2262
 		    %*/
2263
 		    }
2264
-#line 8555 "parse.c" /* yacc.c:1646  */
2265
+#line 8547 "parse.c" /* yacc.c:1646  */
2266
     break;
2267
 
2268
   case 370:
2269
-#line 3317 "parse.y" /* yacc.c:1646  */
2270
+#line 3309 "parse.y" /* yacc.c:1646  */
2271
     {
2272
 		    /*%%%*/
2273
 			(yyval.node) = new_list((yyvsp[0].node), &(yyloc));
2274
@@ -8567,11 +8559,11 @@ yyreduce:
2275
 			$$ = mlhs_add(mlhs_new(), $1);
2276
 		    %*/
2277
 		    }
2278
-#line 8567 "parse.c" /* yacc.c:1646  */
2279
+#line 8559 "parse.c" /* yacc.c:1646  */
2280
     break;
2281
 
2282
   case 371:
2283
-#line 3325 "parse.y" /* yacc.c:1646  */
2284
+#line 3317 "parse.y" /* yacc.c:1646  */
2285
     {
2286
 		    /*%%%*/
2287
 			(yyval.node) = list_append((yyvsp[-2].node), (yyvsp[0].node));
2288
@@ -8579,11 +8571,11 @@ yyreduce:
2289
 			$$ = mlhs_add($1, $3);
2290
 		    %*/
2291
 		    }
2292
-#line 8579 "parse.c" /* yacc.c:1646  */
2293
+#line 8571 "parse.c" /* yacc.c:1646  */
2294
     break;
2295
 
2296
   case 372:
2297
-#line 3335 "parse.y" /* yacc.c:1646  */
2298
+#line 3327 "parse.y" /* yacc.c:1646  */
2299
     {
2300
 		    /*%%%*/
2301
 			(yyval.node) = new_masgn((yyvsp[0].node), 0, &(yyloc));
2302
@@ -8591,11 +8583,11 @@ yyreduce:
2303
 			$$ = $1;
2304
 		    %*/
2305
 		    }
2306
-#line 8591 "parse.c" /* yacc.c:1646  */
2307
+#line 8583 "parse.c" /* yacc.c:1646  */
2308
     break;
2309
 
2310
   case 373:
2311
-#line 3343 "parse.y" /* yacc.c:1646  */
2312
+#line 3335 "parse.y" /* yacc.c:1646  */
2313
     {
2314
 			(yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc));
2315
 		    /*%%%*/
2316
@@ -8604,11 +8596,11 @@ yyreduce:
2317
 			$$ = mlhs_add_star($1, $$);
2318
 		    %*/
2319
 		    }
2320
-#line 8604 "parse.c" /* yacc.c:1646  */
2321
+#line 8596 "parse.c" /* yacc.c:1646  */
2322
     break;
2323
 
2324
   case 374:
2325
-#line 3352 "parse.y" /* yacc.c:1646  */
2326
+#line 3344 "parse.y" /* yacc.c:1646  */
2327
     {
2328
 			(yyval.node) = assignable((yyvsp[-2].id), 0, &(yyloc));
2329
 		    /*%%%*/
2330
@@ -8618,11 +8610,11 @@ yyreduce:
2331
 			$$ = mlhs_add_post($$, $6);
2332
 		    %*/
2333
 		    }
2334
-#line 8618 "parse.c" /* yacc.c:1646  */
2335
+#line 8610 "parse.c" /* yacc.c:1646  */
2336
     break;
2337
 
2338
   case 375:
2339
-#line 3362 "parse.y" /* yacc.c:1646  */
2340
+#line 3354 "parse.y" /* yacc.c:1646  */
2341
     {
2342
 		    /*%%%*/
2343
 			(yyval.node) = new_masgn((yyvsp[-2].node), NODE_SPECIAL_NO_NAME_REST, &(yyloc));
2344
@@ -8630,11 +8622,11 @@ yyreduce:
2345
 			$$ = mlhs_add_star($1, Qnil);
2346
 		    %*/
2347
 		    }
2348
-#line 8630 "parse.c" /* yacc.c:1646  */
2349
+#line 8622 "parse.c" /* yacc.c:1646  */
2350
     break;
2351
 
2352
   case 376:
2353
-#line 3370 "parse.y" /* yacc.c:1646  */
2354
+#line 3362 "parse.y" /* yacc.c:1646  */
2355
     {
2356
 		    /*%%%*/
2357
 			(yyval.node) = new_masgn((yyvsp[-4].node), new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].node), &(yyloc)), &(yyloc));
2358
@@ -8643,11 +8635,11 @@ yyreduce:
2359
 			$$ = mlhs_add_post($$, $5);
2360
 		    %*/
2361
 		    }
2362
-#line 8643 "parse.c" /* yacc.c:1646  */
2363
+#line 8635 "parse.c" /* yacc.c:1646  */
2364
     break;
2365
 
2366
   case 377:
2367
-#line 3379 "parse.y" /* yacc.c:1646  */
2368
+#line 3371 "parse.y" /* yacc.c:1646  */
2369
     {
2370
 			(yyval.node) = assignable((yyvsp[0].id), 0, &(yyloc));
2371
 		    /*%%%*/
2372
@@ -8656,11 +8648,11 @@ yyreduce:
2373
 			$$ = mlhs_add_star(mlhs_new(), $$);
2374
 		    %*/
2375
 		    }
2376
-#line 8656 "parse.c" /* yacc.c:1646  */
2377
+#line 8648 "parse.c" /* yacc.c:1646  */
2378
     break;
2379
 
2380
   case 378:
2381
-#line 3388 "parse.y" /* yacc.c:1646  */
2382
+#line 3380 "parse.y" /* yacc.c:1646  */
2383
     {
2384
 			(yyval.node) = assignable((yyvsp[-2].id), 0, &(yyloc));
2385
 		    /*%%%*/
2386
@@ -8670,11 +8662,11 @@ yyreduce:
2387
 			$$ = mlhs_add_post($$, $4);
2388
 		    %*/
2389
 		    }
2390
-#line 8670 "parse.c" /* yacc.c:1646  */
2391
+#line 8662 "parse.c" /* yacc.c:1646  */
2392
     break;
2393
 
2394
   case 379:
2395
-#line 3398 "parse.y" /* yacc.c:1646  */
2396
+#line 3390 "parse.y" /* yacc.c:1646  */
2397
     {
2398
 		    /*%%%*/
2399
 			(yyval.node) = new_masgn(0, NODE_SPECIAL_NO_NAME_REST, &(yyloc));
2400
@@ -8682,11 +8674,11 @@ yyreduce:
2401
 			$$ = mlhs_add_star(mlhs_new(), Qnil);
2402
 		    %*/
2403
 		    }
2404
-#line 8682 "parse.c" /* yacc.c:1646  */
2405
+#line 8674 "parse.c" /* yacc.c:1646  */
2406
     break;
2407
 
2408
   case 380:
2409
-#line 3406 "parse.y" /* yacc.c:1646  */
2410
+#line 3398 "parse.y" /* yacc.c:1646  */
2411
     {
2412
 		    /*%%%*/
2413
 			(yyval.node) = new_masgn(0, new_postarg(NODE_SPECIAL_NO_NAME_REST, (yyvsp[0].node), &(yyloc)), &(yyloc));
2414
@@ -8695,99 +8687,99 @@ yyreduce:
2415
 			$$ = mlhs_add_post($$, $3);
2416
 		    %*/
2417
 		    }
2418
-#line 8695 "parse.c" /* yacc.c:1646  */
2419
+#line 8687 "parse.c" /* yacc.c:1646  */
2420
     break;
2421
 
2422
   case 381:
2423
-#line 3418 "parse.y" /* yacc.c:1646  */
2424
+#line 3410 "parse.y" /* yacc.c:1646  */
2425
     {
2426
 			(yyval.node) = new_args_tail((yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1]));
2427
 		    }
2428
-#line 8703 "parse.c" /* yacc.c:1646  */
2429
+#line 8695 "parse.c" /* yacc.c:1646  */
2430
     break;
2431
 
2432
   case 382:
2433
-#line 3422 "parse.y" /* yacc.c:1646  */
2434
+#line 3414 "parse.y" /* yacc.c:1646  */
2435
     {
2436
 			(yyval.node) = new_args_tail((yyvsp[-1].node), Qnone, (yyvsp[0].id), &(yylsp[-1]));
2437
 		    }
2438
-#line 8711 "parse.c" /* yacc.c:1646  */
2439
+#line 8703 "parse.c" /* yacc.c:1646  */
2440
     break;
2441
 
2442
   case 383:
2443
-#line 3426 "parse.y" /* yacc.c:1646  */
2444
+#line 3418 "parse.y" /* yacc.c:1646  */
2445
     {
2446
 			(yyval.node) = new_args_tail(Qnone, (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1]));
2447
 		    }
2448
-#line 8719 "parse.c" /* yacc.c:1646  */
2449
+#line 8711 "parse.c" /* yacc.c:1646  */
2450
     break;
2451
 
2452
   case 384:
2453
-#line 3430 "parse.y" /* yacc.c:1646  */
2454
+#line 3422 "parse.y" /* yacc.c:1646  */
2455
     {
2456
 			(yyval.node) = new_args_tail(Qnone, Qnone, (yyvsp[0].id), &(yylsp[0]));
2457
 		    }
2458
-#line 8727 "parse.c" /* yacc.c:1646  */
2459
+#line 8719 "parse.c" /* yacc.c:1646  */
2460
     break;
2461
 
2462
   case 385:
2463
-#line 3436 "parse.y" /* yacc.c:1646  */
2464
+#line 3428 "parse.y" /* yacc.c:1646  */
2465
     {
2466
 			(yyval.node) = (yyvsp[0].node);
2467
 		    }
2468
-#line 8735 "parse.c" /* yacc.c:1646  */
2469
+#line 8727 "parse.c" /* yacc.c:1646  */
2470
     break;
2471
 
2472
   case 386:
2473
-#line 3440 "parse.y" /* yacc.c:1646  */
2474
+#line 3432 "parse.y" /* yacc.c:1646  */
2475
     {
2476
 			(yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
2477
 		    }
2478
-#line 8743 "parse.c" /* yacc.c:1646  */
2479
+#line 8735 "parse.c" /* yacc.c:1646  */
2480
     break;
2481
 
2482
   case 387:
2483
-#line 3446 "parse.y" /* yacc.c:1646  */
2484
+#line 3438 "parse.y" /* yacc.c:1646  */
2485
     {
2486
 			(yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
2487
 		    }
2488
-#line 8751 "parse.c" /* yacc.c:1646  */
2489
+#line 8743 "parse.c" /* yacc.c:1646  */
2490
     break;
2491
 
2492
   case 388:
2493
-#line 3450 "parse.y" /* yacc.c:1646  */
2494
+#line 3442 "parse.y" /* yacc.c:1646  */
2495
     {
2496
 			(yyval.node) = new_args((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2497
 		    }
2498
-#line 8759 "parse.c" /* yacc.c:1646  */
2499
+#line 8751 "parse.c" /* yacc.c:1646  */
2500
     break;
2501
 
2502
   case 389:
2503
-#line 3454 "parse.y" /* yacc.c:1646  */
2504
+#line 3446 "parse.y" /* yacc.c:1646  */
2505
     {
2506
 			(yyval.node) = new_args((yyvsp[-3].node), (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc));
2507
 		    }
2508
-#line 8767 "parse.c" /* yacc.c:1646  */
2509
+#line 8759 "parse.c" /* yacc.c:1646  */
2510
     break;
2511
 
2512
   case 390:
2513
-#line 3458 "parse.y" /* yacc.c:1646  */
2514
+#line 3450 "parse.y" /* yacc.c:1646  */
2515
     {
2516
 			(yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2517
 		    }
2518
-#line 8775 "parse.c" /* yacc.c:1646  */
2519
+#line 8767 "parse.c" /* yacc.c:1646  */
2520
     break;
2521
 
2522
   case 391:
2523
-#line 3462 "parse.y" /* yacc.c:1646  */
2524
+#line 3454 "parse.y" /* yacc.c:1646  */
2525
     {
2526
 			(yyval.node) = new_args((yyvsp[-3].node), Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
2527
 		    }
2528
-#line 8783 "parse.c" /* yacc.c:1646  */
2529
+#line 8775 "parse.c" /* yacc.c:1646  */
2530
     break;
2531
 
2532
   case 392:
2533
-#line 3466 "parse.y" /* yacc.c:1646  */
2534
+#line 3458 "parse.y" /* yacc.c:1646  */
2535
     {
2536
 			(yyval.node) = new_args((yyvsp[-1].node), Qnone, 1, Qnone, new_args_tail(Qnone, Qnone, Qnone, &(yylsp[-1])), &(yyloc));
2537
 		    /*%%%*/
2538
@@ -8795,91 +8787,91 @@ yyreduce:
2539
                         dispatch1(excessed_comma, $$);
2540
 		    %*/
2541
 		    }
2542
-#line 8795 "parse.c" /* yacc.c:1646  */
2543
+#line 8787 "parse.c" /* yacc.c:1646  */
2544
     break;
2545
 
2546
   case 393:
2547
-#line 3474 "parse.y" /* yacc.c:1646  */
2548
+#line 3466 "parse.y" /* yacc.c:1646  */
2549
     {
2550
 			(yyval.node) = new_args((yyvsp[-5].node), Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2551
 		    }
2552
-#line 8803 "parse.c" /* yacc.c:1646  */
2553
+#line 8795 "parse.c" /* yacc.c:1646  */
2554
     break;
2555
 
2556
   case 394:
2557
-#line 3478 "parse.y" /* yacc.c:1646  */
2558
+#line 3470 "parse.y" /* yacc.c:1646  */
2559
     {
2560
 			(yyval.node) = new_args((yyvsp[-1].node), Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc));
2561
 		    }
2562
-#line 8811 "parse.c" /* yacc.c:1646  */
2563
+#line 8803 "parse.c" /* yacc.c:1646  */
2564
     break;
2565
 
2566
   case 395:
2567
-#line 3482 "parse.y" /* yacc.c:1646  */
2568
+#line 3474 "parse.y" /* yacc.c:1646  */
2569
     {
2570
 			(yyval.node) = new_args(Qnone, (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
2571
 		    }
2572
-#line 8819 "parse.c" /* yacc.c:1646  */
2573
+#line 8811 "parse.c" /* yacc.c:1646  */
2574
     break;
2575
 
2576
   case 396:
2577
-#line 3486 "parse.y" /* yacc.c:1646  */
2578
+#line 3478 "parse.y" /* yacc.c:1646  */
2579
     {
2580
 			(yyval.node) = new_args(Qnone, (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2581
 		    }
2582
-#line 8827 "parse.c" /* yacc.c:1646  */
2583
+#line 8819 "parse.c" /* yacc.c:1646  */
2584
     break;
2585
 
2586
   case 397:
2587
-#line 3490 "parse.y" /* yacc.c:1646  */
2588
+#line 3482 "parse.y" /* yacc.c:1646  */
2589
     {
2590
 			(yyval.node) = new_args(Qnone, (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc));
2591
 		    }
2592
-#line 8835 "parse.c" /* yacc.c:1646  */
2593
+#line 8827 "parse.c" /* yacc.c:1646  */
2594
     break;
2595
 
2596
   case 398:
2597
-#line 3494 "parse.y" /* yacc.c:1646  */
2598
+#line 3486 "parse.y" /* yacc.c:1646  */
2599
     {
2600
 			(yyval.node) = new_args(Qnone, (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2601
 		    }
2602
-#line 8843 "parse.c" /* yacc.c:1646  */
2603
+#line 8835 "parse.c" /* yacc.c:1646  */
2604
     break;
2605
 
2606
   case 399:
2607
-#line 3498 "parse.y" /* yacc.c:1646  */
2608
+#line 3490 "parse.y" /* yacc.c:1646  */
2609
     {
2610
 			(yyval.node) = new_args(Qnone, Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
2611
 		    }
2612
-#line 8851 "parse.c" /* yacc.c:1646  */
2613
+#line 8843 "parse.c" /* yacc.c:1646  */
2614
     break;
2615
 
2616
   case 400:
2617
-#line 3502 "parse.y" /* yacc.c:1646  */
2618
+#line 3494 "parse.y" /* yacc.c:1646  */
2619
     {
2620
 			(yyval.node) = new_args(Qnone, Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
2621
 		    }
2622
-#line 8859 "parse.c" /* yacc.c:1646  */
2623
+#line 8851 "parse.c" /* yacc.c:1646  */
2624
     break;
2625
 
2626
   case 401:
2627
-#line 3506 "parse.y" /* yacc.c:1646  */
2628
+#line 3498 "parse.y" /* yacc.c:1646  */
2629
     {
2630
 			(yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc));
2631
 		    }
2632
-#line 8867 "parse.c" /* yacc.c:1646  */
2633
+#line 8859 "parse.c" /* yacc.c:1646  */
2634
     break;
2635
 
2636
   case 403:
2637
-#line 3513 "parse.y" /* yacc.c:1646  */
2638
+#line 3505 "parse.y" /* yacc.c:1646  */
2639
     {
2640
 			command_start = TRUE;
2641
 		    }
2642
-#line 8875 "parse.c" /* yacc.c:1646  */
2643
+#line 8867 "parse.c" /* yacc.c:1646  */
2644
     break;
2645
 
2646
   case 404:
2647
-#line 3519 "parse.y" /* yacc.c:1646  */
2648
+#line 3511 "parse.y" /* yacc.c:1646  */
2649
     {
2650
 			current_arg = 0;
2651
 		    /*%%%*/
2652
@@ -8889,11 +8881,11 @@ yyreduce:
2653
                                           escape_Qundef($2));
2654
 		    %*/
2655
 		    }
2656
-#line 8889 "parse.c" /* yacc.c:1646  */
2657
+#line 8881 "parse.c" /* yacc.c:1646  */
2658
     break;
2659
 
2660
   case 405:
2661
-#line 3529 "parse.y" /* yacc.c:1646  */
2662
+#line 3521 "parse.y" /* yacc.c:1646  */
2663
     {
2664
 		    /*%%%*/
2665
 			(yyval.node) = 0;
2666
@@ -8902,11 +8894,11 @@ yyreduce:
2667
                                           Qnil);
2668
 		    %*/
2669
 		    }
2670
-#line 8902 "parse.c" /* yacc.c:1646  */
2671
+#line 8894 "parse.c" /* yacc.c:1646  */
2672
     break;
2673
 
2674
   case 406:
2675
-#line 3538 "parse.y" /* yacc.c:1646  */
2676
+#line 3530 "parse.y" /* yacc.c:1646  */
2677
     {
2678
 			current_arg = 0;
2679
 		    /*%%%*/
2680
@@ -8915,19 +8907,19 @@ yyreduce:
2681
 			$$ = blockvar_new(escape_Qundef($2), escape_Qundef($3));
2682
 		    %*/
2683
 		    }
2684
-#line 8915 "parse.c" /* yacc.c:1646  */
2685
+#line 8907 "parse.c" /* yacc.c:1646  */
2686
     break;
2687
 
2688
   case 407:
2689
-#line 3550 "parse.y" /* yacc.c:1646  */
2690
+#line 3542 "parse.y" /* yacc.c:1646  */
2691
     {
2692
 		      (yyval.node) = 0;
2693
 		    }
2694
-#line 8923 "parse.c" /* yacc.c:1646  */
2695
+#line 8915 "parse.c" /* yacc.c:1646  */
2696
     break;
2697
 
2698
   case 408:
2699
-#line 3554 "parse.y" /* yacc.c:1646  */
2700
+#line 3546 "parse.y" /* yacc.c:1646  */
2701
     {
2702
 		    /*%%%*/
2703
 			(yyval.node) = 0;
2704
@@ -8935,11 +8927,11 @@ yyreduce:
2705
 			$$ = $3;
2706
 		    %*/
2707
 		    }
2708
-#line 8935 "parse.c" /* yacc.c:1646  */
2709
+#line 8927 "parse.c" /* yacc.c:1646  */
2710
     break;
2711
 
2712
   case 411:
2713
-#line 3580 "parse.y" /* yacc.c:1646  */
2714
+#line 3572 "parse.y" /* yacc.c:1646  */
2715
     {
2716
 			new_bv(get_id((yyvsp[0].id)));
2717
 		    /*%%%*/
2718
@@ -8947,53 +8939,53 @@ yyreduce:
2719
 			$$ = get_value($1);
2720
 		    %*/
2721
 		    }
2722
-#line 8947 "parse.c" /* yacc.c:1646  */
2723
+#line 8939 "parse.c" /* yacc.c:1646  */
2724
     break;
2725
 
2726
   case 412:
2727
-#line 3588 "parse.y" /* yacc.c:1646  */
2728
+#line 3580 "parse.y" /* yacc.c:1646  */
2729
     {
2730
 			(yyval.node) = 0;
2731
 		    }
2732
-#line 8955 "parse.c" /* yacc.c:1646  */
2733
+#line 8947 "parse.c" /* yacc.c:1646  */
2734
     break;
2735
 
2736
   case 413:
2737
-#line 3593 "parse.y" /* yacc.c:1646  */
2738
+#line 3585 "parse.y" /* yacc.c:1646  */
2739
     {
2740
 			(yyval.vars) = dyna_push();
2741
 		    }
2742
-#line 8963 "parse.c" /* yacc.c:1646  */
2743
+#line 8955 "parse.c" /* yacc.c:1646  */
2744
     break;
2745
 
2746
   case 414:
2747
-#line 3596 "parse.y" /* yacc.c:1646  */
2748
+#line 3588 "parse.y" /* yacc.c:1646  */
2749
     {
2750
 			(yyval.num) = lpar_beg;
2751
 			lpar_beg = ++paren_nest;
2752
 		    }
2753
-#line 8972 "parse.c" /* yacc.c:1646  */
2754
+#line 8964 "parse.c" /* yacc.c:1646  */
2755
     break;
2756
 
2757
   case 415:
2758
-#line 3601 "parse.y" /* yacc.c:1646  */
2759
+#line 3593 "parse.y" /* yacc.c:1646  */
2760
     {
2761
 			(yyval.num) = ruby_sourceline;
2762
 		    }
2763
-#line 8980 "parse.c" /* yacc.c:1646  */
2764
+#line 8972 "parse.c" /* yacc.c:1646  */
2765
     break;
2766
 
2767
   case 416:
2768
-#line 3604 "parse.y" /* yacc.c:1646  */
2769
+#line 3596 "parse.y" /* yacc.c:1646  */
2770
     {
2771
 			(yyval.val) = cmdarg_stack;
2772
 			CMDARG_SET(0);
2773
 		    }
2774
-#line 8989 "parse.c" /* yacc.c:1646  */
2775
+#line 8981 "parse.c" /* yacc.c:1646  */
2776
     break;
2777
 
2778
   case 417:
2779
-#line 3609 "parse.y" /* yacc.c:1646  */
2780
+#line 3601 "parse.y" /* yacc.c:1646  */
2781
     {
2782
 			lpar_beg = (yyvsp[-4].num);
2783
 			CMDARG_SET((yyvsp[-1].val));
2784
@@ -9008,11 +9000,11 @@ yyreduce:
2785
 		    %*/
2786
 			dyna_pop((yyvsp[-5].vars));
2787
 		    }
2788
-#line 9008 "parse.c" /* yacc.c:1646  */
2789
+#line 9000 "parse.c" /* yacc.c:1646  */
2790
     break;
2791
 
2792
   case 418:
2793
-#line 3626 "parse.y" /* yacc.c:1646  */
2794
+#line 3618 "parse.y" /* yacc.c:1646  */
2795
     {
2796
 		    /*%%%*/
2797
 			(yyval.node) = (yyvsp[-2].node);
2798
@@ -9020,46 +9012,46 @@ yyreduce:
2799
 			$$ = dispatch1(paren, $2);
2800
 		    %*/
2801
 		    }
2802
-#line 9020 "parse.c" /* yacc.c:1646  */
2803
+#line 9012 "parse.c" /* yacc.c:1646  */
2804
     break;
2805
 
2806
   case 419:
2807
-#line 3634 "parse.y" /* yacc.c:1646  */
2808
+#line 3626 "parse.y" /* yacc.c:1646  */
2809
     {
2810
 			(yyval.node) = (yyvsp[0].node);
2811
 		    }
2812
-#line 9028 "parse.c" /* yacc.c:1646  */
2813
+#line 9020 "parse.c" /* yacc.c:1646  */
2814
     break;
2815
 
2816
   case 420:
2817
-#line 3640 "parse.y" /* yacc.c:1646  */
2818
+#line 3632 "parse.y" /* yacc.c:1646  */
2819
     {
2820
 			token_info_pop("}");
2821
 			(yyval.node) = (yyvsp[-1].node);
2822
 		    }
2823
-#line 9037 "parse.c" /* yacc.c:1646  */
2824
+#line 9029 "parse.c" /* yacc.c:1646  */
2825
     break;
2826
 
2827
   case 421:
2828
-#line 3645 "parse.y" /* yacc.c:1646  */
2829
+#line 3637 "parse.y" /* yacc.c:1646  */
2830
     {
2831
 			(yyval.node) = (yyvsp[-1].node);
2832
 		    }
2833
-#line 9045 "parse.c" /* yacc.c:1646  */
2834
+#line 9037 "parse.c" /* yacc.c:1646  */
2835
     break;
2836
 
2837
   case 422:
2838
-#line 3651 "parse.y" /* yacc.c:1646  */
2839
+#line 3643 "parse.y" /* yacc.c:1646  */
2840
     {
2841
 		    /*%%%*/
2842
 			(yyval.num) = ruby_sourceline;
2843
 		    /*% %*/
2844
 		    }
2845
-#line 9055 "parse.c" /* yacc.c:1646  */
2846
+#line 9047 "parse.c" /* yacc.c:1646  */
2847
     break;
2848
 
2849
   case 423:
2850
-#line 3657 "parse.y" /* yacc.c:1646  */
2851
+#line 3649 "parse.y" /* yacc.c:1646  */
2852
     {
2853
 			(yyval.node) = (yyvsp[-1].node);
2854
 		    /*%%%*/
2855
@@ -9068,11 +9060,11 @@ yyreduce:
2856
 			nd_set_line((yyval.node), (yyvsp[-2].num));
2857
 		    /*% %*/
2858
 		    }
2859
-#line 9068 "parse.c" /* yacc.c:1646  */
2860
+#line 9060 "parse.c" /* yacc.c:1646  */
2861
     break;
2862
 
2863
   case 424:
2864
-#line 3668 "parse.y" /* yacc.c:1646  */
2865
+#line 3660 "parse.y" /* yacc.c:1646  */
2866
     {
2867
 		    /*%%%*/
2868
 			if (nd_type((yyvsp[-1].node)) == NODE_YIELD) {
2869
@@ -9089,19 +9081,19 @@ yyreduce:
2870
 			$$ = method_add_block($1, $2);
2871
 		    %*/
2872
 		    }
2873
-#line 9089 "parse.c" /* yacc.c:1646  */
2874
+#line 9081 "parse.c" /* yacc.c:1646  */
2875
     break;
2876
 
2877
   case 425:
2878
-#line 3685 "parse.y" /* yacc.c:1646  */
2879
+#line 3677 "parse.y" /* yacc.c:1646  */
2880
     {
2881
 			(yyval.node) = new_qcall((yyvsp[-2].id), (yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
2882
 		    }
2883
-#line 9097 "parse.c" /* yacc.c:1646  */
2884
+#line 9089 "parse.c" /* yacc.c:1646  */
2885
     break;
2886
 
2887
   case 426:
2888
-#line 3689 "parse.y" /* yacc.c:1646  */
2889
+#line 3681 "parse.y" /* yacc.c:1646  */
2890
     {
2891
 		    /*%%%*/
2892
 			block_dup_check((yyvsp[-1].node), (yyvsp[0].node));
2893
@@ -9114,11 +9106,11 @@ yyreduce:
2894
 			$$ = method_add_block($$, $5);
2895
 		    %*/
2896
 		    }
2897
-#line 9114 "parse.c" /* yacc.c:1646  */
2898
+#line 9106 "parse.c" /* yacc.c:1646  */
2899
     break;
2900
 
2901
   case 427:
2902
-#line 3702 "parse.y" /* yacc.c:1646  */
2903
+#line 3694 "parse.y" /* yacc.c:1646  */
2904
     {
2905
 		    /*%%%*/
2906
 			block_dup_check((yyvsp[-1].node), (yyvsp[0].node));
2907
@@ -9131,11 +9123,11 @@ yyreduce:
2908
 			$$ = method_add_block($$, $5);
2909
 		    %*/
2910
 		    }
2911
-#line 9131 "parse.c" /* yacc.c:1646  */
2912
+#line 9123 "parse.c" /* yacc.c:1646  */
2913
     break;
2914
 
2915
   case 428:
2916
-#line 3717 "parse.y" /* yacc.c:1646  */
2917
+#line 3709 "parse.y" /* yacc.c:1646  */
2918
     {
2919
 		    /*%%%*/
2920
 			(yyval.node) = (yyvsp[-1].node);
2921
@@ -9145,95 +9137,95 @@ yyreduce:
2922
 			$$ = method_arg(dispatch1(fcall, $1), $2);
2923
 		    %*/
2924
 		    }
2925
-#line 9145 "parse.c" /* yacc.c:1646  */
2926
+#line 9137 "parse.c" /* yacc.c:1646  */
2927
     break;
2928
 
2929
   case 429:
2930
-#line 3727 "parse.y" /* yacc.c:1646  */
2931
+#line 3719 "parse.y" /* yacc.c:1646  */
2932
     {
2933
 		    /*%%%*/
2934
 			(yyval.num) = ruby_sourceline;
2935
 		    /*% %*/
2936
 		    }
2937
-#line 9155 "parse.c" /* yacc.c:1646  */
2938
+#line 9147 "parse.c" /* yacc.c:1646  */
2939
     break;
2940
 
2941
   case 430:
2942
-#line 3733 "parse.y" /* yacc.c:1646  */
2943
+#line 3725 "parse.y" /* yacc.c:1646  */
2944
     {
2945
 			(yyval.node) = new_qcall((yyvsp[-3].id), (yyvsp[-4].node), (yyvsp[-2].id), (yyvsp[0].node), &(yyloc));
2946
 			nd_set_line((yyval.node), (yyvsp[-1].num));
2947
 		    }
2948
-#line 9164 "parse.c" /* yacc.c:1646  */
2949
+#line 9156 "parse.c" /* yacc.c:1646  */
2950
     break;
2951
 
2952
   case 431:
2953
-#line 3738 "parse.y" /* yacc.c:1646  */
2954
+#line 3730 "parse.y" /* yacc.c:1646  */
2955
     {
2956
 		    /*%%%*/
2957
 			(yyval.num) = ruby_sourceline;
2958
 		    /*% %*/
2959
 		    }
2960
-#line 9174 "parse.c" /* yacc.c:1646  */
2961
+#line 9166 "parse.c" /* yacc.c:1646  */
2962
     break;
2963
 
2964
   case 432:
2965
-#line 3744 "parse.y" /* yacc.c:1646  */
2966
+#line 3736 "parse.y" /* yacc.c:1646  */
2967
     {
2968
 			(yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-4].node), (yyvsp[-2].id), (yyvsp[0].node), &(yyloc));
2969
 			nd_set_line((yyval.node), (yyvsp[-1].num));
2970
 		    }
2971
-#line 9183 "parse.c" /* yacc.c:1646  */
2972
+#line 9175 "parse.c" /* yacc.c:1646  */
2973
     break;
2974
 
2975
   case 433:
2976
-#line 3749 "parse.y" /* yacc.c:1646  */
2977
+#line 3741 "parse.y" /* yacc.c:1646  */
2978
     {
2979
 			(yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-2].node), (yyvsp[0].id), Qnull, &(yyloc));
2980
 		    }
2981
-#line 9191 "parse.c" /* yacc.c:1646  */
2982
+#line 9183 "parse.c" /* yacc.c:1646  */
2983
     break;
2984
 
2985
   case 434:
2986
-#line 3753 "parse.y" /* yacc.c:1646  */
2987
+#line 3745 "parse.y" /* yacc.c:1646  */
2988
     {
2989
 		    /*%%%*/
2990
 			(yyval.num) = ruby_sourceline;
2991
 		    /*% %*/
2992
 		    }
2993
-#line 9201 "parse.c" /* yacc.c:1646  */
2994
+#line 9193 "parse.c" /* yacc.c:1646  */
2995
     break;
2996
 
2997
   case 435:
2998
-#line 3759 "parse.y" /* yacc.c:1646  */
2999
+#line 3751 "parse.y" /* yacc.c:1646  */
3000
     {
3001
 			(yyval.node) = new_qcall((yyvsp[-2].id), (yyvsp[-3].node), ID2VAL(idCall), (yyvsp[0].node), &(yyloc));
3002
 			nd_set_line((yyval.node), (yyvsp[-1].num));
3003
 		    }
3004
-#line 9210 "parse.c" /* yacc.c:1646  */
3005
+#line 9202 "parse.c" /* yacc.c:1646  */
3006
     break;
3007
 
3008
   case 436:
3009
-#line 3764 "parse.y" /* yacc.c:1646  */
3010
+#line 3756 "parse.y" /* yacc.c:1646  */
3011
     {
3012
 		    /*%%%*/
3013
 			(yyval.num) = ruby_sourceline;
3014
 		    /*% %*/
3015
 		    }
3016
-#line 9220 "parse.c" /* yacc.c:1646  */
3017
+#line 9212 "parse.c" /* yacc.c:1646  */
3018
     break;
3019
 
3020
   case 437:
3021
-#line 3770 "parse.y" /* yacc.c:1646  */
3022
+#line 3762 "parse.y" /* yacc.c:1646  */
3023
     {
3024
 			(yyval.node) = new_qcall(ID2VAL(idCOLON2), (yyvsp[-3].node), ID2VAL(idCall), (yyvsp[0].node), &(yyloc));
3025
 			nd_set_line((yyval.node), (yyvsp[-1].num));
3026
 		    }
3027
-#line 9229 "parse.c" /* yacc.c:1646  */
3028
+#line 9221 "parse.c" /* yacc.c:1646  */
3029
     break;
3030
 
3031
   case 438:
3032
-#line 3775 "parse.y" /* yacc.c:1646  */
3033
+#line 3767 "parse.y" /* yacc.c:1646  */
3034
     {
3035
 		    /*%%%*/
3036
 			(yyval.node) = NEW_SUPER((yyvsp[0].node));
3037
@@ -9242,11 +9234,11 @@ yyreduce:
3038
 			$$ = dispatch1(super, $2);
3039
 		    %*/
3040
 		    }
3041
-#line 9242 "parse.c" /* yacc.c:1646  */
3042
+#line 9234 "parse.c" /* yacc.c:1646  */
3043
     break;
3044
 
3045
   case 439:
3046
-#line 3784 "parse.y" /* yacc.c:1646  */
3047
+#line 3776 "parse.y" /* yacc.c:1646  */
3048
     {
3049
 		    /*%%%*/
3050
 			(yyval.node) = NEW_ZSUPER();
3051
@@ -9255,11 +9247,11 @@ yyreduce:
3052
 			$$ = dispatch0(zsuper);
3053
 		    %*/
3054
 		    }
3055
-#line 9255 "parse.c" /* yacc.c:1646  */
3056
+#line 9247 "parse.c" /* yacc.c:1646  */
3057
     break;
3058
 
3059
   case 440:
3060
-#line 3793 "parse.y" /* yacc.c:1646  */
3061
+#line 3785 "parse.y" /* yacc.c:1646  */
3062
     {
3063
 		    /*%%%*/
3064
 			if ((yyvsp[-3].node) && nd_type((yyvsp[-3].node)) == NODE_SELF)
3065
@@ -9271,21 +9263,21 @@ yyreduce:
3066
 			$$ = dispatch2(aref, $1, escape_Qundef($3));
3067
 		    %*/
3068
 		    }
3069
-#line 9271 "parse.c" /* yacc.c:1646  */
3070
+#line 9263 "parse.c" /* yacc.c:1646  */
3071
     break;
3072
 
3073
   case 441:
3074
-#line 3807 "parse.y" /* yacc.c:1646  */
3075
+#line 3799 "parse.y" /* yacc.c:1646  */
3076
     {
3077
 		    /*%%%*/
3078
 			(yyval.num) = ruby_sourceline;
3079
 		    /*% %*/
3080
 		    }
3081
-#line 9281 "parse.c" /* yacc.c:1646  */
3082
+#line 9273 "parse.c" /* yacc.c:1646  */
3083
     break;
3084
 
3085
   case 442:
3086
-#line 3813 "parse.y" /* yacc.c:1646  */
3087
+#line 3805 "parse.y" /* yacc.c:1646  */
3088
     {
3089
 			(yyval.node) = (yyvsp[-1].node);
3090
 		    /*%%%*/
3091
@@ -9294,21 +9286,21 @@ yyreduce:
3092
 			nd_set_line((yyval.node), (yyvsp[-2].num));
3093
 		    /*% %*/
3094
 		    }
3095
-#line 9294 "parse.c" /* yacc.c:1646  */
3096
+#line 9286 "parse.c" /* yacc.c:1646  */
3097
     break;
3098
 
3099
   case 443:
3100
-#line 3822 "parse.y" /* yacc.c:1646  */
3101
+#line 3814 "parse.y" /* yacc.c:1646  */
3102
     {
3103
 		    /*%%%*/
3104
 			(yyval.num) = ruby_sourceline;
3105
 		    /*% %*/
3106
 		    }
3107
-#line 9304 "parse.c" /* yacc.c:1646  */
3108
+#line 9296 "parse.c" /* yacc.c:1646  */
3109
     break;
3110
 
3111
   case 444:
3112
-#line 3828 "parse.y" /* yacc.c:1646  */
3113
+#line 3820 "parse.y" /* yacc.c:1646  */
3114
     {
3115
 			(yyval.node) = (yyvsp[-1].node);
3116
 		    /*%%%*/
3117
@@ -9317,55 +9309,55 @@ yyreduce:
3118
 			nd_set_line((yyval.node), (yyvsp[-2].num));
3119
 		    /*% %*/
3120
 		    }
3121
-#line 9317 "parse.c" /* yacc.c:1646  */
3122
+#line 9309 "parse.c" /* yacc.c:1646  */
3123
     break;
3124
 
3125
   case 445:
3126
-#line 3838 "parse.y" /* yacc.c:1646  */
3127
+#line 3830 "parse.y" /* yacc.c:1646  */
3128
     {(yyval.vars) = dyna_push();}
3129
-#line 9323 "parse.c" /* yacc.c:1646  */
3130
+#line 9315 "parse.c" /* yacc.c:1646  */
3131
     break;
3132
 
3133
   case 446:
3134
-#line 3839 "parse.y" /* yacc.c:1646  */
3135
+#line 3831 "parse.y" /* yacc.c:1646  */
3136
     {(yyval.val) = cmdarg_stack >> 1; CMDARG_SET(0);}
3137
-#line 9329 "parse.c" /* yacc.c:1646  */
3138
+#line 9321 "parse.c" /* yacc.c:1646  */
3139
     break;
3140
 
3141
   case 447:
3142
-#line 3841 "parse.y" /* yacc.c:1646  */
3143
+#line 3833 "parse.y" /* yacc.c:1646  */
3144
     {
3145
 			(yyval.node) = new_brace_body((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3146
 			dyna_pop((yyvsp[-3].vars));
3147
 			CMDARG_SET((yyvsp[-2].val));
3148
 		    }
3149
-#line 9339 "parse.c" /* yacc.c:1646  */
3150
+#line 9331 "parse.c" /* yacc.c:1646  */
3151
     break;
3152
 
3153
   case 448:
3154
-#line 3848 "parse.y" /* yacc.c:1646  */
3155
+#line 3840 "parse.y" /* yacc.c:1646  */
3156
     {(yyval.vars) = dyna_push();}
3157
-#line 9345 "parse.c" /* yacc.c:1646  */
3158
+#line 9337 "parse.c" /* yacc.c:1646  */
3159
     break;
3160
 
3161
   case 449:
3162
-#line 3849 "parse.y" /* yacc.c:1646  */
3163
+#line 3841 "parse.y" /* yacc.c:1646  */
3164
     {(yyval.val) = cmdarg_stack; CMDARG_SET(0);}
3165
-#line 9351 "parse.c" /* yacc.c:1646  */
3166
+#line 9343 "parse.c" /* yacc.c:1646  */
3167
     break;
3168
 
3169
   case 450:
3170
-#line 3851 "parse.y" /* yacc.c:1646  */
3171
+#line 3843 "parse.y" /* yacc.c:1646  */
3172
     {
3173
 			(yyval.node) = new_do_body((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3174
 			dyna_pop((yyvsp[-3].vars));
3175
 			CMDARG_SET((yyvsp[-2].val));
3176
 		    }
3177
-#line 9361 "parse.c" /* yacc.c:1646  */
3178
+#line 9353 "parse.c" /* yacc.c:1646  */
3179
     break;
3180
 
3181
   case 451:
3182
-#line 3861 "parse.y" /* yacc.c:1646  */
3183
+#line 3853 "parse.y" /* yacc.c:1646  */
3184
     {
3185
 		    /*%%%*/
3186
 			(yyval.node) = NEW_WHEN((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node));
3187
@@ -9374,11 +9366,11 @@ yyreduce:
3188
 			$$ = dispatch3(when, $2, $4, escape_Qundef($5));
3189
 		    %*/
3190
 		    }
3191
-#line 9374 "parse.c" /* yacc.c:1646  */
3192
+#line 9366 "parse.c" /* yacc.c:1646  */
3193
     break;
3194
 
3195
   case 454:
3196
-#line 3878 "parse.y" /* yacc.c:1646  */
3197
+#line 3870 "parse.y" /* yacc.c:1646  */
3198
     {
3199
 		    /*%%%*/
3200
 			if ((yyvsp[-3].node)) {
3201
@@ -9398,11 +9390,11 @@ yyreduce:
3202
 				       escape_Qundef($6));
3203
 		    %*/
3204
 		    }
3205
-#line 9398 "parse.c" /* yacc.c:1646  */
3206
+#line 9390 "parse.c" /* yacc.c:1646  */
3207
     break;
3208
 
3209
   case 456:
3210
-#line 3901 "parse.y" /* yacc.c:1646  */
3211
+#line 3893 "parse.y" /* yacc.c:1646  */
3212
     {
3213
 		    /*%%%*/
3214
 			(yyval.node) = new_list((yyvsp[0].node), &(yyloc));
3215
@@ -9410,11 +9402,11 @@ yyreduce:
3216
 			$$ = rb_ary_new3(1, get_value($1));
3217
 		    %*/
3218
 		    }
3219
-#line 9410 "parse.c" /* yacc.c:1646  */
3220
+#line 9402 "parse.c" /* yacc.c:1646  */
3221
     break;
3222
 
3223
   case 457:
3224
-#line 3909 "parse.y" /* yacc.c:1646  */
3225
+#line 3901 "parse.y" /* yacc.c:1646  */
3226
     {
3227
 		    /*%%%*/
3228
 			if (!((yyval.node) = splat_array((yyvsp[0].node)))) (yyval.node) = (yyvsp[0].node);
3229
@@ -9422,19 +9414,19 @@ yyreduce:
3230
 			$$ = $1;
3231
 		    %*/
3232
 		    }
3233
-#line 9422 "parse.c" /* yacc.c:1646  */
3234
+#line 9414 "parse.c" /* yacc.c:1646  */
3235
     break;
3236
 
3237
   case 459:
3238
-#line 3920 "parse.y" /* yacc.c:1646  */
3239
+#line 3912 "parse.y" /* yacc.c:1646  */
3240
     {
3241
 			(yyval.node) = (yyvsp[0].node);
3242
 		    }
3243
-#line 9430 "parse.c" /* yacc.c:1646  */
3244
+#line 9422 "parse.c" /* yacc.c:1646  */
3245
     break;
3246
 
3247
   case 461:
3248
-#line 3927 "parse.y" /* yacc.c:1646  */
3249
+#line 3919 "parse.y" /* yacc.c:1646  */
3250
     {
3251
 		    /*%%%*/
3252
 			(yyval.node) = (yyvsp[0].node);
3253
@@ -9442,11 +9434,11 @@ yyreduce:
3254
 			$$ = dispatch1(ensure, $2);
3255
 		    %*/
3256
 		    }
3257
-#line 9442 "parse.c" /* yacc.c:1646  */
3258
+#line 9434 "parse.c" /* yacc.c:1646  */
3259
     break;
3260
 
3261
   case 464:
3262
-#line 3939 "parse.y" /* yacc.c:1646  */
3263
+#line 3931 "parse.y" /* yacc.c:1646  */
3264
     {
3265
 		    /*%%%*/
3266
 			(yyval.node) = new_lit(ID2SYM((yyvsp[0].id)), &(yyloc));
3267
@@ -9454,11 +9446,11 @@ yyreduce:
3268
 			$$ = dispatch1(symbol_literal, $1);
3269
 		    %*/
3270
 		    }
3271
-#line 9454 "parse.c" /* yacc.c:1646  */
3272
+#line 9446 "parse.c" /* yacc.c:1646  */
3273
     break;
3274
 
3275
   case 466:
3276
-#line 3950 "parse.y" /* yacc.c:1646  */
3277
+#line 3942 "parse.y" /* yacc.c:1646  */
3278
     {
3279
 		    /*%%%*/
3280
 			NODE *node = (yyvsp[0].node);
3281
@@ -9473,22 +9465,22 @@ yyreduce:
3282
 			$$ = $1;
3283
 		    %*/
3284
 		    }
3285
-#line 9473 "parse.c" /* yacc.c:1646  */
3286
+#line 9465 "parse.c" /* yacc.c:1646  */
3287
     break;
3288
 
3289
   case 467:
3290
-#line 3967 "parse.y" /* yacc.c:1646  */
3291
+#line 3959 "parse.y" /* yacc.c:1646  */
3292
     {
3293
 		    /*%%%*/
3294
 			(yyval.node)->nd_loc = (yyloc);
3295
 		    /*%
3296
 		    %*/
3297
 		    }
3298
-#line 9484 "parse.c" /* yacc.c:1646  */
3299
+#line 9476 "parse.c" /* yacc.c:1646  */
3300
     break;
3301
 
3302
   case 469:
3303
-#line 3975 "parse.y" /* yacc.c:1646  */
3304
+#line 3967 "parse.y" /* yacc.c:1646  */
3305
     {
3306
 		    /*%%%*/
3307
 			(yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3308
@@ -9496,11 +9488,11 @@ yyreduce:
3309
 			$$ = dispatch2(string_concat, $1, $2);
3310
 		    %*/
3311
 		    }
3312
-#line 9496 "parse.c" /* yacc.c:1646  */
3313
+#line 9488 "parse.c" /* yacc.c:1646  */
3314
     break;
3315
 
3316
   case 470:
3317
-#line 3985 "parse.y" /* yacc.c:1646  */
3318
+#line 3977 "parse.y" /* yacc.c:1646  */
3319
     {
3320
 			(yyval.node) = new_string1(heredoc_dedent((yyvsp[-1].node)));
3321
 		    /*%%%*/
3322
@@ -9508,27 +9500,27 @@ yyreduce:
3323
 		    /*%
3324
 		    %*/
3325
 		    }
3326
-#line 9508 "parse.c" /* yacc.c:1646  */
3327
+#line 9500 "parse.c" /* yacc.c:1646  */
3328
     break;
3329
 
3330
   case 471:
3331
-#line 3995 "parse.y" /* yacc.c:1646  */
3332
+#line 3987 "parse.y" /* yacc.c:1646  */
3333
     {
3334
 			(yyval.node) = new_xstring(heredoc_dedent((yyvsp[-1].node)), &(yyloc));
3335
 		    }
3336
-#line 9516 "parse.c" /* yacc.c:1646  */
3337
+#line 9508 "parse.c" /* yacc.c:1646  */
3338
     break;
3339
 
3340
   case 472:
3341
-#line 4001 "parse.y" /* yacc.c:1646  */
3342
+#line 3993 "parse.y" /* yacc.c:1646  */
3343
     {
3344
 			(yyval.node) = new_regexp((yyvsp[-1].node), (yyvsp[0].num), &(yyloc));
3345
 		    }
3346
-#line 9524 "parse.c" /* yacc.c:1646  */
3347
+#line 9516 "parse.c" /* yacc.c:1646  */
3348
     break;
3349
 
3350
   case 473:
3351
-#line 4007 "parse.y" /* yacc.c:1646  */
3352
+#line 3999 "parse.y" /* yacc.c:1646  */
3353
     {
3354
 		    /*%%%*/
3355
 			(yyval.node) = make_array((yyvsp[-1].node), &(yyloc));
3356
@@ -9536,11 +9528,11 @@ yyreduce:
3357
 			$$ = dispatch1(array, $3);
3358
 		    %*/
3359
 		    }
3360
-#line 9536 "parse.c" /* yacc.c:1646  */
3361
+#line 9528 "parse.c" /* yacc.c:1646  */
3362
     break;
3363
 
3364
   case 474:
3365
-#line 4017 "parse.y" /* yacc.c:1646  */
3366
+#line 4009 "parse.y" /* yacc.c:1646  */
3367
     {
3368
 		    /*%%%*/
3369
 			(yyval.node) = 0;
3370
@@ -9548,11 +9540,11 @@ yyreduce:
3371
 			$$ = dispatch0(words_new);
3372
 		    %*/
3373
 		    }
3374
-#line 9548 "parse.c" /* yacc.c:1646  */
3375
+#line 9540 "parse.c" /* yacc.c:1646  */
3376
     break;
3377
 
3378
   case 475:
3379
-#line 4025 "parse.y" /* yacc.c:1646  */
3380
+#line 4017 "parse.y" /* yacc.c:1646  */
3381
     {
3382
 		    /*%%%*/
3383
 			(yyval.node) = list_append((yyvsp[-2].node), evstr2dstr((yyvsp[-1].node)));
3384
@@ -9560,11 +9552,11 @@ yyreduce:
3385
 			$$ = dispatch2(words_add, $1, $2);
3386
 		    %*/
3387
 		    }
3388
-#line 9560 "parse.c" /* yacc.c:1646  */
3389
+#line 9552 "parse.c" /* yacc.c:1646  */
3390
     break;
3391
 
3392
   case 477:
3393
-#line 4043 "parse.y" /* yacc.c:1646  */
3394
+#line 4035 "parse.y" /* yacc.c:1646  */
3395
     {
3396
 		    /*%%%*/
3397
 			(yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3398
@@ -9572,11 +9564,11 @@ yyreduce:
3399
 			$$ = dispatch2(word_add, $1, $2);
3400
 		    %*/
3401
 		    }
3402
-#line 9572 "parse.c" /* yacc.c:1646  */
3403
+#line 9564 "parse.c" /* yacc.c:1646  */
3404
     break;
3405
 
3406
   case 478:
3407
-#line 4053 "parse.y" /* yacc.c:1646  */
3408
+#line 4045 "parse.y" /* yacc.c:1646  */
3409
     {
3410
 		    /*%%%*/
3411
 			(yyval.node) = make_array((yyvsp[-1].node), &(yyloc));
3412
@@ -9584,11 +9576,11 @@ yyreduce:
3413
 			$$ = dispatch1(array, $3);
3414
 		    %*/
3415
 		    }
3416
-#line 9584 "parse.c" /* yacc.c:1646  */
3417
+#line 9576 "parse.c" /* yacc.c:1646  */
3418
     break;
3419
 
3420
   case 479:
3421
-#line 4063 "parse.y" /* yacc.c:1646  */
3422
+#line 4055 "parse.y" /* yacc.c:1646  */
3423
     {
3424
 		    /*%%%*/
3425
 			(yyval.node) = 0;
3426
@@ -9596,11 +9588,11 @@ yyreduce:
3427
 			$$ = dispatch0(symbols_new);
3428
 		    %*/
3429
 		    }
3430
-#line 9596 "parse.c" /* yacc.c:1646  */
3431
+#line 9588 "parse.c" /* yacc.c:1646  */
3432
     break;
3433
 
3434
   case 480:
3435
-#line 4071 "parse.y" /* yacc.c:1646  */
3436
+#line 4063 "parse.y" /* yacc.c:1646  */
3437
     {
3438
 		    /*%%%*/
3439
 			(yyvsp[-1].node) = evstr2dstr((yyvsp[-1].node));
3440
@@ -9616,11 +9608,11 @@ yyreduce:
3441
 			$$ = dispatch2(symbols_add, $1, $2);
3442
 		    %*/
3443
 		    }
3444
-#line 9616 "parse.c" /* yacc.c:1646  */
3445
+#line 9608 "parse.c" /* yacc.c:1646  */
3446
     break;
3447
 
3448
   case 481:
3449
-#line 4089 "parse.y" /* yacc.c:1646  */
3450
+#line 4081 "parse.y" /* yacc.c:1646  */
3451
     {
3452
 		    /*%%%*/
3453
 			(yyval.node) = make_array((yyvsp[-1].node), &(yyloc));
3454
@@ -9628,11 +9620,11 @@ yyreduce:
3455
 			$$ = dispatch1(array, $3);
3456
 		    %*/
3457
 		    }
3458
-#line 9628 "parse.c" /* yacc.c:1646  */
3459
+#line 9620 "parse.c" /* yacc.c:1646  */
3460
     break;
3461
 
3462
   case 482:
3463
-#line 4099 "parse.y" /* yacc.c:1646  */
3464
+#line 4091 "parse.y" /* yacc.c:1646  */
3465
     {
3466
 		    /*%%%*/
3467
 			(yyval.node) = make_array((yyvsp[-1].node), &(yyloc));
3468
@@ -9640,11 +9632,11 @@ yyreduce:
3469
 			$$ = dispatch1(array, $3);
3470
 		    %*/
3471
 		    }
3472
-#line 9640 "parse.c" /* yacc.c:1646  */
3473
+#line 9632 "parse.c" /* yacc.c:1646  */
3474
     break;
3475
 
3476
   case 483:
3477
-#line 4109 "parse.y" /* yacc.c:1646  */
3478
+#line 4101 "parse.y" /* yacc.c:1646  */
3479
     {
3480
 		    /*%%%*/
3481
 			(yyval.node) = 0;
3482
@@ -9652,11 +9644,11 @@ yyreduce:
3483
 			$$ = dispatch0(qwords_new);
3484
 		    %*/
3485
 		    }
3486
-#line 9652 "parse.c" /* yacc.c:1646  */
3487
+#line 9644 "parse.c" /* yacc.c:1646  */
3488
     break;
3489
 
3490
   case 484:
3491
-#line 4117 "parse.y" /* yacc.c:1646  */
3492
+#line 4109 "parse.y" /* yacc.c:1646  */
3493
     {
3494
 		    /*%%%*/
3495
 			(yyvsp[-1].node)->nd_loc = (yylsp[-1]);
3496
@@ -9665,11 +9657,11 @@ yyreduce:
3497
 			$$ = dispatch2(qwords_add, $1, $2);
3498
 		    %*/
3499
 		    }
3500
-#line 9665 "parse.c" /* yacc.c:1646  */
3501
+#line 9657 "parse.c" /* yacc.c:1646  */
3502
     break;
3503
 
3504
   case 485:
3505
-#line 4128 "parse.y" /* yacc.c:1646  */
3506
+#line 4120 "parse.y" /* yacc.c:1646  */
3507
     {
3508
 		    /*%%%*/
3509
 			(yyval.node) = 0;
3510
@@ -9677,11 +9669,11 @@ yyreduce:
3511
 			$$ = dispatch0(qsymbols_new);
3512
 		    %*/
3513
 		    }
3514
-#line 9677 "parse.c" /* yacc.c:1646  */
3515
+#line 9669 "parse.c" /* yacc.c:1646  */
3516
     break;
3517
 
3518
   case 486:
3519
-#line 4136 "parse.y" /* yacc.c:1646  */
3520
+#line 4128 "parse.y" /* yacc.c:1646  */
3521
     {
3522
 		    /*%%%*/
3523
 			VALUE lit;
3524
@@ -9694,11 +9686,11 @@ yyreduce:
3525
 			$$ = dispatch2(qsymbols_add, $1, $2);
3526
 		    %*/
3527
 		    }
3528
-#line 9694 "parse.c" /* yacc.c:1646  */
3529
+#line 9686 "parse.c" /* yacc.c:1646  */
3530
     break;
3531
 
3532
   case 487:
3533
-#line 4151 "parse.y" /* yacc.c:1646  */
3534
+#line 4143 "parse.y" /* yacc.c:1646  */
3535
     {
3536
 		    /*%%%*/
3537
 			(yyval.node) = 0;
3538
@@ -9706,11 +9698,11 @@ yyreduce:
3539
 			$$ = dispatch0(string_content);
3540
 		    %*/
3541
 		    }
3542
-#line 9706 "parse.c" /* yacc.c:1646  */
3543
+#line 9698 "parse.c" /* yacc.c:1646  */
3544
     break;
3545
 
3546
   case 488:
3547
-#line 4159 "parse.y" /* yacc.c:1646  */
3548
+#line 4151 "parse.y" /* yacc.c:1646  */
3549
     {
3550
 		    /*%%%*/
3551
 			(yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3552
@@ -9718,11 +9710,11 @@ yyreduce:
3553
 			$$ = dispatch2(string_add, $1, $2);
3554
 		    %*/
3555
 		    }
3556
-#line 9718 "parse.c" /* yacc.c:1646  */
3557
+#line 9710 "parse.c" /* yacc.c:1646  */
3558
     break;
3559
 
3560
   case 489:
3561
-#line 4169 "parse.y" /* yacc.c:1646  */
3562
+#line 4161 "parse.y" /* yacc.c:1646  */
3563
     {
3564
 		    /*%%%*/
3565
 			(yyval.node) = 0;
3566
@@ -9730,11 +9722,11 @@ yyreduce:
3567
 			$$ = dispatch0(xstring_new);
3568
 		    %*/
3569
 		    }
3570
-#line 9730 "parse.c" /* yacc.c:1646  */
3571
+#line 9722 "parse.c" /* yacc.c:1646  */
3572
     break;
3573
 
3574
   case 490:
3575
-#line 4177 "parse.y" /* yacc.c:1646  */
3576
+#line 4169 "parse.y" /* yacc.c:1646  */
3577
     {
3578
 		    /*%%%*/
3579
 			(yyval.node) = literal_concat((yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
3580
@@ -9742,11 +9734,11 @@ yyreduce:
3581
 			$$ = dispatch2(xstring_add, $1, $2);
3582
 		    %*/
3583
 		    }
3584
-#line 9742 "parse.c" /* yacc.c:1646  */
3585
+#line 9734 "parse.c" /* yacc.c:1646  */
3586
     break;
3587
 
3588
   case 491:
3589
-#line 4187 "parse.y" /* yacc.c:1646  */
3590
+#line 4179 "parse.y" /* yacc.c:1646  */
3591
     {
3592
 		    /*%%%*/
3593
 			(yyval.node) = 0;
3594
@@ -9754,11 +9746,11 @@ yyreduce:
3595
 			$$ = ripper_new_yylval(0, dispatch0(regexp_new), 0);
3596
 		    %*/
3597
 		    }
3598
-#line 9754 "parse.c" /* yacc.c:1646  */
3599
+#line 9746 "parse.c" /* yacc.c:1646  */
3600
     break;
3601
 
3602
   case 492:
3603
-#line 4195 "parse.y" /* yacc.c:1646  */
3604
+#line 4187 "parse.y" /* yacc.c:1646  */
3605
     {
3606
 		    /*%%%*/
3607
 			NODE *head = (yyvsp[-1].node), *tail = (yyvsp[0].node);
3608
@@ -9797,33 +9789,33 @@ yyreduce:
3609
 			}
3610
 		    %*/
3611
 		    }
3612
-#line 9797 "parse.c" /* yacc.c:1646  */
3613
+#line 9789 "parse.c" /* yacc.c:1646  */
3614
     break;
3615
 
3616
   case 493:
3617
-#line 4236 "parse.y" /* yacc.c:1646  */
3618
+#line 4228 "parse.y" /* yacc.c:1646  */
3619
     {
3620
 		    /*%%%*/
3621
 			(yyval.node)->nd_loc = (yyloc);
3622
 		    /*%
3623
 		    %*/
3624
 		    }
3625
-#line 9808 "parse.c" /* yacc.c:1646  */
3626
+#line 9800 "parse.c" /* yacc.c:1646  */
3627
     break;
3628
 
3629
   case 494:
3630
-#line 4243 "parse.y" /* yacc.c:1646  */
3631
+#line 4235 "parse.y" /* yacc.c:1646  */
3632
     {
3633
 			/* need to backup lex_strterm so that a string literal `%&foo,#$&,bar&` can be parsed */
3634
 			(yyval.strterm) = lex_strterm;
3635
 			lex_strterm = 0;
3636
 			SET_LEX_STATE(EXPR_BEG);
3637
 		    }
3638
-#line 9819 "parse.c" /* yacc.c:1646  */
3639
+#line 9811 "parse.c" /* yacc.c:1646  */
3640
     break;
3641
 
3642
   case 495:
3643
-#line 4250 "parse.y" /* yacc.c:1646  */
3644
+#line 4242 "parse.y" /* yacc.c:1646  */
3645
     {
3646
 			lex_strterm = (yyvsp[-1].strterm);
3647
 		    /*%%%*/
3648
@@ -9833,59 +9825,59 @@ yyreduce:
3649
 			$$ = dispatch1(string_dvar, $3);
3650
 		    %*/
3651
 		    }
3652
-#line 9833 "parse.c" /* yacc.c:1646  */
3653
+#line 9825 "parse.c" /* yacc.c:1646  */
3654
     break;
3655
 
3656
   case 496:
3657
-#line 4260 "parse.y" /* yacc.c:1646  */
3658
+#line 4252 "parse.y" /* yacc.c:1646  */
3659
     {
3660
 			(yyvsp[0].val) = cond_stack;
3661
 			(yyval.val) = cmdarg_stack;
3662
 			COND_SET(0);
3663
 			CMDARG_SET(0);
3664
 		    }
3665
-#line 9844 "parse.c" /* yacc.c:1646  */
3666
+#line 9836 "parse.c" /* yacc.c:1646  */
3667
     break;
3668
 
3669
   case 497:
3670
-#line 4266 "parse.y" /* yacc.c:1646  */
3671
+#line 4258 "parse.y" /* yacc.c:1646  */
3672
     {
3673
 			/* need to backup lex_strterm so that a string literal `%!foo,#{ !0 },bar!` can be parsed */
3674
 			(yyval.strterm) = lex_strterm;
3675
 			lex_strterm = 0;
3676
 		    }
3677
-#line 9854 "parse.c" /* yacc.c:1646  */
3678
+#line 9846 "parse.c" /* yacc.c:1646  */
3679
     break;
3680
 
3681
   case 498:
3682
-#line 4271 "parse.y" /* yacc.c:1646  */
3683
+#line 4263 "parse.y" /* yacc.c:1646  */
3684
     {
3685
 			(yyval.num) = lex_state;
3686
 			SET_LEX_STATE(EXPR_BEG);
3687
 		    }
3688
-#line 9863 "parse.c" /* yacc.c:1646  */
3689
+#line 9855 "parse.c" /* yacc.c:1646  */
3690
     break;
3691
 
3692
   case 499:
3693
-#line 4275 "parse.y" /* yacc.c:1646  */
3694
+#line 4267 "parse.y" /* yacc.c:1646  */
3695
     {
3696
 			(yyval.num) = brace_nest;
3697
 			brace_nest = 0;
3698
 		    }
3699
-#line 9872 "parse.c" /* yacc.c:1646  */
3700
+#line 9864 "parse.c" /* yacc.c:1646  */
3701
     break;
3702
 
3703
   case 500:
3704
-#line 4279 "parse.y" /* yacc.c:1646  */
3705
+#line 4271 "parse.y" /* yacc.c:1646  */
3706
     {
3707
 			(yyval.num) = heredoc_indent;
3708
 			heredoc_indent = 0;
3709
 		    }
3710
-#line 9881 "parse.c" /* yacc.c:1646  */
3711
+#line 9873 "parse.c" /* yacc.c:1646  */
3712
     break;
3713
 
3714
   case 501:
3715
-#line 4284 "parse.y" /* yacc.c:1646  */
3716
+#line 4276 "parse.y" /* yacc.c:1646  */
3717
     {
3718
 			COND_SET((yyvsp[-7].val));
3719
 			CMDARG_SET((yyvsp[-6].val));
3720
@@ -9901,11 +9893,11 @@ yyreduce:
3721
 			$$ = dispatch1(string_embexpr, $7);
3722
 		    %*/
3723
 		    }
3724
-#line 9901 "parse.c" /* yacc.c:1646  */
3725
+#line 9893 "parse.c" /* yacc.c:1646  */
3726
     break;
3727
 
3728
   case 502:
3729
-#line 4302 "parse.y" /* yacc.c:1646  */
3730
+#line 4294 "parse.y" /* yacc.c:1646  */
3731
     {
3732
 		    /*%%%*/
3733
 			(yyval.node) = new_gvar((yyvsp[0].id), &(yyloc));
3734
@@ -9913,11 +9905,11 @@ yyreduce:
3735
 			$$ = dispatch1(var_ref, $1);
3736
 		    %*/
3737
 		    }
3738
-#line 9913 "parse.c" /* yacc.c:1646  */
3739
+#line 9905 "parse.c" /* yacc.c:1646  */
3740
     break;
3741
 
3742
   case 503:
3743
-#line 4310 "parse.y" /* yacc.c:1646  */
3744
+#line 4302 "parse.y" /* yacc.c:1646  */
3745
     {
3746
 		    /*%%%*/
3747
 			(yyval.node) = new_ivar((yyvsp[0].id), &(yyloc));
3748
@@ -9925,11 +9917,11 @@ yyreduce:
3749
 			$$ = dispatch1(var_ref, $1);
3750
 		    %*/
3751
 		    }
3752
-#line 9925 "parse.c" /* yacc.c:1646  */
3753
+#line 9917 "parse.c" /* yacc.c:1646  */
3754
     break;
3755
 
3756
   case 504:
3757
-#line 4318 "parse.y" /* yacc.c:1646  */
3758
+#line 4310 "parse.y" /* yacc.c:1646  */
3759
     {
3760
 		    /*%%%*/
3761
 			(yyval.node) = NEW_CVAR((yyvsp[0].id));
3762
@@ -9938,11 +9930,11 @@ yyreduce:
3763
 			$$ = dispatch1(var_ref, $1);
3764
 		    %*/
3765
 		    }
3766
-#line 9938 "parse.c" /* yacc.c:1646  */
3767
+#line 9930 "parse.c" /* yacc.c:1646  */
3768
     break;
3769
 
3770
   case 506:
3771
-#line 4330 "parse.y" /* yacc.c:1646  */
3772
+#line 4322 "parse.y" /* yacc.c:1646  */
3773
     {
3774
 			SET_LEX_STATE(EXPR_END|EXPR_ENDARG);
3775
 		    /*%%%*/
3776
@@ -9951,11 +9943,11 @@ yyreduce:
3777
 			$$ = dispatch1(symbol, $2);
3778
 		    %*/
3779
 		    }
3780
-#line 9951 "parse.c" /* yacc.c:1646  */
3781
+#line 9943 "parse.c" /* yacc.c:1646  */
3782
     break;
3783
 
3784
   case 511:
3785
-#line 4347 "parse.y" /* yacc.c:1646  */
3786
+#line 4339 "parse.y" /* yacc.c:1646  */
3787
     {
3788
 			SET_LEX_STATE(EXPR_END|EXPR_ENDARG);
3789
 		    /*%%%*/
3790
@@ -9964,11 +9956,11 @@ yyreduce:
3791
 			$$ = dispatch1(dyna_symbol, $2);
3792
 		    %*/
3793
 		    }
3794
-#line 9964 "parse.c" /* yacc.c:1646  */
3795
+#line 9956 "parse.c" /* yacc.c:1646  */
3796
     break;
3797
 
3798
   case 513:
3799
-#line 4359 "parse.y" /* yacc.c:1646  */
3800
+#line 4351 "parse.y" /* yacc.c:1646  */
3801
     {
3802
 		    /*%%%*/
3803
 			(yyval.node) = (yyvsp[0].node);
3804
@@ -9977,97 +9969,97 @@ yyreduce:
3805
 			$$ = dispatch2(unary, ID2VAL(idUMinus), $2);
3806
 		    %*/
3807
 		    }
3808
-#line 9977 "parse.c" /* yacc.c:1646  */
3809
+#line 9969 "parse.c" /* yacc.c:1646  */
3810
     break;
3811
 
3812
   case 514:
3813
-#line 4370 "parse.y" /* yacc.c:1646  */
3814
+#line 4362 "parse.y" /* yacc.c:1646  */
3815
     {
3816
 		    /*%%%*/
3817
 			(yyval.node)->nd_loc = (yyloc);
3818
 		    /*%
3819
 		    %*/
3820
 		    }
3821
-#line 9988 "parse.c" /* yacc.c:1646  */
3822
+#line 9980 "parse.c" /* yacc.c:1646  */
3823
     break;
3824
 
3825
   case 515:
3826
-#line 4377 "parse.y" /* yacc.c:1646  */
3827
+#line 4369 "parse.y" /* yacc.c:1646  */
3828
     {
3829
 		    /*%%%*/
3830
 			(yyval.node)->nd_loc = (yyloc);
3831
 		    /*%
3832
 		    %*/
3833
 		    }
3834
-#line 9999 "parse.c" /* yacc.c:1646  */
3835
+#line 9991 "parse.c" /* yacc.c:1646  */
3836
     break;
3837
 
3838
   case 516:
3839
-#line 4384 "parse.y" /* yacc.c:1646  */
3840
+#line 4376 "parse.y" /* yacc.c:1646  */
3841
     {
3842
 		    /*%%%*/
3843
 			(yyval.node)->nd_loc = (yyloc);
3844
 		    /*%
3845
 		    %*/
3846
 		    }
3847
-#line 10010 "parse.c" /* yacc.c:1646  */
3848
+#line 10002 "parse.c" /* yacc.c:1646  */
3849
     break;
3850
 
3851
   case 517:
3852
-#line 4391 "parse.y" /* yacc.c:1646  */
3853
+#line 4383 "parse.y" /* yacc.c:1646  */
3854
     {
3855
 		    /*%%%*/
3856
 			(yyval.node)->nd_loc = (yyloc);
3857
 		    /*%
3858
 		    %*/
3859
 		    }
3860
-#line 10021 "parse.c" /* yacc.c:1646  */
3861
+#line 10013 "parse.c" /* yacc.c:1646  */
3862
     break;
3863
 
3864
   case 523:
3865
-#line 4406 "parse.y" /* yacc.c:1646  */
3866
+#line 4398 "parse.y" /* yacc.c:1646  */
3867
     {(yyval.id) = KWD2EID(nil, (yyvsp[0].id));}
3868
-#line 10027 "parse.c" /* yacc.c:1646  */
3869
+#line 10019 "parse.c" /* yacc.c:1646  */
3870
     break;
3871
 
3872
   case 524:
3873
-#line 4407 "parse.y" /* yacc.c:1646  */
3874
+#line 4399 "parse.y" /* yacc.c:1646  */
3875
     {(yyval.id) = KWD2EID(self, (yyvsp[0].id));}
3876
-#line 10033 "parse.c" /* yacc.c:1646  */
3877
+#line 10025 "parse.c" /* yacc.c:1646  */
3878
     break;
3879
 
3880
   case 525:
3881
-#line 4408 "parse.y" /* yacc.c:1646  */
3882
+#line 4400 "parse.y" /* yacc.c:1646  */
3883
     {(yyval.id) = KWD2EID(true, (yyvsp[0].id));}
3884
-#line 10039 "parse.c" /* yacc.c:1646  */
3885
+#line 10031 "parse.c" /* yacc.c:1646  */
3886
     break;
3887
 
3888
   case 526:
3889
-#line 4409 "parse.y" /* yacc.c:1646  */
3890
+#line 4401 "parse.y" /* yacc.c:1646  */
3891
     {(yyval.id) = KWD2EID(false, (yyvsp[0].id));}
3892
-#line 10045 "parse.c" /* yacc.c:1646  */
3893
+#line 10037 "parse.c" /* yacc.c:1646  */
3894
     break;
3895
 
3896
   case 527:
3897
-#line 4410 "parse.y" /* yacc.c:1646  */
3898
+#line 4402 "parse.y" /* yacc.c:1646  */
3899
     {(yyval.id) = KWD2EID(_FILE__, (yyvsp[0].id));}
3900
-#line 10051 "parse.c" /* yacc.c:1646  */
3901
+#line 10043 "parse.c" /* yacc.c:1646  */
3902
     break;
3903
 
3904
   case 528:
3905
-#line 4411 "parse.y" /* yacc.c:1646  */
3906
+#line 4403 "parse.y" /* yacc.c:1646  */
3907
     {(yyval.id) = KWD2EID(_LINE__, (yyvsp[0].id));}
3908
-#line 10057 "parse.c" /* yacc.c:1646  */
3909
+#line 10049 "parse.c" /* yacc.c:1646  */
3910
     break;
3911
 
3912
   case 529:
3913
-#line 4412 "parse.y" /* yacc.c:1646  */
3914
+#line 4404 "parse.y" /* yacc.c:1646  */
3915
     {(yyval.id) = KWD2EID(_ENCODING__, (yyvsp[0].id));}
3916
-#line 10063 "parse.c" /* yacc.c:1646  */
3917
+#line 10055 "parse.c" /* yacc.c:1646  */
3918
     break;
3919
 
3920
   case 530:
3921
-#line 4416 "parse.y" /* yacc.c:1646  */
3922
+#line 4408 "parse.y" /* yacc.c:1646  */
3923
     {
3924
 		    /*%%%*/
3925
 			if (!((yyval.node) = gettable((yyvsp[0].id), &(yyloc)))) (yyval.node) = new_begin(0, &(yyloc));
3926
@@ -10080,11 +10072,11 @@ yyreduce:
3927
 			}
3928
 		    %*/
3929
 		    }
3930
-#line 10080 "parse.c" /* yacc.c:1646  */
3931
+#line 10072 "parse.c" /* yacc.c:1646  */
3932
     break;
3933
 
3934
   case 531:
3935
-#line 4429 "parse.y" /* yacc.c:1646  */
3936
+#line 4421 "parse.y" /* yacc.c:1646  */
3937
     {
3938
 		    /*%%%*/
3939
 			if (!((yyval.node) = gettable((yyvsp[0].id), &(yyloc)))) (yyval.node) = new_begin(0, &(yyloc));
3940
@@ -10092,66 +10084,66 @@ yyreduce:
3941
 			$$ = dispatch1(var_ref, $1);
3942
 		    %*/
3943
 		    }
3944
-#line 10092 "parse.c" /* yacc.c:1646  */
3945
+#line 10084 "parse.c" /* yacc.c:1646  */
3946
     break;
3947
 
3948
   case 532:
3949
-#line 4439 "parse.y" /* yacc.c:1646  */
3950
+#line 4431 "parse.y" /* yacc.c:1646  */
3951
     {
3952
 			(yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc));
3953
 		    }
3954
-#line 10100 "parse.c" /* yacc.c:1646  */
3955
+#line 10092 "parse.c" /* yacc.c:1646  */
3956
     break;
3957
 
3958
   case 533:
3959
-#line 4443 "parse.y" /* yacc.c:1646  */
3960
+#line 4435 "parse.y" /* yacc.c:1646  */
3961
     {
3962
 			(yyval.node) = assignable(var_field((yyvsp[0].id)), 0, &(yyloc));
3963
 		    }
3964
-#line 10108 "parse.c" /* yacc.c:1646  */
3965
+#line 10100 "parse.c" /* yacc.c:1646  */
3966
     break;
3967
 
3968
   case 534:
3969
-#line 4449 "parse.y" /* yacc.c:1646  */
3970
+#line 4441 "parse.y" /* yacc.c:1646  */
3971
     {
3972
 		    /*%%%*/
3973
 			(yyval.node)->nd_loc = (yyloc);
3974
 		    /*%
3975
 		    %*/
3976
 		    }
3977
-#line 10119 "parse.c" /* yacc.c:1646  */
3978
+#line 10111 "parse.c" /* yacc.c:1646  */
3979
     break;
3980
 
3981
   case 535:
3982
-#line 4456 "parse.y" /* yacc.c:1646  */
3983
+#line 4448 "parse.y" /* yacc.c:1646  */
3984
     {
3985
 		    /*%%%*/
3986
 			(yyval.node)->nd_loc = (yyloc);
3987
 		    /*%
3988
 		    %*/
3989
 		    }
3990
-#line 10130 "parse.c" /* yacc.c:1646  */
3991
+#line 10122 "parse.c" /* yacc.c:1646  */
3992
     break;
3993
 
3994
   case 536:
3995
-#line 4465 "parse.y" /* yacc.c:1646  */
3996
+#line 4457 "parse.y" /* yacc.c:1646  */
3997
     {
3998
 			SET_LEX_STATE(EXPR_BEG);
3999
 			command_start = TRUE;
4000
 		    }
4001
-#line 10139 "parse.c" /* yacc.c:1646  */
4002
+#line 10131 "parse.c" /* yacc.c:1646  */
4003
     break;
4004
 
4005
   case 537:
4006
-#line 4470 "parse.y" /* yacc.c:1646  */
4007
+#line 4462 "parse.y" /* yacc.c:1646  */
4008
     {
4009
 			(yyval.node) = (yyvsp[-1].node);
4010
 		    }
4011
-#line 10147 "parse.c" /* yacc.c:1646  */
4012
+#line 10139 "parse.c" /* yacc.c:1646  */
4013
     break;
4014
 
4015
   case 538:
4016
-#line 4474 "parse.y" /* yacc.c:1646  */
4017
+#line 4466 "parse.y" /* yacc.c:1646  */
4018
     {
4019
 		    /*%%%*/
4020
 			(yyval.node) = 0;
4021
@@ -10159,11 +10151,11 @@ yyreduce:
4022
 			$$ = Qnil;
4023
 		    %*/
4024
 		    }
4025
-#line 10159 "parse.c" /* yacc.c:1646  */
4026
+#line 10151 "parse.c" /* yacc.c:1646  */
4027
     break;
4028
 
4029
   case 539:
4030
-#line 4484 "parse.y" /* yacc.c:1646  */
4031
+#line 4476 "parse.y" /* yacc.c:1646  */
4032
     {
4033
 		    /*%%%*/
4034
 			(yyval.node) = (yyvsp[-1].node);
4035
@@ -10173,201 +10165,201 @@ yyreduce:
4036
 			SET_LEX_STATE(EXPR_BEG);
4037
 			command_start = TRUE;
4038
 		    }
4039
-#line 10173 "parse.c" /* yacc.c:1646  */
4040
+#line 10165 "parse.c" /* yacc.c:1646  */
4041
     break;
4042
 
4043
   case 540:
4044
-#line 4493 "parse.y" /* yacc.c:1646  */
4045
+#line 4485 "parse.y" /* yacc.c:1646  */
4046
     {
4047
 			(yyval.num) = parser->in_kwarg;
4048
 			parser->in_kwarg = 1;
4049
 			SET_LEX_STATE(lex_state|EXPR_LABEL); /* force for args */
4050
 		    }
4051
-#line 10183 "parse.c" /* yacc.c:1646  */
4052
+#line 10175 "parse.c" /* yacc.c:1646  */
4053
     break;
4054
 
4055
   case 541:
4056
-#line 4499 "parse.y" /* yacc.c:1646  */
4057
+#line 4491 "parse.y" /* yacc.c:1646  */
4058
     {
4059
 			parser->in_kwarg = !!(yyvsp[-2].num);
4060
 			(yyval.node) = (yyvsp[-1].node);
4061
 			SET_LEX_STATE(EXPR_BEG);
4062
 			command_start = TRUE;
4063
 		    }
4064
-#line 10194 "parse.c" /* yacc.c:1646  */
4065
+#line 10186 "parse.c" /* yacc.c:1646  */
4066
     break;
4067
 
4068
   case 542:
4069
-#line 4508 "parse.y" /* yacc.c:1646  */
4070
+#line 4500 "parse.y" /* yacc.c:1646  */
4071
     {
4072
 			(yyval.node) = new_args_tail((yyvsp[-3].node), (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1]));
4073
 		    }
4074
-#line 10202 "parse.c" /* yacc.c:1646  */
4075
+#line 10194 "parse.c" /* yacc.c:1646  */
4076
     break;
4077
 
4078
   case 543:
4079
-#line 4512 "parse.y" /* yacc.c:1646  */
4080
+#line 4504 "parse.y" /* yacc.c:1646  */
4081
     {
4082
 			(yyval.node) = new_args_tail((yyvsp[-1].node), Qnone, (yyvsp[0].id), &(yylsp[-1]));
4083
 		    }
4084
-#line 10210 "parse.c" /* yacc.c:1646  */
4085
+#line 10202 "parse.c" /* yacc.c:1646  */
4086
     break;
4087
 
4088
   case 544:
4089
-#line 4516 "parse.y" /* yacc.c:1646  */
4090
+#line 4508 "parse.y" /* yacc.c:1646  */
4091
     {
4092
 			(yyval.node) = new_args_tail(Qnone, (yyvsp[-1].id), (yyvsp[0].id), &(yylsp[-1]));
4093
 		    }
4094
-#line 10218 "parse.c" /* yacc.c:1646  */
4095
+#line 10210 "parse.c" /* yacc.c:1646  */
4096
     break;
4097
 
4098
   case 545:
4099
-#line 4520 "parse.y" /* yacc.c:1646  */
4100
+#line 4512 "parse.y" /* yacc.c:1646  */
4101
     {
4102
 			(yyval.node) = new_args_tail(Qnone, Qnone, (yyvsp[0].id), &(yylsp[0]));
4103
 		    }
4104
-#line 10226 "parse.c" /* yacc.c:1646  */
4105
+#line 10218 "parse.c" /* yacc.c:1646  */
4106
     break;
4107
 
4108
   case 546:
4109
-#line 4526 "parse.y" /* yacc.c:1646  */
4110
+#line 4518 "parse.y" /* yacc.c:1646  */
4111
     {
4112
 			(yyval.node) = (yyvsp[0].node);
4113
 		    }
4114
-#line 10234 "parse.c" /* yacc.c:1646  */
4115
+#line 10226 "parse.c" /* yacc.c:1646  */
4116
     break;
4117
 
4118
   case 547:
4119
-#line 4530 "parse.y" /* yacc.c:1646  */
4120
+#line 4522 "parse.y" /* yacc.c:1646  */
4121
     {
4122
 			(yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
4123
 		    }
4124
-#line 10242 "parse.c" /* yacc.c:1646  */
4125
+#line 10234 "parse.c" /* yacc.c:1646  */
4126
     break;
4127
 
4128
   case 548:
4129
-#line 4536 "parse.y" /* yacc.c:1646  */
4130
+#line 4528 "parse.y" /* yacc.c:1646  */
4131
     {
4132
 			(yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
4133
 		    }
4134
-#line 10250 "parse.c" /* yacc.c:1646  */
4135
+#line 10242 "parse.c" /* yacc.c:1646  */
4136
     break;
4137
 
4138
   case 549:
4139
-#line 4540 "parse.y" /* yacc.c:1646  */
4140
+#line 4532 "parse.y" /* yacc.c:1646  */
4141
     {
4142
 			(yyval.node) = new_args((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4143
 		    }
4144
-#line 10258 "parse.c" /* yacc.c:1646  */
4145
+#line 10250 "parse.c" /* yacc.c:1646  */
4146
     break;
4147
 
4148
   case 550:
4149
-#line 4544 "parse.y" /* yacc.c:1646  */
4150
+#line 4536 "parse.y" /* yacc.c:1646  */
4151
     {
4152
 			(yyval.node) = new_args((yyvsp[-3].node), (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc));
4153
 		    }
4154
-#line 10266 "parse.c" /* yacc.c:1646  */
4155
+#line 10258 "parse.c" /* yacc.c:1646  */
4156
     break;
4157
 
4158
   case 551:
4159
-#line 4548 "parse.y" /* yacc.c:1646  */
4160
+#line 4540 "parse.y" /* yacc.c:1646  */
4161
     {
4162
 			(yyval.node) = new_args((yyvsp[-5].node), (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4163
 		    }
4164
-#line 10274 "parse.c" /* yacc.c:1646  */
4165
+#line 10266 "parse.c" /* yacc.c:1646  */
4166
     break;
4167
 
4168
   case 552:
4169
-#line 4552 "parse.y" /* yacc.c:1646  */
4170
+#line 4544 "parse.y" /* yacc.c:1646  */
4171
     {
4172
 			(yyval.node) = new_args((yyvsp[-3].node), Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
4173
 		    }
4174
-#line 10282 "parse.c" /* yacc.c:1646  */
4175
+#line 10274 "parse.c" /* yacc.c:1646  */
4176
     break;
4177
 
4178
   case 553:
4179
-#line 4556 "parse.y" /* yacc.c:1646  */
4180
+#line 4548 "parse.y" /* yacc.c:1646  */
4181
     {
4182
 			(yyval.node) = new_args((yyvsp[-5].node), Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4183
 		    }
4184
-#line 10290 "parse.c" /* yacc.c:1646  */
4185
+#line 10282 "parse.c" /* yacc.c:1646  */
4186
     break;
4187
 
4188
   case 554:
4189
-#line 4560 "parse.y" /* yacc.c:1646  */
4190
+#line 4552 "parse.y" /* yacc.c:1646  */
4191
     {
4192
 			(yyval.node) = new_args((yyvsp[-1].node), Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc));
4193
 		    }
4194
-#line 10298 "parse.c" /* yacc.c:1646  */
4195
+#line 10290 "parse.c" /* yacc.c:1646  */
4196
     break;
4197
 
4198
   case 555:
4199
-#line 4564 "parse.y" /* yacc.c:1646  */
4200
+#line 4556 "parse.y" /* yacc.c:1646  */
4201
     {
4202
 			(yyval.node) = new_args(Qnone, (yyvsp[-3].node), (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
4203
 		    }
4204
-#line 10306 "parse.c" /* yacc.c:1646  */
4205
+#line 10298 "parse.c" /* yacc.c:1646  */
4206
     break;
4207
 
4208
   case 556:
4209
-#line 4568 "parse.y" /* yacc.c:1646  */
4210
+#line 4560 "parse.y" /* yacc.c:1646  */
4211
     {
4212
 			(yyval.node) = new_args(Qnone, (yyvsp[-5].node), (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4213
 		    }
4214
-#line 10314 "parse.c" /* yacc.c:1646  */
4215
+#line 10306 "parse.c" /* yacc.c:1646  */
4216
     break;
4217
 
4218
   case 557:
4219
-#line 4572 "parse.y" /* yacc.c:1646  */
4220
+#line 4564 "parse.y" /* yacc.c:1646  */
4221
     {
4222
 			(yyval.node) = new_args(Qnone, (yyvsp[-1].node), Qnone, Qnone, (yyvsp[0].node), &(yyloc));
4223
 		    }
4224
-#line 10322 "parse.c" /* yacc.c:1646  */
4225
+#line 10314 "parse.c" /* yacc.c:1646  */
4226
     break;
4227
 
4228
   case 558:
4229
-#line 4576 "parse.y" /* yacc.c:1646  */
4230
+#line 4568 "parse.y" /* yacc.c:1646  */
4231
     {
4232
 			(yyval.node) = new_args(Qnone, (yyvsp[-3].node), Qnone, (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4233
 		    }
4234
-#line 10330 "parse.c" /* yacc.c:1646  */
4235
+#line 10322 "parse.c" /* yacc.c:1646  */
4236
     break;
4237
 
4238
   case 559:
4239
-#line 4580 "parse.y" /* yacc.c:1646  */
4240
+#line 4572 "parse.y" /* yacc.c:1646  */
4241
     {
4242
 			(yyval.node) = new_args(Qnone, Qnone, (yyvsp[-1].id), Qnone, (yyvsp[0].node), &(yyloc));
4243
 		    }
4244
-#line 10338 "parse.c" /* yacc.c:1646  */
4245
+#line 10330 "parse.c" /* yacc.c:1646  */
4246
     break;
4247
 
4248
   case 560:
4249
-#line 4584 "parse.y" /* yacc.c:1646  */
4250
+#line 4576 "parse.y" /* yacc.c:1646  */
4251
     {
4252
 			(yyval.node) = new_args(Qnone, Qnone, (yyvsp[-3].id), (yyvsp[-1].node), (yyvsp[0].node), &(yyloc));
4253
 		    }
4254
-#line 10346 "parse.c" /* yacc.c:1646  */
4255
+#line 10338 "parse.c" /* yacc.c:1646  */
4256
     break;
4257
 
4258
   case 561:
4259
-#line 4588 "parse.y" /* yacc.c:1646  */
4260
+#line 4580 "parse.y" /* yacc.c:1646  */
4261
     {
4262
 			(yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyvsp[0].node), &(yyloc));
4263
 		    }
4264
-#line 10354 "parse.c" /* yacc.c:1646  */
4265
+#line 10346 "parse.c" /* yacc.c:1646  */
4266
     break;
4267
 
4268
   case 562:
4269
-#line 4592 "parse.y" /* yacc.c:1646  */
4270
+#line 4584 "parse.y" /* yacc.c:1646  */
4271
     {
4272
 			(yyval.node) = new_args_tail(Qnone, Qnone, Qnone, &(yylsp[0]));
4273
 			(yyval.node) = new_args(Qnone, Qnone, Qnone, Qnone, (yyval.node), &(yylsp[0]));
4274
 		    }
4275
-#line 10363 "parse.c" /* yacc.c:1646  */
4276
+#line 10355 "parse.c" /* yacc.c:1646  */
4277
     break;
4278
 
4279
   case 563:
4280
-#line 4599 "parse.y" /* yacc.c:1646  */
4281
+#line 4591 "parse.y" /* yacc.c:1646  */
4282
     {
4283
 		    /*%%%*/
4284
 			yyerror0("formal argument cannot be a constant");
4285
@@ -10377,11 +10369,11 @@ yyreduce:
4286
 			ripper_error();
4287
 		    %*/
4288
 		    }
4289
-#line 10377 "parse.c" /* yacc.c:1646  */
4290
+#line 10369 "parse.c" /* yacc.c:1646  */
4291
     break;
4292
 
4293
   case 564:
4294
-#line 4609 "parse.y" /* yacc.c:1646  */
4295
+#line 4601 "parse.y" /* yacc.c:1646  */
4296
     {
4297
 		    /*%%%*/
4298
 			yyerror0("formal argument cannot be an instance variable");
4299
@@ -10391,11 +10383,11 @@ yyreduce:
4300
 			ripper_error();
4301
 		    %*/
4302
 		    }
4303
-#line 10391 "parse.c" /* yacc.c:1646  */
4304
+#line 10383 "parse.c" /* yacc.c:1646  */
4305
     break;
4306
 
4307
   case 565:
4308
-#line 4619 "parse.y" /* yacc.c:1646  */
4309
+#line 4611 "parse.y" /* yacc.c:1646  */
4310
     {
4311
 		    /*%%%*/
4312
 			yyerror0("formal argument cannot be a global variable");
4313
@@ -10405,11 +10397,11 @@ yyreduce:
4314
 			ripper_error();
4315
 		    %*/
4316
 		    }
4317
-#line 10405 "parse.c" /* yacc.c:1646  */
4318
+#line 10397 "parse.c" /* yacc.c:1646  */
4319
     break;
4320
 
4321
   case 566:
4322
-#line 4629 "parse.y" /* yacc.c:1646  */
4323
+#line 4621 "parse.y" /* yacc.c:1646  */
4324
     {
4325
 		    /*%%%*/
4326
 			yyerror0("formal argument cannot be a class variable");
4327
@@ -10419,31 +10411,31 @@ yyreduce:
4328
 			ripper_error();
4329
 		    %*/
4330
 		    }
4331
-#line 10419 "parse.c" /* yacc.c:1646  */
4332
+#line 10411 "parse.c" /* yacc.c:1646  */
4333
     break;
4334
 
4335
   case 568:
4336
-#line 4642 "parse.y" /* yacc.c:1646  */
4337
+#line 4634 "parse.y" /* yacc.c:1646  */
4338
     {
4339
 			formal_argument(get_id((yyvsp[0].id)));
4340
 			(yyval.id) = (yyvsp[0].id);
4341
 		    }
4342
-#line 10428 "parse.c" /* yacc.c:1646  */
4343
+#line 10420 "parse.c" /* yacc.c:1646  */
4344
     break;
4345
 
4346
   case 569:
4347
-#line 4649 "parse.y" /* yacc.c:1646  */
4348
+#line 4641 "parse.y" /* yacc.c:1646  */
4349
     {
4350
 			ID id = get_id((yyvsp[0].id));
4351
 			arg_var(id);
4352
 			current_arg = id;
4353
 			(yyval.id) = (yyvsp[0].id);
4354
 		    }
4355
-#line 10439 "parse.c" /* yacc.c:1646  */
4356
+#line 10431 "parse.c" /* yacc.c:1646  */
4357
     break;
4358
 
4359
   case 570:
4360
-#line 4658 "parse.y" /* yacc.c:1646  */
4361
+#line 4650 "parse.y" /* yacc.c:1646  */
4362
     {
4363
 			current_arg = 0;
4364
 		    /*%%%*/
4365
@@ -10452,11 +10444,11 @@ yyreduce:
4366
 			$$ = get_value($1);
4367
 		    %*/
4368
 		    }
4369
-#line 10452 "parse.c" /* yacc.c:1646  */
4370
+#line 10444 "parse.c" /* yacc.c:1646  */
4371
     break;
4372
 
4373
   case 571:
4374
-#line 4667 "parse.y" /* yacc.c:1646  */
4375
+#line 4659 "parse.y" /* yacc.c:1646  */
4376
     {
4377
 			ID tid = internal_id();
4378
 		    /*%%%*/
4379
@@ -10479,11 +10471,11 @@ yyreduce:
4380
 			$$ = dispatch1(mlhs_paren, $2);
4381
 		    %*/
4382
 		    }
4383
-#line 10479 "parse.c" /* yacc.c:1646  */
4384
+#line 10471 "parse.c" /* yacc.c:1646  */
4385
     break;
4386
 
4387
   case 573:
4388
-#line 4699 "parse.y" /* yacc.c:1646  */
4389
+#line 4691 "parse.y" /* yacc.c:1646  */
4390
     {
4391
 		    /*%%%*/
4392
 			(yyval.node) = (yyvsp[-2].node);
4393
@@ -10494,22 +10486,22 @@ yyreduce:
4394
 			$$ = rb_ary_push($1, get_value($3));
4395
 		    %*/
4396
 		    }
4397
-#line 10494 "parse.c" /* yacc.c:1646  */
4398
+#line 10486 "parse.c" /* yacc.c:1646  */
4399
     break;
4400
 
4401
   case 574:
4402
-#line 4713 "parse.y" /* yacc.c:1646  */
4403
+#line 4705 "parse.y" /* yacc.c:1646  */
4404
     {
4405
 			ID id = get_id((yyvsp[0].id));
4406
 			arg_var(formal_argument(id));
4407
 			current_arg = id;
4408
 			(yyval.id) = (yyvsp[0].id);
4409
 		    }
4410
-#line 10505 "parse.c" /* yacc.c:1646  */
4411
+#line 10497 "parse.c" /* yacc.c:1646  */
4412
     break;
4413
 
4414
   case 575:
4415
-#line 4722 "parse.y" /* yacc.c:1646  */
4416
+#line 4714 "parse.y" /* yacc.c:1646  */
4417
     {
4418
 			current_arg = 0;
4419
 			(yyval.node) = assignable((yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
4420
@@ -10519,11 +10511,11 @@ yyreduce:
4421
 			$$ = rb_assoc_new(get_value($$), get_value($2));
4422
 		    %*/
4423
 		    }
4424
-#line 10519 "parse.c" /* yacc.c:1646  */
4425
+#line 10511 "parse.c" /* yacc.c:1646  */
4426
     break;
4427
 
4428
   case 576:
4429
-#line 4732 "parse.y" /* yacc.c:1646  */
4430
+#line 4724 "parse.y" /* yacc.c:1646  */
4431
     {
4432
 			current_arg = 0;
4433
 			(yyval.node) = assignable((yyvsp[0].id), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc));
4434
@@ -10533,11 +10525,11 @@ yyreduce:
4435
 			$$ = rb_assoc_new(get_value($$), 0);
4436
 		    %*/
4437
 		    }
4438
-#line 10533 "parse.c" /* yacc.c:1646  */
4439
+#line 10525 "parse.c" /* yacc.c:1646  */
4440
     break;
4441
 
4442
   case 577:
4443
-#line 4744 "parse.y" /* yacc.c:1646  */
4444
+#line 4736 "parse.y" /* yacc.c:1646  */
4445
     {
4446
 			(yyval.node) = assignable((yyvsp[-1].id), (yyvsp[0].node), &(yyloc));
4447
 		    /*%%%*/
4448
@@ -10546,11 +10538,11 @@ yyreduce:
4449
 			$$ = rb_assoc_new(get_value($$), get_value($2));
4450
 		    %*/
4451
 		    }
4452
-#line 10546 "parse.c" /* yacc.c:1646  */
4453
+#line 10538 "parse.c" /* yacc.c:1646  */
4454
     break;
4455
 
4456
   case 578:
4457
-#line 4753 "parse.y" /* yacc.c:1646  */
4458
+#line 4745 "parse.y" /* yacc.c:1646  */
4459
     {
4460
 			(yyval.node) = assignable((yyvsp[0].id), NODE_SPECIAL_REQUIRED_KEYWORD, &(yyloc));
4461
 		    /*%%%*/
4462
@@ -10559,11 +10551,11 @@ yyreduce:
4463
 			$$ = rb_assoc_new(get_value($$), 0);
4464
 		    %*/
4465
 		    }
4466
-#line 10559 "parse.c" /* yacc.c:1646  */
4467
+#line 10551 "parse.c" /* yacc.c:1646  */
4468
     break;
4469
 
4470
   case 579:
4471
-#line 4764 "parse.y" /* yacc.c:1646  */
4472
+#line 4756 "parse.y" /* yacc.c:1646  */
4473
     {
4474
 		    /*%%%*/
4475
 			(yyval.node) = (yyvsp[0].node);
4476
@@ -10571,11 +10563,11 @@ yyreduce:
4477
 			$$ = rb_ary_new3(1, get_value($1));
4478
 		    %*/
4479
 		    }
4480
-#line 10571 "parse.c" /* yacc.c:1646  */
4481
+#line 10563 "parse.c" /* yacc.c:1646  */
4482
     break;
4483
 
4484
   case 580:
4485
-#line 4772 "parse.y" /* yacc.c:1646  */
4486
+#line 4764 "parse.y" /* yacc.c:1646  */
4487
     {
4488
 		    /*%%%*/
4489
 			(yyval.node) = kwd_append((yyvsp[-2].node), (yyvsp[0].node));
4490
@@ -10583,11 +10575,11 @@ yyreduce:
4491
 			$$ = rb_ary_push($1, get_value($3));
4492
 		    %*/
4493
 		    }
4494
-#line 10583 "parse.c" /* yacc.c:1646  */
4495
+#line 10575 "parse.c" /* yacc.c:1646  */
4496
     break;
4497
 
4498
   case 581:
4499
-#line 4783 "parse.y" /* yacc.c:1646  */
4500
+#line 4775 "parse.y" /* yacc.c:1646  */
4501
     {
4502
 		    /*%%%*/
4503
 			(yyval.node) = (yyvsp[0].node);
4504
@@ -10595,11 +10587,11 @@ yyreduce:
4505
 			$$ = rb_ary_new3(1, get_value($1));
4506
 		    %*/
4507
 		    }
4508
-#line 10595 "parse.c" /* yacc.c:1646  */
4509
+#line 10587 "parse.c" /* yacc.c:1646  */
4510
     break;
4511
 
4512
   case 582:
4513
-#line 4791 "parse.y" /* yacc.c:1646  */
4514
+#line 4783 "parse.y" /* yacc.c:1646  */
4515
     {
4516
 		    /*%%%*/
4517
 			(yyval.node) = kwd_append((yyvsp[-2].node), (yyvsp[0].node));
4518
@@ -10607,11 +10599,11 @@ yyreduce:
4519
 			$$ = rb_ary_push($1, get_value($3));
4520
 		    %*/
4521
 		    }
4522
-#line 10607 "parse.c" /* yacc.c:1646  */
4523
+#line 10599 "parse.c" /* yacc.c:1646  */
4524
     break;
4525
 
4526
   case 585:
4527
-#line 4805 "parse.y" /* yacc.c:1646  */
4528
+#line 4797 "parse.y" /* yacc.c:1646  */
4529
     {
4530
 			shadowing_lvar(get_id((yyvsp[0].id)));
4531
 		    /*%%%*/
4532
@@ -10620,11 +10612,11 @@ yyreduce:
4533
 			$$ = dispatch1(kwrest_param, $2);
4534
 		    %*/
4535
 		    }
4536
-#line 10620 "parse.c" /* yacc.c:1646  */
4537
+#line 10612 "parse.c" /* yacc.c:1646  */
4538
     break;
4539
 
4540
   case 586:
4541
-#line 4814 "parse.y" /* yacc.c:1646  */
4542
+#line 4806 "parse.y" /* yacc.c:1646  */
4543
     {
4544
 		    /*%%%*/
4545
 			(yyval.id) = internal_id();
4546
@@ -10633,11 +10625,11 @@ yyreduce:
4547
 			$$ = dispatch1(kwrest_param, Qnil);
4548
 		    %*/
4549
 		    }
4550
-#line 10633 "parse.c" /* yacc.c:1646  */
4551
+#line 10625 "parse.c" /* yacc.c:1646  */
4552
     break;
4553
 
4554
   case 587:
4555
-#line 4825 "parse.y" /* yacc.c:1646  */
4556
+#line 4817 "parse.y" /* yacc.c:1646  */
4557
     {
4558
 			current_arg = 0;
4559
 			(yyval.node) = assignable((yyvsp[-2].id), (yyvsp[0].node), &(yyloc));
4560
@@ -10648,11 +10640,11 @@ yyreduce:
4561
 			$$ = rb_assoc_new(get_value($$), get_value($3));
4562
 		    %*/
4563
 		    }
4564
-#line 10648 "parse.c" /* yacc.c:1646  */
4565
+#line 10640 "parse.c" /* yacc.c:1646  */
4566
     break;
4567
 
4568
   case 588:
4569
-#line 4838 "parse.y" /* yacc.c:1646  */
4570
+#line 4830 "parse.y" /* yacc.c:1646  */
4571
     {
4572
 			current_arg = 0;
4573
 			(yyval.node) = assignable((yyvsp[-2].id), (yyvsp[0].node), &(yyloc));
4574
@@ -10663,11 +10655,11 @@ yyreduce:
4575
 			$$ = rb_assoc_new(get_value($$), get_value($3));
4576
 		    %*/
4577
 		    }
4578
-#line 10663 "parse.c" /* yacc.c:1646  */
4579
+#line 10655 "parse.c" /* yacc.c:1646  */
4580
     break;
4581
 
4582
   case 589:
4583
-#line 4851 "parse.y" /* yacc.c:1646  */
4584
+#line 4843 "parse.y" /* yacc.c:1646  */
4585
     {
4586
 		    /*%%%*/
4587
 			(yyval.node) = (yyvsp[0].node);
4588
@@ -10675,11 +10667,11 @@ yyreduce:
4589
 			$$ = rb_ary_new3(1, get_value($1));
4590
 		    %*/
4591
 		    }
4592
-#line 10675 "parse.c" /* yacc.c:1646  */
4593
+#line 10667 "parse.c" /* yacc.c:1646  */
4594
     break;
4595
 
4596
   case 590:
4597
-#line 4859 "parse.y" /* yacc.c:1646  */
4598
+#line 4851 "parse.y" /* yacc.c:1646  */
4599
     {
4600
 		    /*%%%*/
4601
 			(yyval.node) = opt_arg_append((yyvsp[-2].node), (yyvsp[0].node));
4602
@@ -10687,11 +10679,11 @@ yyreduce:
4603
 			$$ = rb_ary_push($1, get_value($3));
4604
 		    %*/
4605
 		    }
4606
-#line 10687 "parse.c" /* yacc.c:1646  */
4607
+#line 10679 "parse.c" /* yacc.c:1646  */
4608
     break;
4609
 
4610
   case 591:
4611
-#line 4869 "parse.y" /* yacc.c:1646  */
4612
+#line 4861 "parse.y" /* yacc.c:1646  */
4613
     {
4614
 		    /*%%%*/
4615
 			(yyval.node) = (yyvsp[0].node);
4616
@@ -10699,11 +10691,11 @@ yyreduce:
4617
 			$$ = rb_ary_new3(1, get_value($1));
4618
 		    %*/
4619
 		    }
4620
-#line 10699 "parse.c" /* yacc.c:1646  */
4621
+#line 10691 "parse.c" /* yacc.c:1646  */
4622
     break;
4623
 
4624
   case 592:
4625
-#line 4877 "parse.y" /* yacc.c:1646  */
4626
+#line 4869 "parse.y" /* yacc.c:1646  */
4627
     {
4628
 		    /*%%%*/
4629
 			(yyval.node) = opt_arg_append((yyvsp[-2].node), (yyvsp[0].node));
4630
@@ -10711,11 +10703,11 @@ yyreduce:
4631
 			$$ = rb_ary_push($1, get_value($3));
4632
 		    %*/
4633
 		    }
4634
-#line 10711 "parse.c" /* yacc.c:1646  */
4635
+#line 10703 "parse.c" /* yacc.c:1646  */
4636
     break;
4637
 
4638
   case 595:
4639
-#line 4891 "parse.y" /* yacc.c:1646  */
4640
+#line 4883 "parse.y" /* yacc.c:1646  */
4641
     {
4642
 		    /*%%%*/
4643
 			if (!is_local_id((yyvsp[0].id)))
4644
@@ -10728,11 +10720,11 @@ yyreduce:
4645
 			$$ = dispatch1(rest_param, $2);
4646
 		    %*/
4647
 		    }
4648
-#line 10728 "parse.c" /* yacc.c:1646  */
4649
+#line 10720 "parse.c" /* yacc.c:1646  */
4650
     break;
4651
 
4652
   case 596:
4653
-#line 4904 "parse.y" /* yacc.c:1646  */
4654
+#line 4896 "parse.y" /* yacc.c:1646  */
4655
     {
4656
 		    /*%%%*/
4657
 			(yyval.id) = internal_id();
4658
@@ -10741,11 +10733,11 @@ yyreduce:
4659
 			$$ = dispatch1(rest_param, Qnil);
4660
 		    %*/
4661
 		    }
4662
-#line 10741 "parse.c" /* yacc.c:1646  */
4663
+#line 10733 "parse.c" /* yacc.c:1646  */
4664
     break;
4665
 
4666
   case 599:
4667
-#line 4919 "parse.y" /* yacc.c:1646  */
4668
+#line 4911 "parse.y" /* yacc.c:1646  */
4669
     {
4670
 		    /*%%%*/
4671
 			if (!is_local_id((yyvsp[0].id)))
4672
@@ -10760,19 +10752,19 @@ yyreduce:
4673
 			$$ = dispatch1(blockarg, $2);
4674
 		    %*/
4675
 		    }
4676
-#line 10760 "parse.c" /* yacc.c:1646  */
4677
+#line 10752 "parse.c" /* yacc.c:1646  */
4678
     break;
4679
 
4680
   case 600:
4681
-#line 4936 "parse.y" /* yacc.c:1646  */
4682
+#line 4928 "parse.y" /* yacc.c:1646  */
4683
     {
4684
 			(yyval.id) = (yyvsp[0].id);
4685
 		    }
4686
-#line 10768 "parse.c" /* yacc.c:1646  */
4687
+#line 10760 "parse.c" /* yacc.c:1646  */
4688
     break;
4689
 
4690
   case 601:
4691
-#line 4940 "parse.y" /* yacc.c:1646  */
4692
+#line 4932 "parse.y" /* yacc.c:1646  */
4693
     {
4694
 		    /*%%%*/
4695
 			(yyval.id) = 0;
4696
@@ -10780,11 +10772,11 @@ yyreduce:
4697
 			$$ = Qundef;
4698
 		    %*/
4699
 		    }
4700
-#line 10780 "parse.c" /* yacc.c:1646  */
4701
+#line 10772 "parse.c" /* yacc.c:1646  */
4702
     break;
4703
 
4704
   case 602:
4705
-#line 4950 "parse.y" /* yacc.c:1646  */
4706
+#line 4942 "parse.y" /* yacc.c:1646  */
4707
     {
4708
 		    /*%%%*/
4709
 			value_expr((yyvsp[0].node));
4710
@@ -10794,17 +10786,17 @@ yyreduce:
4711
 			$$ = $1;
4712
 		    %*/
4713
 		    }
4714
-#line 10794 "parse.c" /* yacc.c:1646  */
4715
+#line 10786 "parse.c" /* yacc.c:1646  */
4716
     break;
4717
 
4718
   case 603:
4719
-#line 4959 "parse.y" /* yacc.c:1646  */
4720
+#line 4951 "parse.y" /* yacc.c:1646  */
4721
     {SET_LEX_STATE(EXPR_BEG);}
4722
-#line 10800 "parse.c" /* yacc.c:1646  */
4723
+#line 10792 "parse.c" /* yacc.c:1646  */
4724
     break;
4725
 
4726
   case 604:
4727
-#line 4960 "parse.y" /* yacc.c:1646  */
4728
+#line 4952 "parse.y" /* yacc.c:1646  */
4729
     {
4730
 		    /*%%%*/
4731
 			if ((yyvsp[-1].node) == 0) {
4732
@@ -10832,11 +10824,11 @@ yyreduce:
4733
 			$$ = dispatch1(paren, $3);
4734
 		    %*/
4735
 		    }
4736
-#line 10832 "parse.c" /* yacc.c:1646  */
4737
+#line 10824 "parse.c" /* yacc.c:1646  */
4738
     break;
4739
 
4740
   case 606:
4741
-#line 4991 "parse.y" /* yacc.c:1646  */
4742
+#line 4983 "parse.y" /* yacc.c:1646  */
4743
     {
4744
 		    /*%%%*/
4745
 			(yyval.node) = (yyvsp[-1].node);
4746
@@ -10844,11 +10836,11 @@ yyreduce:
4747
 			$$ = dispatch1(assoclist_from_args, $1);
4748
 		    %*/
4749
 		    }
4750
-#line 10844 "parse.c" /* yacc.c:1646  */
4751
+#line 10836 "parse.c" /* yacc.c:1646  */
4752
     break;
4753
 
4754
   case 608:
4755
-#line 5008 "parse.y" /* yacc.c:1646  */
4756
+#line 5000 "parse.y" /* yacc.c:1646  */
4757
     {
4758
 		    /*%%%*/
4759
 			NODE *assocs = (yyvsp[-2].node);
4760
@@ -10870,11 +10862,11 @@ yyreduce:
4761
 			$$ = rb_ary_push($1, get_value($3));
4762
 		    %*/
4763
 		    }
4764
-#line 10870 "parse.c" /* yacc.c:1646  */
4765
+#line 10862 "parse.c" /* yacc.c:1646  */
4766
     break;
4767
 
4768
   case 609:
4769
-#line 5032 "parse.y" /* yacc.c:1646  */
4770
+#line 5024 "parse.y" /* yacc.c:1646  */
4771
     {
4772
 		    /*%%%*/
4773
 			if (nd_type((yyvsp[-2].node)) == NODE_STR) {
4774
@@ -10886,11 +10878,11 @@ yyreduce:
4775
 			$$ = dispatch2(assoc_new, $1, $3);
4776
 		    %*/
4777
 		    }
4778
-#line 10886 "parse.c" /* yacc.c:1646  */
4779
+#line 10878 "parse.c" /* yacc.c:1646  */
4780
     break;
4781
 
4782
   case 610:
4783
-#line 5044 "parse.y" /* yacc.c:1646  */
4784
+#line 5036 "parse.y" /* yacc.c:1646  */
4785
     {
4786
 		    /*%%%*/
4787
 			(yyval.node) = list_append(new_list(new_lit(ID2SYM((yyvsp[-1].id)), &(yylsp[-1])), &(yyloc)), (yyvsp[0].node));
4788
@@ -10898,11 +10890,11 @@ yyreduce:
4789
 			$$ = dispatch2(assoc_new, $1, $2);
4790
 		    %*/
4791
 		    }
4792
-#line 10898 "parse.c" /* yacc.c:1646  */
4793
+#line 10890 "parse.c" /* yacc.c:1646  */
4794
     break;
4795
 
4796
   case 611:
4797
-#line 5052 "parse.y" /* yacc.c:1646  */
4798
+#line 5044 "parse.y" /* yacc.c:1646  */
4799
     {
4800
 		    /*%%%*/
4801
 			YYLTYPE location;
4802
@@ -10913,11 +10905,11 @@ yyreduce:
4803
 			$$ = dispatch2(assoc_new, dispatch1(dyna_symbol, $2), $4);
4804
 		    %*/
4805
 		    }
4806
-#line 10913 "parse.c" /* yacc.c:1646  */
4807
+#line 10905 "parse.c" /* yacc.c:1646  */
4808
     break;
4809
 
4810
   case 612:
4811
-#line 5063 "parse.y" /* yacc.c:1646  */
4812
+#line 5055 "parse.y" /* yacc.c:1646  */
4813
     {
4814
 		    /*%%%*/
4815
 			if (nd_type((yyvsp[0].node)) == NODE_HASH &&
4816
@@ -10929,61 +10921,61 @@ yyreduce:
4817
 			$$ = dispatch1(assoc_splat, $2);
4818
 		    %*/
4819
 		    }
4820
-#line 10929 "parse.c" /* yacc.c:1646  */
4821
+#line 10921 "parse.c" /* yacc.c:1646  */
4822
     break;
4823
 
4824
   case 625:
4825
-#line 5097 "parse.y" /* yacc.c:1646  */
4826
+#line 5089 "parse.y" /* yacc.c:1646  */
4827
     {
4828
 			(yyval.id) = TOKEN2VAL('.');
4829
 		    }
4830
-#line 10937 "parse.c" /* yacc.c:1646  */
4831
+#line 10929 "parse.c" /* yacc.c:1646  */
4832
     break;
4833
 
4834
   case 626:
4835
-#line 5101 "parse.y" /* yacc.c:1646  */
4836
+#line 5093 "parse.y" /* yacc.c:1646  */
4837
     {
4838
 			(yyval.id) = ID2VAL(idANDDOT);
4839
 		    }
4840
-#line 10945 "parse.c" /* yacc.c:1646  */
4841
+#line 10937 "parse.c" /* yacc.c:1646  */
4842
     break;
4843
 
4844
   case 628:
4845
-#line 5108 "parse.y" /* yacc.c:1646  */
4846
+#line 5100 "parse.y" /* yacc.c:1646  */
4847
     {
4848
 			(yyval.id) = ID2VAL(idCOLON2);
4849
 		    }
4850
-#line 10953 "parse.c" /* yacc.c:1646  */
4851
+#line 10945 "parse.c" /* yacc.c:1646  */
4852
     break;
4853
 
4854
   case 638:
4855
-#line 5132 "parse.y" /* yacc.c:1646  */
4856
+#line 5124 "parse.y" /* yacc.c:1646  */
4857
     {yyerrok;token_flush(parser);}
4858
-#line 10959 "parse.c" /* yacc.c:1646  */
4859
+#line 10951 "parse.c" /* yacc.c:1646  */
4860
     break;
4861
 
4862
   case 639:
4863
-#line 5133 "parse.y" /* yacc.c:1646  */
4864
+#line 5125 "parse.y" /* yacc.c:1646  */
4865
     {token_flush(parser);}
4866
-#line 10965 "parse.c" /* yacc.c:1646  */
4867
+#line 10957 "parse.c" /* yacc.c:1646  */
4868
     break;
4869
 
4870
   case 641:
4871
-#line 5137 "parse.y" /* yacc.c:1646  */
4872
+#line 5129 "parse.y" /* yacc.c:1646  */
4873
     {yyerrok;}
4874
-#line 10971 "parse.c" /* yacc.c:1646  */
4875
+#line 10963 "parse.c" /* yacc.c:1646  */
4876
     break;
4877
 
4878
   case 642:
4879
-#line 5141 "parse.y" /* yacc.c:1646  */
4880
+#line 5133 "parse.y" /* yacc.c:1646  */
4881
     {
4882
 			(yyval.node) = Qnull;
4883
 		    }
4884
-#line 10979 "parse.c" /* yacc.c:1646  */
4885
+#line 10971 "parse.c" /* yacc.c:1646  */
4886
     break;
4887
 
4888
 
4889
-#line 10983 "parse.c" /* yacc.c:1646  */
4890
+#line 10975 "parse.c" /* yacc.c:1646  */
4891
       default: break;
4892
     }
4893
   /* User semantic actions sometimes alter yychar, and that requires
4894
@@ -11218,7 +11210,7 @@ yyreturn:
4895
 #endif
4896
   return yyresult;
4897
 }
4898
-#line 5145 "parse.y" /* yacc.c:1906  */
4899
+#line 5137 "parse.y" /* yacc.c:1906  */
4900
 
4901
 # undef parser
4902
 # undef yylex
4903
@@ -16034,11 +16026,13 @@ assignable_gen(struct parser_params *parser, ID id, NO
4904
 #ifdef RIPPER
4905
     ID id = get_id(lhs);
4906
 # define assignable_result(x) (lhs)
4907
+# define assignable_error() (lhs)
4908
 # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs))
4909
 #else
4910
 # define assignable_result(x) assignable_result0(x, location)
4911
+# define assignable_error() new_begin(0, location)
4912
 #endif
4913
-    if (!id) return assignable_result(0);
4914
+    if (!id) return assignable_error();
4915
     switch (id) {
4916
       case keyword_self:
4917
 	yyerror0("Can't change the value of self");
4918
@@ -16101,7 +16095,7 @@ assignable_gen(struct parser_params *parser, ID id, NO
4919
 	compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id));
4920
     }
4921
   error:
4922
-    return assignable_result(0);
4923
+    return assignable_error();
4924
 #undef assignable_result
4925
 #undef parser_yyerror
4926
 }
(-)lang/ruby25/files/patch-parse.y (-45 lines)
Lines 1-45 Link Here
1
--- parse.y.orig	2017-12-21 06:52:15 UTC
2
+++ parse.y
3
@@ -1983,18 +1983,10 @@ mlhs_node	: user_variable
4
 lhs		: user_variable
5
 		    {
6
 			$$ = assignable(var_field($1), 0, &@$);
7
-		    /*%%%*/
8
-			if (!$$) $$ = new_begin(0, &@$);
9
-		    /*%
10
-		    %*/
11
 		    }
12
 		| keyword_variable
13
 		    {
14
 			$$ = assignable(var_field($1), 0, &@$);
15
-		    /*%%%*/
16
-			if (!$$) $$ = new_begin(0, &@$);
17
-		    /*%
18
-		    %*/
19
 		    }
20
 		| primary_value '[' opt_call_args rbracket
21
 		    {
22
@@ -9957,11 +9949,13 @@ assignable_gen(struct parser_params *parser, ID id, NO
23
 #ifdef RIPPER
24
     ID id = get_id(lhs);
25
 # define assignable_result(x) (lhs)
26
+# define assignable_error() (lhs)
27
 # define parser_yyerror(parser, x) (lhs = assign_error_gen(parser, lhs))
28
 #else
29
 # define assignable_result(x) assignable_result0(x, location)
30
+# define assignable_error() new_begin(0, location)
31
 #endif
32
-    if (!id) return assignable_result(0);
33
+    if (!id) return assignable_error();
34
     switch (id) {
35
       case keyword_self:
36
 	yyerror0("Can't change the value of self");
37
@@ -10024,7 +10018,7 @@ assignable_gen(struct parser_params *parser, ID id, NO
38
 	compile_error(PARSER_ARG "identifier %"PRIsVALUE" is not valid to set", rb_id2str(id));
39
     }
40
   error:
41
-    return assignable_result(0);
42
+    return assignable_error();
43
 #undef assignable_result
44
 #undef parser_yyerror
45
 }
(-)lang/ruby25/files/patch-test_ruby_test__parse.rb (-15 lines)
Lines 1-15 Link Here
1
--- test/ruby/test_parse.rb.orig	2017-12-20 00:09:51 UTC
2
+++ test/ruby/test_parse.rb
3
@@ -746,6 +746,12 @@ x = __ENCODING__
4
         end
5
       END
6
     end
7
+    assert_raise(SyntaxError) do
8
+      eval "#{<<~"begin;"}\n#{<<~'end;'}", nil, __FILE__, __LINE__+1
9
+      begin;
10
+        x, true
11
+      end;
12
+    end
13
   end
14
 
15
   def test_block_dup
(-)lang/ruby25/pkg-plist (+6 lines)
Lines 6358-6363 Link Here
6358
%%RDOC%%%%RUBY_RIDIR%%/Exception/set_backtrace-i.ri
6358
%%RDOC%%%%RUBY_RIDIR%%/Exception/set_backtrace-i.ri
6359
%%RDOC%%%%RUBY_RIDIR%%/Exception/to_json-i.ri
6359
%%RDOC%%%%RUBY_RIDIR%%/Exception/to_json-i.ri
6360
%%RDOC%%%%RUBY_RIDIR%%/Exception/to_s-i.ri
6360
%%RDOC%%%%RUBY_RIDIR%%/Exception/to_s-i.ri
6361
%%RDOC%%%%RUBY_RIDIR%%/Exception/to_tty%3f-c.ri
6361
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/E2MM/cdesc-E2MM.ri
6362
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/E2MM/cdesc-E2MM.ri
6362
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/E2MM/e2mm_message-c.ri
6363
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/E2MM/e2mm_message-c.ri
6363
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/Fail-i.ri
6364
%%RDOC%%%%RUBY_RIDIR%%/Exception2MessageMapper/Fail-i.ri
Lines 7494-7499 Link Here
7494
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7495
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/header-i.ri
7495
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7496
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/new-c.ri
7496
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7497
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/oct-i.ri
7498
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/strict_oct-c.ri
7497
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7499
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarHeader/update_checksum-i.ri
7498
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7500
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarInvalidError/cdesc-TarInvalidError.ri
7499
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
7501
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/TarReader/Entry/bytes_read-i.ri
Lines 7568-7575 Link Here
7568
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7570
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/files-i.ri
7569
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7571
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/gzip_to-i.ri
7570
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7572
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/initialize-i.ri
7573
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/mkdir_p_safe-i.ri
7571
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7574
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/new-c.ri
7572
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7575
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/read_checksums-i.ri
7576
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/realpath-i.ri
7573
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7577
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/security_policy-i.ri
7574
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7578
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/setup_signer-i.ri
7575
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
7579
%%RDOC%%%%RUBY_RIDIR%%/Gem/Package/spec-i.ri
Lines 17235-17242 Link Here
17235
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17239
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d%3d-i.ri
17236
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17240
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/%5b%5d-i.ri
17237
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/ChunkedWrapper/cdesc-ChunkedWrapper.ri
17241
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/ChunkedWrapper/cdesc-ChunkedWrapper.ri
17242
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/InvalidHeader/cdesc-InvalidHeader.ri
17238
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17243
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/body-i.ri
17239
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17244
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/cdesc-HTTPResponse.ri
17245
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/check_header-i.ri
17240
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17246
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3d-i.ri
17241
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17247
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/chunked%3f-i.ri
17242
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri
17248
%%RDOC%%%%RUBY_RIDIR%%/WEBrick/HTTPResponse/config-i.ri

Return to bug 227055