summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-13 12:20:11 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-13 12:20:11 +0900
commit6dbf49fdb4a50e006b52fef202f1ec65b8d0e333 (patch)
tree9467cab58fa2ef549d0540d906363089dfda76d3 /mrbgems
parent100eac3fec17e630567f2088c818910fb7f63b64 (diff)
downloadmruby-6dbf49fdb4a50e006b52fef202f1ec65b8d0e333.tar.gz
mruby-6dbf49fdb4a50e006b52fef202f1ec65b8d0e333.zip
parse.y: `cons_free` unused node (empty string node).
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y12
-rw-r--r--mrbgems/mruby-compiler/core/y.tab.c2016
2 files changed, 1035 insertions, 993 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index d71e90176..637b04749 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -3326,6 +3326,9 @@ string_fragment : tCHAR
if (intn($3->cdr->cdr) > 0) {
n = push(n, $3);
}
+ else {
+ cons_free($3);
+ }
$$ = new_dstr(p, n);
}
;
@@ -3372,6 +3375,9 @@ xstring : tXSTRING_BEG tXSTRING
if (intn($3->cdr->cdr) > 0) {
n = push(n, $3);
}
+ else {
+ cons_free($3);
+ }
$$ = new_dxstr(p, n);
}
;
@@ -3439,6 +3445,9 @@ words : tWORDS_BEG tSTRING
if (intn($3->cdr->cdr) > 0) {
n = push(n, $3);
}
+ else {
+ cons_free($3);
+ }
$$ = new_words(p, n);
}
;
@@ -3456,6 +3465,9 @@ symbol : basic_symbol
if (intn($4->cdr->cdr) > 0) {
n = push(n, $4);
}
+ else {
+ cons_free($4);
+ }
$$ = new_dsym(p, new_dstr(p, n));
}
;
diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c
index 550529db4..2ae8890b6 100644
--- a/mrbgems/mruby-compiler/core/y.tab.c
+++ b/mrbgems/mruby-compiler/core/y.tab.c
@@ -1355,6 +1355,24 @@ var_reference(parser_state *p, node *lhs)
return lhs;
}
+static node*
+label_reference(parser_state *p, mrb_sym sym)
+{
+ const char *name = mrb_sym_name(p->mrb, sym);
+ node *n;
+
+ if (local_var_p(p, sym)) {
+ n = new_lvar(p, sym);
+ }
+ else if (ISUPPER(name[0])) {
+ n = new_const(p, sym);
+ }
+ else {
+ n = new_fcall(p, sym, 0);
+ }
+ return n;
+}
+
typedef enum mrb_string_type string_type;
static node*
@@ -1447,7 +1465,7 @@ heredoc_end(parser_state *p)
/* xxx ----------------------------- */
-#line 1451 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 1469 "mrbgems/mruby-compiler/core/y.tab.c"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -1619,7 +1637,7 @@ extern int yydebug;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 1393 "mrbgems/mruby-compiler/core/parse.y"
+#line 1411 "mrbgems/mruby-compiler/core/parse.y"
node *nd;
mrb_sym id;
@@ -1627,7 +1645,7 @@ union YYSTYPE
stack_type stack;
const struct vtable *vars;
-#line 1631 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 1649 "mrbgems/mruby-compiler/core/y.tab.c"
};
typedef union YYSTYPE YYSTYPE;
@@ -2013,67 +2031,67 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 1564, 1564, 1564, 1575, 1581, 1585, 1590, 1594, 1600,
- 1602, 1601, 1615, 1642, 1648, 1652, 1657, 1661, 1667, 1667,
- 1671, 1675, 1679, 1683, 1687, 1691, 1695, 1700, 1701, 1705,
- 1709, 1713, 1717, 1724, 1727, 1731, 1735, 1739, 1743, 1747,
- 1752, 1756, 1765, 1775, 1784, 1794, 1801, 1802, 1806, 1810,
- 1811, 1815, 1819, 1823, 1827, 1831, 1841, 1840, 1855, 1864,
- 1865, 1868, 1869, 1876, 1875, 1890, 1894, 1899, 1903, 1908,
- 1912, 1917, 1921, 1925, 1929, 1933, 1939, 1943, 1949, 1950,
- 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992,
- 1998, 1999, 2005, 2009, 2015, 2019, 2025, 2029, 2033, 2037,
- 2041, 2045, 2051, 2057, 2064, 2068, 2072, 2076, 2080, 2084,
- 2090, 2096, 2101, 2107, 2111, 2114, 2118, 2122, 2129, 2130,
- 2131, 2132, 2137, 2144, 2145, 2148, 2152, 2152, 2158, 2159,
- 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169,
- 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179,
- 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2190, 2190,
- 2190, 2191, 2191, 2192, 2192, 2192, 2193, 2193, 2193, 2193,
- 2194, 2194, 2194, 2195, 2195, 2195, 2196, 2196, 2196, 2196,
- 2197, 2197, 2197, 2197, 2198, 2198, 2198, 2198, 2199, 2199,
- 2199, 2199, 2200, 2200, 2200, 2200, 2201, 2201, 2204, 2208,
- 2212, 2216, 2220, 2224, 2228, 2233, 2238, 2243, 2247, 2251,
- 2255, 2259, 2263, 2267, 2271, 2275, 2279, 2283, 2287, 2291,
- 2295, 2299, 2303, 2307, 2311, 2315, 2319, 2323, 2327, 2331,
- 2335, 2339, 2343, 2347, 2351, 2355, 2359, 2363, 2367, 2371,
- 2375, 2379, 2383, 2387, 2391, 2400, 2410, 2419, 2429, 2435,
- 2436, 2441, 2445, 2452, 2456, 2464, 2468, 2484, 2510, 2511,
- 2514, 2515, 2516, 2521, 2526, 2533, 2539, 2544, 2549, 2554,
- 2561, 2561, 2572, 2578, 2582, 2588, 2591, 2597, 2603, 2608,
- 2615, 2620, 2625, 2632, 2633, 2634, 2635, 2636, 2637, 2638,
- 2639, 2643, 2648, 2647, 2659, 2663, 2658, 2668, 2668, 2672,
- 2676, 2680, 2684, 2689, 2694, 2698, 2702, 2706, 2710, 2714,
- 2715, 2721, 2727, 2720, 2739, 2747, 2755, 2755, 2755, 2762,
- 2762, 2762, 2769, 2775, 2780, 2782, 2779, 2791, 2789, 2807,
- 2812, 2805, 2829, 2827, 2843, 2853, 2864, 2868, 2872, 2876,
- 2882, 2889, 2890, 2891, 2894, 2895, 2898, 2899, 2907, 2908,
- 2914, 2918, 2921, 2925, 2929, 2933, 2938, 2942, 2946, 2950,
- 2956, 2955, 2965, 2969, 2973, 2977, 2983, 2988, 2993, 2997,
- 3001, 3005, 3009, 3013, 3017, 3021, 3025, 3029, 3033, 3037,
- 3041, 3045, 3049, 3055, 3060, 3067, 3067, 3071, 3076, 3083,
- 3087, 3093, 3094, 3097, 3102, 3105, 3109, 3115, 3119, 3126,
- 3125, 3140, 3150, 3154, 3159, 3166, 3170, 3174, 3178, 3182,
- 3186, 3190, 3194, 3198, 3205, 3204, 3219, 3218, 3234, 3242,
- 3251, 3254, 3261, 3264, 3268, 3269, 3272, 3276, 3279, 3283,
- 3286, 3287, 3288, 3289, 3292, 3293, 3299, 3300, 3301, 3305,
- 3315, 3316, 3322, 3327, 3326, 3337, 3341, 3347, 3351, 3361,
- 3365, 3371, 3374, 3375, 3378, 3384, 3390, 3391, 3394, 3401,
- 3400, 3414, 3418, 3429, 3434, 3445, 3451, 3452, 3453, 3454,
- 3455, 3459, 3465, 3469, 3479, 3480, 3481, 3485, 3491, 3495,
- 3499, 3503, 3507, 3513, 3517, 3523, 3527, 3531, 3535, 3539,
- 3543, 3551, 3558, 3569, 3570, 3574, 3578, 3577, 3594, 3595,
- 3598, 3604, 3622, 3642, 3643, 3649, 3655, 3661, 3668, 3673,
- 3680, 3684, 3690, 3694, 3700, 3701, 3704, 3708, 3714, 3718,
- 3722, 3726, 3732, 3737, 3742, 3746, 3750, 3754, 3758, 3762,
- 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3799, 3805,
- 3810, 3815, 3820, 3825, 3832, 3836, 3843, 3848, 3847, 3859,
- 3863, 3869, 3877, 3885, 3893, 3897, 3903, 3907, 3913, 3914,
- 3917, 3922, 3929, 3930, 3933, 3939, 3943, 3949, 3954, 3954,
- 3979, 3980, 3986, 3991, 3997, 4003, 4008, 4012, 4022, 4029,
- 4030, 4031, 4034, 4035, 4036, 4037, 4040, 4041, 4042, 4045,
- 4046, 4049, 4053, 4059, 4060, 4066, 4067, 4070, 4071, 4074,
- 4077, 4078, 4079, 4082, 4083, 4086, 4091, 4094, 4095, 4099
+ 0, 1582, 1582, 1582, 1593, 1599, 1603, 1608, 1612, 1618,
+ 1620, 1619, 1633, 1660, 1666, 1670, 1675, 1679, 1685, 1685,
+ 1689, 1693, 1697, 1701, 1705, 1709, 1713, 1718, 1719, 1723,
+ 1727, 1731, 1735, 1742, 1745, 1749, 1753, 1757, 1761, 1765,
+ 1770, 1774, 1783, 1793, 1802, 1812, 1819, 1820, 1824, 1828,
+ 1829, 1833, 1837, 1841, 1845, 1849, 1859, 1858, 1873, 1882,
+ 1883, 1886, 1887, 1894, 1893, 1908, 1912, 1917, 1921, 1926,
+ 1930, 1935, 1939, 1943, 1947, 1951, 1957, 1961, 1967, 1968,
+ 1974, 1978, 1982, 1986, 1990, 1994, 1998, 2002, 2006, 2010,
+ 2016, 2017, 2023, 2027, 2033, 2037, 2043, 2047, 2051, 2055,
+ 2059, 2063, 2069, 2075, 2082, 2086, 2090, 2094, 2098, 2102,
+ 2108, 2114, 2119, 2125, 2129, 2132, 2136, 2140, 2147, 2148,
+ 2149, 2150, 2155, 2162, 2163, 2166, 2170, 2170, 2176, 2177,
+ 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187,
+ 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197,
+ 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2208, 2208,
+ 2208, 2209, 2209, 2210, 2210, 2210, 2211, 2211, 2211, 2211,
+ 2212, 2212, 2212, 2213, 2213, 2213, 2214, 2214, 2214, 2214,
+ 2215, 2215, 2215, 2215, 2216, 2216, 2216, 2216, 2217, 2217,
+ 2217, 2217, 2218, 2218, 2218, 2218, 2219, 2219, 2222, 2226,
+ 2230, 2234, 2238, 2242, 2246, 2251, 2256, 2261, 2265, 2269,
+ 2273, 2277, 2281, 2285, 2289, 2293, 2297, 2301, 2305, 2309,
+ 2313, 2317, 2321, 2325, 2329, 2333, 2337, 2341, 2345, 2349,
+ 2353, 2357, 2361, 2365, 2369, 2373, 2377, 2381, 2385, 2389,
+ 2393, 2397, 2401, 2405, 2409, 2418, 2428, 2437, 2447, 2453,
+ 2454, 2459, 2463, 2470, 2474, 2482, 2486, 2502, 2528, 2529,
+ 2532, 2533, 2534, 2539, 2544, 2551, 2557, 2562, 2567, 2572,
+ 2579, 2579, 2590, 2596, 2600, 2606, 2609, 2615, 2621, 2626,
+ 2633, 2638, 2643, 2650, 2651, 2652, 2653, 2654, 2655, 2656,
+ 2657, 2661, 2666, 2665, 2677, 2681, 2676, 2686, 2686, 2690,
+ 2694, 2698, 2702, 2707, 2712, 2716, 2720, 2724, 2728, 2732,
+ 2733, 2739, 2745, 2738, 2757, 2765, 2773, 2773, 2773, 2780,
+ 2780, 2780, 2787, 2793, 2798, 2800, 2797, 2809, 2807, 2825,
+ 2830, 2823, 2847, 2845, 2861, 2871, 2882, 2886, 2890, 2894,
+ 2900, 2907, 2908, 2909, 2912, 2913, 2916, 2917, 2925, 2926,
+ 2932, 2936, 2939, 2943, 2947, 2951, 2956, 2960, 2964, 2968,
+ 2974, 2973, 2983, 2987, 2991, 2995, 3001, 3006, 3011, 3015,
+ 3019, 3023, 3027, 3031, 3035, 3039, 3043, 3047, 3051, 3055,
+ 3059, 3063, 3067, 3073, 3078, 3085, 3085, 3089, 3094, 3101,
+ 3105, 3111, 3112, 3115, 3120, 3123, 3127, 3133, 3137, 3144,
+ 3143, 3158, 3168, 3172, 3177, 3184, 3188, 3192, 3196, 3200,
+ 3204, 3208, 3212, 3216, 3223, 3222, 3237, 3236, 3252, 3260,
+ 3269, 3272, 3279, 3282, 3286, 3287, 3290, 3294, 3297, 3301,
+ 3304, 3305, 3306, 3307, 3310, 3311, 3317, 3318, 3319, 3323,
+ 3336, 3337, 3343, 3348, 3347, 3358, 3362, 3368, 3372, 3385,
+ 3389, 3395, 3398, 3399, 3402, 3408, 3414, 3415, 3418, 3425,
+ 3424, 3438, 3442, 3456, 3461, 3475, 3481, 3482, 3483, 3484,
+ 3485, 3489, 3495, 3499, 3509, 3510, 3511, 3515, 3521, 3525,
+ 3529, 3533, 3537, 3543, 3547, 3553, 3557, 3561, 3565, 3569,
+ 3573, 3581, 3588, 3599, 3600, 3604, 3608, 3607, 3624, 3625,
+ 3628, 3634, 3652, 3672, 3673, 3679, 3685, 3691, 3698, 3703,
+ 3710, 3714, 3720, 3724, 3730, 3731, 3734, 3738, 3744, 3748,
+ 3752, 3756, 3762, 3767, 3772, 3776, 3780, 3784, 3788, 3792,
+ 3796, 3800, 3804, 3808, 3812, 3816, 3820, 3824, 3829, 3835,
+ 3840, 3845, 3850, 3855, 3862, 3866, 3873, 3878, 3877, 3889,
+ 3893, 3899, 3907, 3915, 3923, 3927, 3933, 3937, 3943, 3944,
+ 3947, 3952, 3959, 3960, 3963, 3969, 3973, 3979, 3984, 3984,
+ 4009, 4010, 4016, 4021, 4027, 4033, 4038, 4042, 4052, 4059,
+ 4060, 4061, 4064, 4065, 4066, 4067, 4070, 4071, 4072, 4075,
+ 4076, 4079, 4083, 4089, 4090, 4096, 4097, 4100, 4101, 4104,
+ 4107, 4108, 4109, 4112, 4113, 4116, 4121, 4124, 4125, 4129
};
#endif
@@ -5996,86 +6014,86 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 1564 "mrbgems/mruby-compiler/core/parse.y"
+#line 1582 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_BEG;
if (!p->locals) p->locals = cons(0,0);
}
-#line 6005 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6023 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 3:
-#line 1569 "mrbgems/mruby-compiler/core/parse.y"
+#line 1587 "mrbgems/mruby-compiler/core/parse.y"
{
p->tree = new_scope(p, (yyvsp[0].nd));
NODE_LINENO(p->tree, (yyvsp[0].nd));
}
-#line 6014 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6032 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 4:
-#line 1576 "mrbgems/mruby-compiler/core/parse.y"
+#line 1594 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 6022 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6040 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 5:
-#line 1582 "mrbgems/mruby-compiler/core/parse.y"
+#line 1600 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, 0);
}
-#line 6030 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6048 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 6:
-#line 1586 "mrbgems/mruby-compiler/core/parse.y"
+#line 1604 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 6039 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6057 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 7:
-#line 1591 "mrbgems/mruby-compiler/core/parse.y"
+#line 1609 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd)));
}
-#line 6047 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6065 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 8:
-#line 1595 "mrbgems/mruby-compiler/core/parse.y"
+#line 1613 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, 0);
}
-#line 6055 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6073 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 10:
-#line 1602 "mrbgems/mruby-compiler/core/parse.y"
+#line 1620 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = local_switch(p);
nvars_block(p);
}
-#line 6064 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6082 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 11:
-#line 1607 "mrbgems/mruby-compiler/core/parse.y"
+#line 1625 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "BEGIN not supported");
local_resume(p, (yyvsp[-3].nd));
nvars_unnest(p);
(yyval.nd) = 0;
}
-#line 6075 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6093 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 12:
-#line 1619 "mrbgems/mruby-compiler/core/parse.y"
+#line 1637 "mrbgems/mruby-compiler/core/parse.y"
{
if ((yyvsp[-2].nd)) {
(yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd));
@@ -6097,223 +6115,223 @@ yyreduce:
}
}
}
-#line 6101 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6119 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 13:
-#line 1643 "mrbgems/mruby-compiler/core/parse.y"
+#line 1661 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 6109 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6127 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 14:
-#line 1649 "mrbgems/mruby-compiler/core/parse.y"
+#line 1667 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, 0);
}
-#line 6117 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6135 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 15:
-#line 1653 "mrbgems/mruby-compiler/core/parse.y"
+#line 1671 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 6126 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6144 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 16:
-#line 1658 "mrbgems/mruby-compiler/core/parse.y"
+#line 1676 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd)));
}
-#line 6134 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6152 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 17:
-#line 1662 "mrbgems/mruby-compiler/core/parse.y"
+#line 1680 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_begin(p, (yyvsp[0].nd));
}
-#line 6142 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6160 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 18:
-#line 1667 "mrbgems/mruby-compiler/core/parse.y"
+#line 1685 "mrbgems/mruby-compiler/core/parse.y"
{p->lstate = EXPR_FNAME;}
-#line 6148 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6166 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 19:
-#line 1668 "mrbgems/mruby-compiler/core/parse.y"
+#line 1686 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id));
}
-#line 6156 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6174 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 20:
-#line 1672 "mrbgems/mruby-compiler/core/parse.y"
+#line 1690 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 6164 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6182 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 21:
-#line 1676 "mrbgems/mruby-compiler/core/parse.y"
+#line 1694 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0);
}
-#line 6172 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6190 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 22:
-#line 1680 "mrbgems/mruby-compiler/core/parse.y"
+#line 1698 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_unless(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0);
}
-#line 6180 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6198 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 23:
-#line 1684 "mrbgems/mruby-compiler/core/parse.y"
+#line 1702 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd));
}
-#line 6188 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6206 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 24:
-#line 1688 "mrbgems/mruby-compiler/core/parse.y"
+#line 1706 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd));
}
-#line 6196 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6214 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 25:
-#line 1692 "mrbgems/mruby-compiler/core/parse.y"
+#line 1710 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6204 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6222 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 26:
-#line 1696 "mrbgems/mruby-compiler/core/parse.y"
+#line 1714 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "END not supported");
(yyval.nd) = new_postexe(p, (yyvsp[-1].nd));
}
-#line 6213 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6231 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 28:
-#line 1702 "mrbgems/mruby-compiler/core/parse.y"
+#line 1720 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6221 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6239 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 29:
-#line 1706 "mrbgems/mruby-compiler/core/parse.y"
+#line 1724 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd)));
}
-#line 6229 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6247 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 30:
-#line 1710 "mrbgems/mruby-compiler/core/parse.y"
+#line 1728 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6237 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6255 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 31:
-#line 1714 "mrbgems/mruby-compiler/core/parse.y"
+#line 1732 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd)));
}
-#line 6245 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6263 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 32:
-#line 1718 "mrbgems/mruby-compiler/core/parse.y"
+#line 1736 "mrbgems/mruby-compiler/core/parse.y"
{
node *lhs = new_lvar(p, (yyvsp[0].id));
void_expr_error(p, (yyvsp[-2].nd));
assignable(p, lhs);
(yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd));
}
-#line 6256 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6274 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 34:
-#line 1728 "mrbgems/mruby-compiler/core/parse.y"
+#line 1746 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6264 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6282 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 35:
-#line 1732 "mrbgems/mruby-compiler/core/parse.y"
+#line 1750 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6272 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6290 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 36:
-#line 1736 "mrbgems/mruby-compiler/core/parse.y"
+#line 1754 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6280 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6298 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 37:
-#line 1740 "mrbgems/mruby-compiler/core/parse.y"
+#line 1758 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6288 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6306 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 38:
-#line 1744 "mrbgems/mruby-compiler/core/parse.y"
+#line 1762 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6296 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6314 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 39:
-#line 1748 "mrbgems/mruby-compiler/core/parse.y"
+#line 1766 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "constant re-assignment");
(yyval.nd) = 0;
}
-#line 6305 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6323 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 40:
-#line 1753 "mrbgems/mruby-compiler/core/parse.y"
+#line 1771 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6313 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6331 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 41:
-#line 1757 "mrbgems/mruby-compiler/core/parse.y"
+#line 1775 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
endless_method_name(p, (yyvsp[-3].nd));
@@ -6322,11 +6340,11 @@ yyreduce:
nvars_unnest(p);
p->in_def--;
}
-#line 6326 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6344 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 42:
-#line 1766 "mrbgems/mruby-compiler/core/parse.y"
+#line 1784 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-5].nd);
endless_method_name(p, (yyvsp[-5].nd));
@@ -6336,11 +6354,11 @@ yyreduce:
nvars_unnest(p);
p->in_def--;
}
-#line 6340 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6358 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 43:
-#line 1776 "mrbgems/mruby-compiler/core/parse.y"
+#line 1794 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
void_expr_error(p, (yyvsp[0].nd));
@@ -6349,11 +6367,11 @@ yyreduce:
p->in_def--;
p->in_single--;
}
-#line 6353 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6371 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 44:
-#line 1785 "mrbgems/mruby-compiler/core/parse.y"
+#line 1803 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-5].nd);
void_expr_error(p, (yyvsp[-2].nd));
@@ -6363,79 +6381,79 @@ yyreduce:
p->in_def--;
p->in_single--;
}
-#line 6367 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6385 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 45:
-#line 1795 "mrbgems/mruby-compiler/core/parse.y"
+#line 1813 "mrbgems/mruby-compiler/core/parse.y"
{
backref_error(p, (yyvsp[-2].nd));
(yyval.nd) = new_begin(p, 0);
}
-#line 6376 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6394 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 47:
-#line 1803 "mrbgems/mruby-compiler/core/parse.y"
+#line 1821 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6384 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6402 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 50:
-#line 1812 "mrbgems/mruby-compiler/core/parse.y"
+#line 1830 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6392 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6410 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 51:
-#line 1816 "mrbgems/mruby-compiler/core/parse.y"
+#line 1834 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6400 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6418 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 52:
-#line 1820 "mrbgems/mruby-compiler/core/parse.y"
+#line 1838 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!");
}
-#line 6408 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6426 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 53:
-#line 1824 "mrbgems/mruby-compiler/core/parse.y"
+#line 1842 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!");
}
-#line 6416 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6434 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 55:
-#line 1832 "mrbgems/mruby-compiler/core/parse.y"
+#line 1850 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_def(p, (yyvsp[0].id), nint(p->cmdarg_stack), local_switch(p));
p->cmdarg_stack = 0;
p->in_def++;
nvars_block(p);
}
-#line 6427 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6445 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 56:
-#line 1841 "mrbgems/mruby-compiler/core/parse.y"
+#line 1859 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_FNAME;
}
-#line 6435 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6453 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 57:
-#line 1845 "mrbgems/mruby-compiler/core/parse.y"
+#line 1863 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id), nint(p->cmdarg_stack), local_switch(p));
p->cmdarg_stack = 0;
@@ -6444,1054 +6462,1054 @@ yyreduce:
nvars_block(p);
p->lstate = EXPR_ENDFN; /* force for args */
}
-#line 6448 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6466 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 58:
-#line 1856 "mrbgems/mruby-compiler/core/parse.y"
+#line 1874 "mrbgems/mruby-compiler/core/parse.y"
{
if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p);
else {
(yyval.nd) = (yyvsp[0].nd);
}
}
-#line 6459 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6477 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 62:
-#line 1870 "mrbgems/mruby-compiler/core/parse.y"
+#line 1888 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num));
}
-#line 6467 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6485 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 63:
-#line 1876 "mrbgems/mruby-compiler/core/parse.y"
+#line 1894 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
nvars_nest(p);
}
-#line 6476 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6494 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 64:
-#line 1883 "mrbgems/mruby-compiler/core/parse.y"
+#line 1901 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd));
local_unnest(p);
nvars_unnest(p);
}
-#line 6486 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6504 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 65:
-#line 1891 "mrbgems/mruby-compiler/core/parse.y"
+#line 1909 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 6494 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6512 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 66:
-#line 1895 "mrbgems/mruby-compiler/core/parse.y"
+#line 1913 "mrbgems/mruby-compiler/core/parse.y"
{
args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd));
(yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd));
}
-#line 6503 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6521 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 67:
-#line 1900 "mrbgems/mruby-compiler/core/parse.y"
+#line 1918 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num));
}
-#line 6511 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6529 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 68:
-#line 1904 "mrbgems/mruby-compiler/core/parse.y"
+#line 1922 "mrbgems/mruby-compiler/core/parse.y"
{
args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd));
(yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num));
}
-#line 6520 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6538 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 69:
-#line 1909 "mrbgems/mruby-compiler/core/parse.y"
+#line 1927 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2);
}
-#line 6528 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6546 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 70:
-#line 1913 "mrbgems/mruby-compiler/core/parse.y"
+#line 1931 "mrbgems/mruby-compiler/core/parse.y"
{
args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd));
(yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), tCOLON2);
}
-#line 6537 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6555 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 71:
-#line 1918 "mrbgems/mruby-compiler/core/parse.y"
+#line 1936 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_super(p, (yyvsp[0].nd));
}
-#line 6545 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6563 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 72:
-#line 1922 "mrbgems/mruby-compiler/core/parse.y"
+#line 1940 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_yield(p, (yyvsp[0].nd));
}
-#line 6553 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6571 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 73:
-#line 1926 "mrbgems/mruby-compiler/core/parse.y"
+#line 1944 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd)));
}
-#line 6561 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6579 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 74:
-#line 1930 "mrbgems/mruby-compiler/core/parse.y"
+#line 1948 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd)));
}
-#line 6569 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6587 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 75:
-#line 1934 "mrbgems/mruby-compiler/core/parse.y"
+#line 1952 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd)));
}
-#line 6577 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6595 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 76:
-#line 1940 "mrbgems/mruby-compiler/core/parse.y"
+#line 1958 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 6585 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6603 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 77:
-#line 1944 "mrbgems/mruby-compiler/core/parse.y"
+#line 1962 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 6593 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6611 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 79:
-#line 1951 "mrbgems/mruby-compiler/core/parse.y"
+#line 1969 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 6601 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6619 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 80:
-#line 1957 "mrbgems/mruby-compiler/core/parse.y"
+#line 1975 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 6609 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6627 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 81:
-#line 1961 "mrbgems/mruby-compiler/core/parse.y"
+#line 1979 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd)));
}
-#line 6617 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6635 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 82:
-#line 1965 "mrbgems/mruby-compiler/core/parse.y"
+#line 1983 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6625 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6643 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 83:
-#line 1969 "mrbgems/mruby-compiler/core/parse.y"
+#line 1987 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6633 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6651 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 84:
-#line 1973 "mrbgems/mruby-compiler/core/parse.y"
+#line 1991 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list2((yyvsp[-1].nd), new_nil(p));
}
-#line 6641 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6659 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 85:
-#line 1977 "mrbgems/mruby-compiler/core/parse.y"
+#line 1995 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd));
}
-#line 6649 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6667 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 86:
-#line 1981 "mrbgems/mruby-compiler/core/parse.y"
+#line 1999 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list2(0, (yyvsp[0].nd));
}
-#line 6657 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6675 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 87:
-#line 1985 "mrbgems/mruby-compiler/core/parse.y"
+#line 2003 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 6665 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6683 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 88:
-#line 1989 "mrbgems/mruby-compiler/core/parse.y"
+#line 2007 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list2(0, new_nil(p));
}
-#line 6673 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6691 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 89:
-#line 1993 "mrbgems/mruby-compiler/core/parse.y"
+#line 2011 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd));
}
-#line 6681 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6699 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 91:
-#line 2000 "mrbgems/mruby-compiler/core/parse.y"
+#line 2018 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL);
}
-#line 6689 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6707 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 92:
-#line 2006 "mrbgems/mruby-compiler/core/parse.y"
+#line 2024 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[-1].nd));
}
-#line 6697 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6715 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 93:
-#line 2010 "mrbgems/mruby-compiler/core/parse.y"
+#line 2028 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd));
}
-#line 6705 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6723 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 94:
-#line 2016 "mrbgems/mruby-compiler/core/parse.y"
+#line 2034 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 6713 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6731 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 95:
-#line 2020 "mrbgems/mruby-compiler/core/parse.y"
+#line 2038 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 6721 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6739 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 96:
-#line 2026 "mrbgems/mruby-compiler/core/parse.y"
+#line 2044 "mrbgems/mruby-compiler/core/parse.y"
{
assignable(p, (yyvsp[0].nd));
}
-#line 6729 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6747 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 97:
-#line 2030 "mrbgems/mruby-compiler/core/parse.y"
+#line 2048 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.');
}
-#line 6737 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6755 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 98:
-#line 2034 "mrbgems/mruby-compiler/core/parse.y"
+#line 2052 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num));
}
-#line 6745 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6763 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 99:
-#line 2038 "mrbgems/mruby-compiler/core/parse.y"
+#line 2056 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2);
}
-#line 6753 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6771 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 100:
-#line 2042 "mrbgems/mruby-compiler/core/parse.y"
+#line 2060 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num));
}
-#line 6761 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6779 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 101:
-#line 2046 "mrbgems/mruby-compiler/core/parse.y"
+#line 2064 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "dynamic constant assignment");
(yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id));
}
-#line 6771 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6789 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 102:
-#line 2052 "mrbgems/mruby-compiler/core/parse.y"
+#line 2070 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "dynamic constant assignment");
(yyval.nd) = new_colon3(p, (yyvsp[0].id));
}
-#line 6781 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6799 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 103:
-#line 2058 "mrbgems/mruby-compiler/core/parse.y"
+#line 2076 "mrbgems/mruby-compiler/core/parse.y"
{
backref_error(p, (yyvsp[0].nd));
(yyval.nd) = 0;
}
-#line 6790 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6808 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 104:
-#line 2065 "mrbgems/mruby-compiler/core/parse.y"
+#line 2083 "mrbgems/mruby-compiler/core/parse.y"
{
assignable(p, (yyvsp[0].nd));
}
-#line 6798 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6816 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 105:
-#line 2069 "mrbgems/mruby-compiler/core/parse.y"
+#line 2087 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.');
}
-#line 6806 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6824 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 106:
-#line 2073 "mrbgems/mruby-compiler/core/parse.y"
+#line 2091 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num));
}
-#line 6814 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6832 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 107:
-#line 2077 "mrbgems/mruby-compiler/core/parse.y"
+#line 2095 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2);
}
-#line 6822 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6840 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 108:
-#line 2081 "mrbgems/mruby-compiler/core/parse.y"
+#line 2099 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num));
}
-#line 6830 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6848 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 109:
-#line 2085 "mrbgems/mruby-compiler/core/parse.y"
+#line 2103 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "dynamic constant assignment");
(yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id));
}
-#line 6840 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6858 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 110:
-#line 2091 "mrbgems/mruby-compiler/core/parse.y"
+#line 2109 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "dynamic constant assignment");
(yyval.nd) = new_colon3(p, (yyvsp[0].id));
}
-#line 6850 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6868 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 111:
-#line 2097 "mrbgems/mruby-compiler/core/parse.y"
+#line 2115 "mrbgems/mruby-compiler/core/parse.y"
{
backref_error(p, (yyvsp[0].nd));
(yyval.nd) = 0;
}
-#line 6859 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6877 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 112:
-#line 2102 "mrbgems/mruby-compiler/core/parse.y"
+#line 2120 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "can't assign to numbered parameter");
}
-#line 6867 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6885 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 113:
-#line 2108 "mrbgems/mruby-compiler/core/parse.y"
+#line 2126 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "class/module name must be CONSTANT");
}
-#line 6875 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6893 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 115:
-#line 2115 "mrbgems/mruby-compiler/core/parse.y"
+#line 2133 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(nint(1), nsym((yyvsp[0].id)));
}
-#line 6883 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6901 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 116:
-#line 2119 "mrbgems/mruby-compiler/core/parse.y"
+#line 2137 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(nint(0), nsym((yyvsp[0].id)));
}
-#line 6891 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6909 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 117:
-#line 2123 "mrbgems/mruby-compiler/core/parse.y"
+#line 2141 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[-2].nd));
(yyval.nd) = cons((yyvsp[-2].nd), nsym((yyvsp[0].id)));
}
-#line 6900 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6918 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 121:
-#line 2133 "mrbgems/mruby-compiler/core/parse.y"
+#line 2151 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_ENDFN;
(yyval.id) = (yyvsp[0].id);
}
-#line 6909 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6927 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 122:
-#line 2138 "mrbgems/mruby-compiler/core/parse.y"
+#line 2156 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_ENDFN;
(yyval.id) = (yyvsp[0].id);
}
-#line 6918 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6936 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 125:
-#line 2149 "mrbgems/mruby-compiler/core/parse.y"
+#line 2167 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_undef(p, (yyvsp[0].id));
}
-#line 6926 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6944 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 126:
-#line 2152 "mrbgems/mruby-compiler/core/parse.y"
+#line 2170 "mrbgems/mruby-compiler/core/parse.y"
{p->lstate = EXPR_FNAME;}
-#line 6932 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6950 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 127:
-#line 2153 "mrbgems/mruby-compiler/core/parse.y"
+#line 2171 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-3].nd), nsym((yyvsp[0].id)));
}
-#line 6940 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6958 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 128:
-#line 2158 "mrbgems/mruby-compiler/core/parse.y"
+#line 2176 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(or); }
-#line 6946 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6964 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 129:
-#line 2159 "mrbgems/mruby-compiler/core/parse.y"
+#line 2177 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(xor); }
-#line 6952 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6970 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 130:
-#line 2160 "mrbgems/mruby-compiler/core/parse.y"
+#line 2178 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(and); }
-#line 6958 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6976 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 131:
-#line 2161 "mrbgems/mruby-compiler/core/parse.y"
+#line 2179 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(cmp); }
-#line 6964 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6982 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 132:
-#line 2162 "mrbgems/mruby-compiler/core/parse.y"
+#line 2180 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(eq); }
-#line 6970 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6988 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 133:
-#line 2163 "mrbgems/mruby-compiler/core/parse.y"
+#line 2181 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(eqq); }
-#line 6976 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 6994 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 134:
-#line 2164 "mrbgems/mruby-compiler/core/parse.y"
+#line 2182 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(match); }
-#line 6982 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7000 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 135:
-#line 2165 "mrbgems/mruby-compiler/core/parse.y"
+#line 2183 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(nmatch); }
-#line 6988 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7006 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 136:
-#line 2166 "mrbgems/mruby-compiler/core/parse.y"
+#line 2184 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(gt); }
-#line 6994 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7012 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 137:
-#line 2167 "mrbgems/mruby-compiler/core/parse.y"
+#line 2185 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(ge); }
-#line 7000 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7018 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 138:
-#line 2168 "mrbgems/mruby-compiler/core/parse.y"
+#line 2186 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(lt); }
-#line 7006 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7024 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 139:
-#line 2169 "mrbgems/mruby-compiler/core/parse.y"
+#line 2187 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(le); }
-#line 7012 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7030 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 140:
-#line 2170 "mrbgems/mruby-compiler/core/parse.y"
+#line 2188 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(neq); }
-#line 7018 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7036 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 141:
-#line 2171 "mrbgems/mruby-compiler/core/parse.y"
+#line 2189 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(lshift); }
-#line 7024 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7042 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 142:
-#line 2172 "mrbgems/mruby-compiler/core/parse.y"
+#line 2190 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(rshift); }
-#line 7030 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7048 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 143:
-#line 2173 "mrbgems/mruby-compiler/core/parse.y"
+#line 2191 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(add); }
-#line 7036 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7054 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 144:
-#line 2174 "mrbgems/mruby-compiler/core/parse.y"
+#line 2192 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(sub); }
-#line 7042 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7060 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 145:
-#line 2175 "mrbgems/mruby-compiler/core/parse.y"
+#line 2193 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(mul); }
-#line 7048 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7066 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 146:
-#line 2176 "mrbgems/mruby-compiler/core/parse.y"
+#line 2194 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(mul); }
-#line 7054 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7072 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 147:
-#line 2177 "mrbgems/mruby-compiler/core/parse.y"
+#line 2195 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(div); }
-#line 7060 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7078 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 148:
-#line 2178 "mrbgems/mruby-compiler/core/parse.y"
+#line 2196 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(mod); }
-#line 7066 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7084 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 149:
-#line 2179 "mrbgems/mruby-compiler/core/parse.y"
+#line 2197 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(pow); }
-#line 7072 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7090 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 150:
-#line 2180 "mrbgems/mruby-compiler/core/parse.y"
+#line 2198 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(pow); }
-#line 7078 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7096 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 151:
-#line 2181 "mrbgems/mruby-compiler/core/parse.y"
+#line 2199 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(not); }
-#line 7084 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7102 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 152:
-#line 2182 "mrbgems/mruby-compiler/core/parse.y"
+#line 2200 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(neg); }
-#line 7090 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7108 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 153:
-#line 2183 "mrbgems/mruby-compiler/core/parse.y"
+#line 2201 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(plus); }
-#line 7096 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7114 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 154:
-#line 2184 "mrbgems/mruby-compiler/core/parse.y"
+#line 2202 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(minus); }
-#line 7102 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7120 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 155:
-#line 2185 "mrbgems/mruby-compiler/core/parse.y"
+#line 2203 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(aref); }
-#line 7108 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7126 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 156:
-#line 2186 "mrbgems/mruby-compiler/core/parse.y"
+#line 2204 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(aset); }
-#line 7114 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7132 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 157:
-#line 2187 "mrbgems/mruby-compiler/core/parse.y"
+#line 2205 "mrbgems/mruby-compiler/core/parse.y"
{ (yyval.id) = intern_op(tick); }
-#line 7120 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7138 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 198:
-#line 2205 "mrbgems/mruby-compiler/core/parse.y"
+#line 2223 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7128 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7146 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 199:
-#line 2209 "mrbgems/mruby-compiler/core/parse.y"
+#line 2227 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 7136 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7154 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 200:
-#line 2213 "mrbgems/mruby-compiler/core/parse.y"
+#line 2231 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 7144 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7162 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 201:
-#line 2217 "mrbgems/mruby-compiler/core/parse.y"
+#line 2235 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 7152 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7170 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 202:
-#line 2221 "mrbgems/mruby-compiler/core/parse.y"
+#line 2239 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 7160 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7178 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 203:
-#line 2225 "mrbgems/mruby-compiler/core/parse.y"
+#line 2243 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 7168 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7186 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 204:
-#line 2229 "mrbgems/mruby-compiler/core/parse.y"
+#line 2247 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "constant re-assignment");
(yyval.nd) = new_begin(p, 0);
}
-#line 7177 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7195 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 205:
-#line 2234 "mrbgems/mruby-compiler/core/parse.y"
+#line 2252 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "constant re-assignment");
(yyval.nd) = new_begin(p, 0);
}
-#line 7186 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7204 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 206:
-#line 2239 "mrbgems/mruby-compiler/core/parse.y"
+#line 2257 "mrbgems/mruby-compiler/core/parse.y"
{
backref_error(p, (yyvsp[-2].nd));
(yyval.nd) = new_begin(p, 0);
}
-#line 7195 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7213 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 207:
-#line 2244 "mrbgems/mruby-compiler/core/parse.y"
+#line 2262 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7203 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7221 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 208:
-#line 2248 "mrbgems/mruby-compiler/core/parse.y"
+#line 2266 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p));
}
-#line 7211 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7229 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 209:
-#line 2252 "mrbgems/mruby-compiler/core/parse.y"
+#line 2270 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd));
}
-#line 7219 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7237 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 210:
-#line 2256 "mrbgems/mruby-compiler/core/parse.y"
+#line 2274 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7227 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7245 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 211:
-#line 2260 "mrbgems/mruby-compiler/core/parse.y"
+#line 2278 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p));
}
-#line 7235 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7253 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 212:
-#line 2264 "mrbgems/mruby-compiler/core/parse.y"
+#line 2282 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd));
}
-#line 7243 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7261 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 213:
-#line 2268 "mrbgems/mruby-compiler/core/parse.y"
+#line 2286 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd));
}
-#line 7251 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7269 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 214:
-#line 2272 "mrbgems/mruby-compiler/core/parse.y"
+#line 2290 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd));
}
-#line 7259 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7277 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 215:
-#line 2276 "mrbgems/mruby-compiler/core/parse.y"
+#line 2294 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd));
}
-#line 7267 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7285 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 216:
-#line 2280 "mrbgems/mruby-compiler/core/parse.y"
+#line 2298 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd));
}
-#line 7275 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7293 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 217:
-#line 2284 "mrbgems/mruby-compiler/core/parse.y"
+#line 2302 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd));
}
-#line 7283 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7301 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 218:
-#line 2288 "mrbgems/mruby-compiler/core/parse.y"
+#line 2306 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd));
}
-#line 7291 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7309 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 219:
-#line 2292 "mrbgems/mruby-compiler/core/parse.y"
+#line 2310 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)));
}
-#line 7299 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7317 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 220:
-#line 2296 "mrbgems/mruby-compiler/core/parse.y"
+#line 2314 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)));
}
-#line 7307 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7325 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 221:
-#line 2300 "mrbgems/mruby-compiler/core/parse.y"
+#line 2318 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@");
}
-#line 7315 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7333 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 222:
-#line 2304 "mrbgems/mruby-compiler/core/parse.y"
+#line 2322 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_negate(p, (yyvsp[0].nd));
}
-#line 7323 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7341 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 223:
-#line 2308 "mrbgems/mruby-compiler/core/parse.y"
+#line 2326 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd));
}
-#line 7331 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7349 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 224:
-#line 2312 "mrbgems/mruby-compiler/core/parse.y"
+#line 2330 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd));
}
-#line 7339 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7357 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 225:
-#line 2316 "mrbgems/mruby-compiler/core/parse.y"
+#line 2334 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd));
}
-#line 7347 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7365 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 226:
-#line 2320 "mrbgems/mruby-compiler/core/parse.y"
+#line 2338 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd));
}
-#line 7355 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7373 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 227:
-#line 2324 "mrbgems/mruby-compiler/core/parse.y"
+#line 2342 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd));
}
-#line 7363 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7381 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 228:
-#line 2328 "mrbgems/mruby-compiler/core/parse.y"
+#line 2346 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd));
}
-#line 7371 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7389 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 229:
-#line 2332 "mrbgems/mruby-compiler/core/parse.y"
+#line 2350 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd));
}
-#line 7379 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7397 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 230:
-#line 2336 "mrbgems/mruby-compiler/core/parse.y"
+#line 2354 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd));
}
-#line 7387 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7405 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 231:
-#line 2340 "mrbgems/mruby-compiler/core/parse.y"
+#line 2358 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd));
}
-#line 7395 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7413 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 232:
-#line 2344 "mrbgems/mruby-compiler/core/parse.y"
+#line 2362 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd));
}
-#line 7403 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7421 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 233:
-#line 2348 "mrbgems/mruby-compiler/core/parse.y"
+#line 2366 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd));
}
-#line 7411 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7429 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 234:
-#line 2352 "mrbgems/mruby-compiler/core/parse.y"
+#line 2370 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd));
}
-#line 7419 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7437 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 235:
-#line 2356 "mrbgems/mruby-compiler/core/parse.y"
+#line 2374 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd));
}
-#line 7427 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7445 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 236:
-#line 2360 "mrbgems/mruby-compiler/core/parse.y"
+#line 2378 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!");
}
-#line 7435 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7453 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 237:
-#line 2364 "mrbgems/mruby-compiler/core/parse.y"
+#line 2382 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~");
}
-#line 7443 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7461 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 238:
-#line 2368 "mrbgems/mruby-compiler/core/parse.y"
+#line 2386 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd));
}
-#line 7451 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7469 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 239:
-#line 2372 "mrbgems/mruby-compiler/core/parse.y"
+#line 2390 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd));
}
-#line 7459 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7477 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 240:
-#line 2376 "mrbgems/mruby-compiler/core/parse.y"
+#line 2394 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7467 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7485 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 241:
-#line 2380 "mrbgems/mruby-compiler/core/parse.y"
+#line 2398 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7475 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7493 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 242:
-#line 2384 "mrbgems/mruby-compiler/core/parse.y"
+#line 2402 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd));
}
-#line 7483 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7501 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 243:
-#line 2388 "mrbgems/mruby-compiler/core/parse.y"
+#line 2406 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd));
}
-#line 7491 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7509 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 244:
-#line 2392 "mrbgems/mruby-compiler/core/parse.y"
+#line 2410 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
endless_method_name(p, (yyvsp[-3].nd));
@@ -7500,11 +7518,11 @@ yyreduce:
nvars_unnest(p);
p->in_def--;
}
-#line 7504 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7522 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 245:
-#line 2401 "mrbgems/mruby-compiler/core/parse.y"
+#line 2419 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-5].nd);
endless_method_name(p, (yyvsp[-5].nd));
@@ -7514,11 +7532,11 @@ yyreduce:
nvars_unnest(p);
p->in_def--;
}
-#line 7518 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7536 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 246:
-#line 2411 "mrbgems/mruby-compiler/core/parse.y"
+#line 2429 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
void_expr_error(p, (yyvsp[0].nd));
@@ -7527,11 +7545,11 @@ yyreduce:
p->in_def--;
p->in_single--;
}
-#line 7531 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7549 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 247:
-#line 2420 "mrbgems/mruby-compiler/core/parse.y"
+#line 2438 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-5].nd);
void_expr_error(p, (yyvsp[-2].nd));
@@ -7541,71 +7559,71 @@ yyreduce:
p->in_def--;
p->in_single--;
}
-#line 7545 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7563 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 248:
-#line 2430 "mrbgems/mruby-compiler/core/parse.y"
+#line 2448 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 7553 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7571 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 250:
-#line 2437 "mrbgems/mruby-compiler/core/parse.y"
+#line 2455 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7562 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7580 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 251:
-#line 2442 "mrbgems/mruby-compiler/core/parse.y"
+#line 2460 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd)));
}
-#line 7570 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7588 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 252:
-#line 2446 "mrbgems/mruby-compiler/core/parse.y"
+#line 2464 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(new_kw_hash(p, (yyvsp[-1].nd)), 0);
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7579 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7597 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 253:
-#line 2453 "mrbgems/mruby-compiler/core/parse.y"
+#line 2471 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 7587 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7605 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 254:
-#line 2457 "mrbgems/mruby-compiler/core/parse.y"
+#line 2475 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[-2].nd));
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7597 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7615 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 255:
-#line 2465 "mrbgems/mruby-compiler/core/parse.y"
+#line 2483 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 7605 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7623 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 256:
-#line 2469 "mrbgems/mruby-compiler/core/parse.y"
+#line 2487 "mrbgems/mruby-compiler/core/parse.y"
{
#if 1
mrb_sym r = intern_op(mul);
@@ -7621,11 +7639,11 @@ yyreduce:
new_block_arg(p, new_lvar(p, b)));
#endif
}
-#line 7625 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7643 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 257:
-#line 2485 "mrbgems/mruby-compiler/core/parse.y"
+#line 2503 "mrbgems/mruby-compiler/core/parse.y"
{
#if 1
mrb_sym r = intern_op(mul);
@@ -7649,373 +7667,373 @@ yyreduce:
(yyval.nd) = 0;
}
}
-#line 7653 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7671 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 262:
-#line 2517 "mrbgems/mruby-compiler/core/parse.y"
+#line 2535 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons((yyvsp[-1].nd),0);
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7662 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7680 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 263:
-#line 2522 "mrbgems/mruby-compiler/core/parse.y"
+#line 2540 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), 0);
NODE_LINENO((yyval.nd), (yyvsp[-3].nd));
}
-#line 7671 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7689 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 264:
-#line 2527 "mrbgems/mruby-compiler/core/parse.y"
+#line 2545 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), 0);
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7680 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7698 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 265:
-#line 2534 "mrbgems/mruby-compiler/core/parse.y"
+#line 2552 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(list1((yyvsp[0].nd)), 0);
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 7690 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7708 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 266:
-#line 2540 "mrbgems/mruby-compiler/core/parse.y"
+#line 2558 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons((yyvsp[-1].nd), (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7699 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7717 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 267:
-#line 2545 "mrbgems/mruby-compiler/core/parse.y"
+#line 2563 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7708 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7726 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 268:
-#line 2550 "mrbgems/mruby-compiler/core/parse.y"
+#line 2568 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[-3].nd));
}
-#line 7717 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7735 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 269:
-#line 2555 "mrbgems/mruby-compiler/core/parse.y"
+#line 2573 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(0, (yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 7726 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7744 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 270:
-#line 2561 "mrbgems/mruby-compiler/core/parse.y"
+#line 2579 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.stack) = p->cmdarg_stack;
CMDARG_PUSH(1);
}
-#line 7735 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7753 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 271:
-#line 2566 "mrbgems/mruby-compiler/core/parse.y"
+#line 2584 "mrbgems/mruby-compiler/core/parse.y"
{
p->cmdarg_stack = (yyvsp[-1].stack);
(yyval.nd) = (yyvsp[0].nd);
}
-#line 7744 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7762 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 272:
-#line 2573 "mrbgems/mruby-compiler/core/parse.y"
+#line 2591 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_block_arg(p, (yyvsp[0].nd));
}
-#line 7752 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7770 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 273:
-#line 2579 "mrbgems/mruby-compiler/core/parse.y"
+#line 2597 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 7760 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7778 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 274:
-#line 2583 "mrbgems/mruby-compiler/core/parse.y"
+#line 2601 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 7768 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7786 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 276:
-#line 2592 "mrbgems/mruby-compiler/core/parse.y"
+#line 2610 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons((yyvsp[0].nd), 0);
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 7778 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7796 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 277:
-#line 2598 "mrbgems/mruby-compiler/core/parse.y"
+#line 2616 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(new_splat(p, (yyvsp[0].nd)), 0);
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 7788 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7806 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 278:
-#line 2604 "mrbgems/mruby-compiler/core/parse.y"
+#line 2622 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7797 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7815 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 279:
-#line 2609 "mrbgems/mruby-compiler/core/parse.y"
+#line 2627 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd)));
}
-#line 7806 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7824 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 280:
-#line 2616 "mrbgems/mruby-compiler/core/parse.y"
+#line 2634 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 7815 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7833 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 281:
-#line 2621 "mrbgems/mruby-compiler/core/parse.y"
+#line 2639 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd)));
}
-#line 7824 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7842 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 282:
-#line 2626 "mrbgems/mruby-compiler/core/parse.y"
+#line 2644 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = list1(new_splat(p, (yyvsp[0].nd)));
}
-#line 7833 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7851 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 290:
-#line 2640 "mrbgems/mruby-compiler/core/parse.y"
+#line 2658 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_nvar(p, (yyvsp[0].num));
}
-#line 7841 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7859 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 291:
-#line 2644 "mrbgems/mruby-compiler/core/parse.y"
+#line 2662 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_fcall(p, (yyvsp[0].id), 0);
}
-#line 7849 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7867 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 292:
-#line 2648 "mrbgems/mruby-compiler/core/parse.y"
+#line 2666 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.stack) = p->cmdarg_stack;
p->cmdarg_stack = 0;
}
-#line 7858 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7876 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 293:
-#line 2654 "mrbgems/mruby-compiler/core/parse.y"
+#line 2672 "mrbgems/mruby-compiler/core/parse.y"
{
p->cmdarg_stack = (yyvsp[-2].stack);
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 7867 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7885 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 294:
-#line 2659 "mrbgems/mruby-compiler/core/parse.y"
+#line 2677 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.stack) = p->cmdarg_stack;
p->cmdarg_stack = 0;
}
-#line 7876 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7894 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 295:
-#line 2663 "mrbgems/mruby-compiler/core/parse.y"
+#line 2681 "mrbgems/mruby-compiler/core/parse.y"
{p->lstate = EXPR_ENDARG;}
-#line 7882 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7900 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 296:
-#line 2664 "mrbgems/mruby-compiler/core/parse.y"
+#line 2682 "mrbgems/mruby-compiler/core/parse.y"
{
p->cmdarg_stack = (yyvsp[-3].stack);
(yyval.nd) = (yyvsp[-2].nd);
}
-#line 7891 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7909 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 297:
-#line 2668 "mrbgems/mruby-compiler/core/parse.y"
+#line 2686 "mrbgems/mruby-compiler/core/parse.y"
{p->lstate = EXPR_ENDARG;}
-#line 7897 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7915 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 298:
-#line 2669 "mrbgems/mruby-compiler/core/parse.y"
+#line 2687 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_nil(p);
}
-#line 7905 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7923 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 299:
-#line 2673 "mrbgems/mruby-compiler/core/parse.y"
+#line 2691 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 7913 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7931 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 300:
-#line 2677 "mrbgems/mruby-compiler/core/parse.y"
+#line 2695 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id));
}
-#line 7921 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7939 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 301:
-#line 2681 "mrbgems/mruby-compiler/core/parse.y"
+#line 2699 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_colon3(p, (yyvsp[0].id));
}
-#line 7929 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7947 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 302:
-#line 2685 "mrbgems/mruby-compiler/core/parse.y"
+#line 2703 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_array(p, (yyvsp[-1].nd));
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7938 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7956 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 303:
-#line 2690 "mrbgems/mruby-compiler/core/parse.y"
+#line 2708 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_hash(p, (yyvsp[-1].nd));
NODE_LINENO((yyval.nd), (yyvsp[-1].nd));
}
-#line 7947 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7965 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 304:
-#line 2695 "mrbgems/mruby-compiler/core/parse.y"
+#line 2713 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_return(p, 0);
}
-#line 7955 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7973 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 305:
-#line 2699 "mrbgems/mruby-compiler/core/parse.y"
+#line 2717 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_yield(p, (yyvsp[0].nd));
}
-#line 7963 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7981 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 306:
-#line 2703 "mrbgems/mruby-compiler/core/parse.y"
+#line 2721 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!");
}
-#line 7971 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7989 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 307:
-#line 2707 "mrbgems/mruby-compiler/core/parse.y"
+#line 2725 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = call_uni_op(p, new_nil(p), "!");
}
-#line 7979 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 7997 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 308:
-#line 2711 "mrbgems/mruby-compiler/core/parse.y"
+#line 2729 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_fcall(p, (yyvsp[-1].id), cons(0, (yyvsp[0].nd)));
}
-#line 7987 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8005 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 310:
-#line 2716 "mrbgems/mruby-compiler/core/parse.y"
+#line 2734 "mrbgems/mruby-compiler/core/parse.y"
{
call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd));
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 7996 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8014 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 311:
-#line 2721 "mrbgems/mruby-compiler/core/parse.y"
+#line 2739 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
(yyval.num) = p->lpar_beg;
p->lpar_beg = ++p->paren_nest;
}
-#line 8006 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8024 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 312:
-#line 2727 "mrbgems/mruby-compiler/core/parse.y"
+#line 2745 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.stack) = p->cmdarg_stack;
p->cmdarg_stack = 0;
}
-#line 8015 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8033 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 313:
-#line 2732 "mrbgems/mruby-compiler/core/parse.y"
+#line 2750 "mrbgems/mruby-compiler/core/parse.y"
{
p->lpar_beg = (yyvsp[-3].num);
(yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd));
@@ -8023,149 +8041,149 @@ yyreduce:
p->cmdarg_stack = (yyvsp[-1].stack);
CMDARG_LEXPOP();
}
-#line 8027 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8045 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 314:
-#line 2743 "mrbgems/mruby-compiler/core/parse.y"
+#line 2761 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-5].num));
}
-#line 8036 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8054 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 315:
-#line 2751 "mrbgems/mruby-compiler/core/parse.y"
+#line 2769 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_unless(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-5].num));
}
-#line 8045 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8063 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 316:
-#line 2755 "mrbgems/mruby-compiler/core/parse.y"
+#line 2773 "mrbgems/mruby-compiler/core/parse.y"
{COND_PUSH(1);}
-#line 8051 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8069 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 317:
-#line 2755 "mrbgems/mruby-compiler/core/parse.y"
+#line 2773 "mrbgems/mruby-compiler/core/parse.y"
{COND_POP();}
-#line 8057 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8075 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 318:
-#line 2758 "mrbgems/mruby-compiler/core/parse.y"
+#line 2776 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-6].num));
}
-#line 8066 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8084 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 319:
-#line 2762 "mrbgems/mruby-compiler/core/parse.y"
+#line 2780 "mrbgems/mruby-compiler/core/parse.y"
{COND_PUSH(1);}
-#line 8072 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8090 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 320:
-#line 2762 "mrbgems/mruby-compiler/core/parse.y"
+#line 2780 "mrbgems/mruby-compiler/core/parse.y"
{COND_POP();}
-#line 8078 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8096 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 321:
-#line 2765 "mrbgems/mruby-compiler/core/parse.y"
+#line 2783 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-6].num));
}
-#line 8087 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8105 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 322:
-#line 2772 "mrbgems/mruby-compiler/core/parse.y"
+#line 2790 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd));
}
-#line 8095 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8113 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 323:
-#line 2776 "mrbgems/mruby-compiler/core/parse.y"
+#line 2794 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_case(p, 0, (yyvsp[-1].nd));
}
-#line 8103 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8121 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 324:
-#line 2780 "mrbgems/mruby-compiler/core/parse.y"
+#line 2798 "mrbgems/mruby-compiler/core/parse.y"
{COND_PUSH(1);}
-#line 8109 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8127 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 325:
-#line 2782 "mrbgems/mruby-compiler/core/parse.y"
+#line 2800 "mrbgems/mruby-compiler/core/parse.y"
{COND_POP();}
-#line 8115 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8133 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 326:
-#line 2785 "mrbgems/mruby-compiler/core/parse.y"
+#line 2803 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-8].num));
}
-#line 8124 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8142 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 327:
-#line 2791 "mrbgems/mruby-compiler/core/parse.y"
+#line 2809 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "class definition in method body");
(yyval.nd) = local_switch(p);
nvars_block(p);
}
-#line 8135 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8153 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 328:
-#line 2799 "mrbgems/mruby-compiler/core/parse.y"
+#line 2817 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_class(p, (yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-5].num));
local_resume(p, (yyvsp[-2].nd));
nvars_unnest(p);
}
-#line 8146 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8164 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 329:
-#line 2807 "mrbgems/mruby-compiler/core/parse.y"
+#line 2825 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.num) = p->in_def;
p->in_def = 0;
}
-#line 8155 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8173 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 330:
-#line 2812 "mrbgems/mruby-compiler/core/parse.y"
+#line 2830 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(local_switch(p), nint(p->in_single));
nvars_block(p);
p->in_single = 0;
}
-#line 8165 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8183 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 331:
-#line 2819 "mrbgems/mruby-compiler/core/parse.y"
+#line 2837 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-7].num));
@@ -8174,44 +8192,44 @@ yyreduce:
p->in_def = (yyvsp[-4].num);
p->in_single = intn((yyvsp[-2].nd)->cdr);
}
-#line 8178 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8196 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 332:
-#line 2829 "mrbgems/mruby-compiler/core/parse.y"
+#line 2847 "mrbgems/mruby-compiler/core/parse.y"
{
if (p->in_def || p->in_single)
yyerror(p, "module definition in method body");
(yyval.nd) = local_switch(p);
nvars_block(p);
}
-#line 8189 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8207 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 333:
-#line 2837 "mrbgems/mruby-compiler/core/parse.y"
+#line 2855 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_module(p, (yyvsp[-3].nd), (yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-4].num));
local_resume(p, (yyvsp[-2].nd));
nvars_unnest(p);
}
-#line 8200 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8218 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 334:
-#line 2847 "mrbgems/mruby-compiler/core/parse.y"
+#line 2865 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd));
nvars_unnest(p);
p->in_def--;
}
-#line 8211 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8229 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 335:
-#line 2857 "mrbgems/mruby-compiler/core/parse.y"
+#line 2875 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-3].nd);
defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd));
@@ -8219,451 +8237,451 @@ yyreduce:
p->in_def--;
p->in_single--;
}
-#line 8223 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8241 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 336:
-#line 2865 "mrbgems/mruby-compiler/core/parse.y"
+#line 2883 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_break(p, 0);
}
-#line 8231 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8249 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 337:
-#line 2869 "mrbgems/mruby-compiler/core/parse.y"
+#line 2887 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_next(p, 0);
}
-#line 8239 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8257 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 338:
-#line 2873 "mrbgems/mruby-compiler/core/parse.y"
+#line 2891 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_redo(p);
}
-#line 8247 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8265 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 339:
-#line 2877 "mrbgems/mruby-compiler/core/parse.y"
+#line 2895 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_retry(p);
}
-#line 8255 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8273 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 340:
-#line 2883 "mrbgems/mruby-compiler/core/parse.y"
+#line 2901 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
if (!(yyval.nd)) (yyval.nd) = new_nil(p);
}
-#line 8264 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8282 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 347:
-#line 2902 "mrbgems/mruby-compiler/core/parse.y"
+#line 2920 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8272 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8290 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 349:
-#line 2909 "mrbgems/mruby-compiler/core/parse.y"
+#line 2927 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8280 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8298 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 350:
-#line 2915 "mrbgems/mruby-compiler/core/parse.y"
+#line 2933 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1(list1((yyvsp[0].nd)));
}
-#line 8288 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8306 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 352:
-#line 2922 "mrbgems/mruby-compiler/core/parse.y"
+#line 2940 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[0].nd),0,0);
}
-#line 8296 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8314 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 353:
-#line 2926 "mrbgems/mruby-compiler/core/parse.y"
+#line 2944 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0);
}
-#line 8304 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8322 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 354:
-#line 2930 "mrbgems/mruby-compiler/core/parse.y"
+#line 2948 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd));
}
-#line 8312 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8330 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 355:
-#line 2934 "mrbgems/mruby-compiler/core/parse.y"
+#line 2952 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, 0);
(yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0);
}
-#line 8321 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8339 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 356:
-#line 2939 "mrbgems/mruby-compiler/core/parse.y"
+#line 2957 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd));
}
-#line 8329 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8347 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 357:
-#line 2943 "mrbgems/mruby-compiler/core/parse.y"
+#line 2961 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0);
}
-#line 8337 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8355 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 358:
-#line 2947 "mrbgems/mruby-compiler/core/parse.y"
+#line 2965 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd));
}
-#line 8345 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8363 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 359:
-#line 2951 "mrbgems/mruby-compiler/core/parse.y"
+#line 2969 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, 0);
(yyval.nd) = list3(0, nint(-1), 0);
}
-#line 8354 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8372 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 360:
-#line 2956 "mrbgems/mruby-compiler/core/parse.y"
+#line 2974 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, 0);
}
-#line 8362 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8380 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 361:
-#line 2960 "mrbgems/mruby-compiler/core/parse.y"
+#line 2978 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd));
}
-#line 8370 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8388 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 362:
-#line 2966 "mrbgems/mruby-compiler/core/parse.y"
+#line 2984 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id));
}
-#line 8378 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8396 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 363:
-#line 2970 "mrbgems/mruby-compiler/core/parse.y"
+#line 2988 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id));
}
-#line 8386 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8404 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 364:
-#line 2974 "mrbgems/mruby-compiler/core/parse.y"
+#line 2992 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id));
}
-#line 8394 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8412 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 365:
-#line 2978 "mrbgems/mruby-compiler/core/parse.y"
+#line 2996 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id));
}
-#line 8402 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8420 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 366:
-#line 2984 "mrbgems/mruby-compiler/core/parse.y"
+#line 3002 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8410 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8428 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 367:
-#line 2988 "mrbgems/mruby-compiler/core/parse.y"
+#line 3006 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, 0, 0);
}
-#line 8418 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8436 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 368:
-#line 2994 "mrbgems/mruby-compiler/core/parse.y"
+#line 3012 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 8426 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8444 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 369:
-#line 2998 "mrbgems/mruby-compiler/core/parse.y"
+#line 3016 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8434 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8452 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 370:
-#line 3002 "mrbgems/mruby-compiler/core/parse.y"
+#line 3020 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd));
}
-#line 8442 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8460 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 371:
-#line 3006 "mrbgems/mruby-compiler/core/parse.y"
+#line 3024 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8450 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8468 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 372:
-#line 3010 "mrbgems/mruby-compiler/core/parse.y"
+#line 3028 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 8458 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8476 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 373:
-#line 3014 "mrbgems/mruby-compiler/core/parse.y"
+#line 3032 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd));
}
-#line 8466 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8484 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 374:
-#line 3018 "mrbgems/mruby-compiler/core/parse.y"
+#line 3036 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8474 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8492 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 375:
-#line 3022 "mrbgems/mruby-compiler/core/parse.y"
+#line 3040 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd));
}
-#line 8482 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8500 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 376:
-#line 3026 "mrbgems/mruby-compiler/core/parse.y"
+#line 3044 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 8490 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8508 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 377:
-#line 3030 "mrbgems/mruby-compiler/core/parse.y"
+#line 3048 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8498 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8516 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 378:
-#line 3034 "mrbgems/mruby-compiler/core/parse.y"
+#line 3052 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd));
}
-#line 8506 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8524 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 379:
-#line 3038 "mrbgems/mruby-compiler/core/parse.y"
+#line 3056 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8514 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8532 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 380:
-#line 3042 "mrbgems/mruby-compiler/core/parse.y"
+#line 3060 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 8522 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8540 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 381:
-#line 3046 "mrbgems/mruby-compiler/core/parse.y"
+#line 3064 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8530 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8548 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 382:
-#line 3050 "mrbgems/mruby-compiler/core/parse.y"
+#line 3068 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd));
}
-#line 8538 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8556 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 383:
-#line 3056 "mrbgems/mruby-compiler/core/parse.y"
+#line 3074 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_blk(p, 0);
(yyval.nd) = 0;
}
-#line 8547 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8565 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 384:
-#line 3061 "mrbgems/mruby-compiler/core/parse.y"
+#line 3079 "mrbgems/mruby-compiler/core/parse.y"
{
p->cmd_start = TRUE;
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8556 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8574 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 385:
-#line 3067 "mrbgems/mruby-compiler/core/parse.y"
+#line 3085 "mrbgems/mruby-compiler/core/parse.y"
{local_add_blk(p, 0);}
-#line 8562 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8580 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 386:
-#line 3068 "mrbgems/mruby-compiler/core/parse.y"
+#line 3086 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 8570 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8588 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 387:
-#line 3072 "mrbgems/mruby-compiler/core/parse.y"
+#line 3090 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_blk(p, 0);
(yyval.nd) = 0;
}
-#line 8579 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8597 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 388:
-#line 3077 "mrbgems/mruby-compiler/core/parse.y"
+#line 3095 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-2].nd);
}
-#line 8587 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8605 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 389:
-#line 3084 "mrbgems/mruby-compiler/core/parse.y"
+#line 3102 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 8595 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8613 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 390:
-#line 3088 "mrbgems/mruby-compiler/core/parse.y"
+#line 3106 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 8603 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8621 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 393:
-#line 3098 "mrbgems/mruby-compiler/core/parse.y"
+#line 3116 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, (yyvsp[0].id));
new_bv(p, (yyvsp[0].id));
}
-#line 8612 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8630 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 395:
-#line 3106 "mrbgems/mruby-compiler/core/parse.y"
+#line 3124 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-2].nd);
}
-#line 8620 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8638 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 396:
-#line 3110 "mrbgems/mruby-compiler/core/parse.y"
+#line 3128 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8628 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8646 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 397:
-#line 3116 "mrbgems/mruby-compiler/core/parse.y"
+#line 3134 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 8636 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8654 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 398:
-#line 3120 "mrbgems/mruby-compiler/core/parse.y"
+#line 3138 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 8644 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8662 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 399:
-#line 3126 "mrbgems/mruby-compiler/core/parse.y"
+#line 3144 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
nvars_nest(p);
}
-#line 8653 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8671 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 400:
-#line 3133 "mrbgems/mruby-compiler/core/parse.y"
+#line 3151 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd));
local_unnest(p);
nvars_unnest(p);
}
-#line 8663 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8681 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 401:
-#line 3141 "mrbgems/mruby-compiler/core/parse.y"
+#line 3159 "mrbgems/mruby-compiler/core/parse.y"
{
if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) {
yyerror(p, "block given to yield");
@@ -8673,159 +8691,159 @@ yyreduce:
}
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 8677 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8695 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 402:
-#line 3151 "mrbgems/mruby-compiler/core/parse.y"
+#line 3169 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num));
}
-#line 8685 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8703 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 403:
-#line 3155 "mrbgems/mruby-compiler/core/parse.y"
+#line 3173 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num));
call_with_block(p, (yyval.nd), (yyvsp[0].nd));
}
-#line 8694 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8712 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 404:
-#line 3160 "mrbgems/mruby-compiler/core/parse.y"
+#line 3178 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num));
call_with_block(p, (yyval.nd), (yyvsp[0].nd));
}
-#line 8703 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8721 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 405:
-#line 3167 "mrbgems/mruby-compiler/core/parse.y"
+#line 3185 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd));
}
-#line 8711 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8729 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 406:
-#line 3171 "mrbgems/mruby-compiler/core/parse.y"
+#line 3189 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num));
}
-#line 8719 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8737 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 407:
-#line 3175 "mrbgems/mruby-compiler/core/parse.y"
+#line 3193 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2);
}
-#line 8727 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8745 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 408:
-#line 3179 "mrbgems/mruby-compiler/core/parse.y"
+#line 3197 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2);
}
-#line 8735 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8753 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 409:
-#line 3183 "mrbgems/mruby-compiler/core/parse.y"
+#line 3201 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num));
}
-#line 8743 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8761 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 410:
-#line 3187 "mrbgems/mruby-compiler/core/parse.y"
+#line 3205 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2);
}
-#line 8751 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8769 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 411:
-#line 3191 "mrbgems/mruby-compiler/core/parse.y"
+#line 3209 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_super(p, (yyvsp[0].nd));
}
-#line 8759 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8777 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 412:
-#line 3195 "mrbgems/mruby-compiler/core/parse.y"
+#line 3213 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_zsuper(p);
}
-#line 8767 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8785 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 413:
-#line 3199 "mrbgems/mruby-compiler/core/parse.y"
+#line 3217 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.');
}
-#line 8775 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8793 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 414:
-#line 3205 "mrbgems/mruby-compiler/core/parse.y"
+#line 3223 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
nvars_nest(p);
(yyval.num) = p->lineno;
}
-#line 8785 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8803 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 415:
-#line 3212 "mrbgems/mruby-compiler/core/parse.y"
+#line 3230 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-3].num));
local_unnest(p);
nvars_unnest(p);
}
-#line 8796 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8814 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 416:
-#line 3219 "mrbgems/mruby-compiler/core/parse.y"
+#line 3237 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
nvars_nest(p);
(yyval.num) = p->lineno;
}
-#line 8806 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8824 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 417:
-#line 3226 "mrbgems/mruby-compiler/core/parse.y"
+#line 3244 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd));
SET_LINENO((yyval.nd), (yyvsp[-3].num));
local_unnest(p);
nvars_unnest(p);
}
-#line 8817 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8835 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 418:
-#line 3237 "mrbgems/mruby-compiler/core/parse.y"
+#line 3255 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd));
}
-#line 8825 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8843 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 419:
-#line 3243 "mrbgems/mruby-compiler/core/parse.y"
+#line 3261 "mrbgems/mruby-compiler/core/parse.y"
{
if ((yyvsp[0].nd)) {
(yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0);
@@ -8834,279 +8852,291 @@ yyreduce:
(yyval.nd) = 0;
}
}
-#line 8838 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8856 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 421:
-#line 3257 "mrbgems/mruby-compiler/core/parse.y"
+#line 3275 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd)));
if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd));
}
-#line 8847 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8865 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 423:
-#line 3265 "mrbgems/mruby-compiler/core/parse.y"
+#line 3283 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 8855 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8873 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 426:
-#line 3273 "mrbgems/mruby-compiler/core/parse.y"
+#line 3291 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8863 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8881 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 428:
-#line 3280 "mrbgems/mruby-compiler/core/parse.y"
+#line 3298 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8871 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8889 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 435:
-#line 3294 "mrbgems/mruby-compiler/core/parse.y"
+#line 3312 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8879 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8897 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 438:
-#line 3302 "mrbgems/mruby-compiler/core/parse.y"
+#line 3320 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8887 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8905 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 439:
-#line 3306 "mrbgems/mruby-compiler/core/parse.y"
+#line 3324 "mrbgems/mruby-compiler/core/parse.y"
{
node *n = (yyvsp[-1].nd);
if (intn((yyvsp[0].nd)->cdr->cdr) > 0) {
n = push(n, (yyvsp[0].nd));
}
+ else {
+ cons_free((yyvsp[0].nd));
+ }
(yyval.nd) = new_dstr(p, n);
}
-#line 8899 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8920 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 441:
-#line 3317 "mrbgems/mruby-compiler/core/parse.y"
+#line 3338 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8907 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8928 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 442:
-#line 3323 "mrbgems/mruby-compiler/core/parse.y"
+#line 3344 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 8915 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8936 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 443:
-#line 3327 "mrbgems/mruby-compiler/core/parse.y"
+#line 3348 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = p->lex_strterm;
p->lex_strterm = NULL;
}
-#line 8924 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8945 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 444:
-#line 3333 "mrbgems/mruby-compiler/core/parse.y"
+#line 3354 "mrbgems/mruby-compiler/core/parse.y"
{
p->lex_strterm = (yyvsp[-2].nd);
(yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd));
}
-#line 8933 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8954 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 445:
-#line 3338 "mrbgems/mruby-compiler/core/parse.y"
+#line 3359 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1(new_literal_delim(p));
}
-#line 8941 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8962 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 446:
-#line 3342 "mrbgems/mruby-compiler/core/parse.y"
+#line 3363 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1(new_literal_delim(p));
}
-#line 8949 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8970 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 447:
-#line 3348 "mrbgems/mruby-compiler/core/parse.y"
+#line 3369 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8957 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8978 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 448:
-#line 3352 "mrbgems/mruby-compiler/core/parse.y"
+#line 3373 "mrbgems/mruby-compiler/core/parse.y"
{
node *n = (yyvsp[-1].nd);
if (intn((yyvsp[0].nd)->cdr->cdr) > 0) {
n = push(n, (yyvsp[0].nd));
}
+ else {
+ cons_free((yyvsp[0].nd));
+ }
(yyval.nd) = new_dxstr(p, n);
}
-#line 8969 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 8993 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 449:
-#line 3362 "mrbgems/mruby-compiler/core/parse.y"
+#line 3386 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 8977 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9001 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 450:
-#line 3366 "mrbgems/mruby-compiler/core/parse.y"
+#line 3390 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 8985 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9009 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 454:
-#line 3379 "mrbgems/mruby-compiler/core/parse.y"
+#line 3403 "mrbgems/mruby-compiler/core/parse.y"
{
parser_heredoc_info * inf = parsing_heredoc_inf(p);
inf->doc = push(inf->doc, new_str(p, "", 0));
heredoc_end(p);
}
-#line 8995 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9019 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 455:
-#line 3385 "mrbgems/mruby-compiler/core/parse.y"
+#line 3409 "mrbgems/mruby-compiler/core/parse.y"
{
heredoc_end(p);
}
-#line 9003 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9027 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 458:
-#line 3395 "mrbgems/mruby-compiler/core/parse.y"
+#line 3419 "mrbgems/mruby-compiler/core/parse.y"
{
parser_heredoc_info * inf = parsing_heredoc_inf(p);
inf->doc = push(inf->doc, (yyvsp[0].nd));
heredoc_treat_nextline(p);
}
-#line 9013 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9037 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 459:
-#line 3401 "mrbgems/mruby-compiler/core/parse.y"
+#line 3425 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = p->lex_strterm;
p->lex_strterm = NULL;
}
-#line 9022 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9046 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 460:
-#line 3407 "mrbgems/mruby-compiler/core/parse.y"
+#line 3431 "mrbgems/mruby-compiler/core/parse.y"
{
parser_heredoc_info * inf = parsing_heredoc_inf(p);
p->lex_strterm = (yyvsp[-2].nd);
inf->doc = push(push(inf->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd));
}
-#line 9032 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9056 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 461:
-#line 3415 "mrbgems/mruby-compiler/core/parse.y"
+#line 3439 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_words(p, list1((yyvsp[0].nd)));
}
-#line 9040 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9064 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 462:
-#line 3419 "mrbgems/mruby-compiler/core/parse.y"
+#line 3443 "mrbgems/mruby-compiler/core/parse.y"
{
node *n = (yyvsp[-1].nd);
if (intn((yyvsp[0].nd)->cdr->cdr) > 0) {
n = push(n, (yyvsp[0].nd));
}
+ else {
+ cons_free((yyvsp[0].nd));
+ }
(yyval.nd) = new_words(p, n);
}
-#line 9052 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9079 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 463:
-#line 3430 "mrbgems/mruby-compiler/core/parse.y"
+#line 3457 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_ENDARG;
(yyval.nd) = new_sym(p, (yyvsp[0].id));
}
-#line 9061 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9088 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 464:
-#line 3435 "mrbgems/mruby-compiler/core/parse.y"
+#line 3462 "mrbgems/mruby-compiler/core/parse.y"
{
node *n = (yyvsp[-1].nd);
p->lstate = EXPR_ENDARG;
if (intn((yyvsp[0].nd)->cdr->cdr) > 0) {
n = push(n, (yyvsp[0].nd));
}
+ else {
+ cons_free((yyvsp[0].nd));
+ }
(yyval.nd) = new_dsym(p, new_dstr(p, n));
}
-#line 9074 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9104 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 465:
-#line 3446 "mrbgems/mruby-compiler/core/parse.y"
+#line 3476 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = (yyvsp[0].id);
}
-#line 9082 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9112 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 470:
-#line 3456 "mrbgems/mruby-compiler/core/parse.y"
+#line 3486 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = new_strsym(p, (yyvsp[0].nd));
}
-#line 9090 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9120 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 471:
-#line 3460 "mrbgems/mruby-compiler/core/parse.y"
+#line 3490 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = new_strsym(p, (yyvsp[0].nd));
}
-#line 9098 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9128 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 472:
-#line 3466 "mrbgems/mruby-compiler/core/parse.y"
+#line 3496 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_symbols(p, list1((yyvsp[0].nd)));
}
-#line 9106 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9136 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 473:
-#line 3470 "mrbgems/mruby-compiler/core/parse.y"
+#line 3500 "mrbgems/mruby-compiler/core/parse.y"
{
node *n = (yyvsp[-1].nd);
if (intn((yyvsp[0].nd)->cdr->cdr) > 0) {
@@ -9114,123 +9144,123 @@ yyreduce:
}
(yyval.nd) = new_symbols(p, n);
}
-#line 9118 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9148 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 476:
-#line 3482 "mrbgems/mruby-compiler/core/parse.y"
+#line 3512 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_negate(p, (yyvsp[0].nd));
}
-#line 9126 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9156 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 477:
-#line 3486 "mrbgems/mruby-compiler/core/parse.y"
+#line 3516 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_negate(p, (yyvsp[0].nd));
}
-#line 9134 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9164 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 478:
-#line 3492 "mrbgems/mruby-compiler/core/parse.y"
+#line 3522 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_lvar(p, (yyvsp[0].id));
}
-#line 9142 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9172 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 479:
-#line 3496 "mrbgems/mruby-compiler/core/parse.y"
+#line 3526 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_ivar(p, (yyvsp[0].id));
}
-#line 9150 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9180 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 480:
-#line 3500 "mrbgems/mruby-compiler/core/parse.y"
+#line 3530 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_gvar(p, (yyvsp[0].id));
}
-#line 9158 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9188 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 481:
-#line 3504 "mrbgems/mruby-compiler/core/parse.y"
+#line 3534 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_cvar(p, (yyvsp[0].id));
}
-#line 9166 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9196 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 482:
-#line 3508 "mrbgems/mruby-compiler/core/parse.y"
+#line 3538 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_const(p, (yyvsp[0].id));
}
-#line 9174 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9204 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 483:
-#line 3514 "mrbgems/mruby-compiler/core/parse.y"
+#line 3544 "mrbgems/mruby-compiler/core/parse.y"
{
assignable(p, (yyvsp[0].nd));
}
-#line 9182 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9212 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 484:
-#line 3518 "mrbgems/mruby-compiler/core/parse.y"
+#line 3548 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "can't assign to numbered parameter");
}
-#line 9190 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9220 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 485:
-#line 3524 "mrbgems/mruby-compiler/core/parse.y"
+#line 3554 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = var_reference(p, (yyvsp[0].nd));
}
-#line 9198 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9228 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 486:
-#line 3528 "mrbgems/mruby-compiler/core/parse.y"
+#line 3558 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_nil(p);
}
-#line 9206 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9236 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 487:
-#line 3532 "mrbgems/mruby-compiler/core/parse.y"
+#line 3562 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_self(p);
}
-#line 9214 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9244 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 488:
-#line 3536 "mrbgems/mruby-compiler/core/parse.y"
+#line 3566 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_true(p);
}
-#line 9222 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9252 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 489:
-#line 3540 "mrbgems/mruby-compiler/core/parse.y"
+#line 3570 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_false(p);
}
-#line 9230 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9260 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 490:
-#line 3544 "mrbgems/mruby-compiler/core/parse.y"
+#line 3574 "mrbgems/mruby-compiler/core/parse.y"
{
const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL);
if (!fn) {
@@ -9238,22 +9268,22 @@ yyreduce:
}
(yyval.nd) = new_str(p, fn, strlen(fn));
}
-#line 9242 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9272 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 491:
-#line 3552 "mrbgems/mruby-compiler/core/parse.y"
+#line 3582 "mrbgems/mruby-compiler/core/parse.y"
{
char buf[16];
dump_int(p->lineno, buf);
(yyval.nd) = new_int(p, buf, 10, 0);
}
-#line 9253 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9283 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 492:
-#line 3559 "mrbgems/mruby-compiler/core/parse.y"
+#line 3589 "mrbgems/mruby-compiler/core/parse.y"
{
#ifdef MRB_UTF8_STRING
const char *enc = "UTF-8";
@@ -9262,46 +9292,46 @@ yyreduce:
#endif
(yyval.nd) = new_str(p, enc, strlen(enc));
}
-#line 9266 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9296 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 495:
-#line 3574 "mrbgems/mruby-compiler/core/parse.y"
+#line 3604 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 9274 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9304 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 496:
-#line 3578 "mrbgems/mruby-compiler/core/parse.y"
+#line 3608 "mrbgems/mruby-compiler/core/parse.y"
{
p->lstate = EXPR_BEG;
p->cmd_start = TRUE;
}
-#line 9283 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9313 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 497:
-#line 3583 "mrbgems/mruby-compiler/core/parse.y"
+#line 3613 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 9291 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9321 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 500:
-#line 3599 "mrbgems/mruby-compiler/core/parse.y"
+#line 3629 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
p->lstate = EXPR_BEG;
p->cmd_start = TRUE;
}
-#line 9301 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9331 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 501:
-#line 3605 "mrbgems/mruby-compiler/core/parse.y"
+#line 3635 "mrbgems/mruby-compiler/core/parse.y"
{
#if 1
/* til real keyword args implemented */
@@ -9319,11 +9349,11 @@ yyreduce:
new_args_tail(p, 0, new_kw_rest_args(p, nsym(k)), b));
#endif
}
-#line 9323 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9353 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 502:
-#line 3623 "mrbgems/mruby-compiler/core/parse.y"
+#line 3653 "mrbgems/mruby-compiler/core/parse.y"
{
#if 1
/* til real keyword args implemented */
@@ -9341,504 +9371,504 @@ yyreduce:
new_args_tail(p, 0, new_kw_rest_args(p, nsym(k)), b));
#endif
}
-#line 9345 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9375 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 504:
-#line 3644 "mrbgems/mruby-compiler/core/parse.y"
+#line 3674 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 9353 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9383 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 505:
-#line 3650 "mrbgems/mruby-compiler/core/parse.y"
+#line 3680 "mrbgems/mruby-compiler/core/parse.y"
{
local_nest(p);
}
-#line 9361 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9391 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 506:
-#line 3656 "mrbgems/mruby-compiler/core/parse.y"
+#line 3686 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p)));
local_unnest(p);
}
-#line 9371 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9401 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 507:
-#line 3662 "mrbgems/mruby-compiler/core/parse.y"
+#line 3692 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0);
local_unnest(p);
}
-#line 9380 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9410 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 508:
-#line 3669 "mrbgems/mruby-compiler/core/parse.y"
+#line 3699 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p)));
local_unnest(p);
}
-#line 9389 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9419 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 509:
-#line 3674 "mrbgems/mruby-compiler/core/parse.y"
+#line 3704 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0);
local_unnest(p);
}
-#line 9398 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9428 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 510:
-#line 3681 "mrbgems/mruby-compiler/core/parse.y"
+#line 3711 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 9406 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9436 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 511:
-#line 3685 "mrbgems/mruby-compiler/core/parse.y"
+#line 3715 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9414 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9444 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 512:
-#line 3691 "mrbgems/mruby-compiler/core/parse.y"
+#line 3721 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 9422 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9452 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 513:
-#line 3695 "mrbgems/mruby-compiler/core/parse.y"
+#line 3725 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9430 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9460 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 516:
-#line 3705 "mrbgems/mruby-compiler/core/parse.y"
+#line 3735 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id)));
}
-#line 9438 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9468 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 517:
-#line 3709 "mrbgems/mruby-compiler/core/parse.y"
+#line 3739 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_kw_rest_args(p, 0);
}
-#line 9446 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9476 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 518:
-#line 3715 "mrbgems/mruby-compiler/core/parse.y"
+#line 3745 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id));
}
-#line 9454 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9484 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 519:
-#line 3719 "mrbgems/mruby-compiler/core/parse.y"
+#line 3749 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id));
}
-#line 9462 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9492 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 520:
-#line 3723 "mrbgems/mruby-compiler/core/parse.y"
+#line 3753 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id));
}
-#line 9470 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9500 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 521:
-#line 3727 "mrbgems/mruby-compiler/core/parse.y"
+#line 3757 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id));
}
-#line 9478 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9508 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 522:
-#line 3733 "mrbgems/mruby-compiler/core/parse.y"
+#line 3763 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
}
-#line 9486 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9516 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 523:
-#line 3737 "mrbgems/mruby-compiler/core/parse.y"
+#line 3767 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args_tail(p, 0, 0, 0);
}
-#line 9494 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9524 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 524:
-#line 3743 "mrbgems/mruby-compiler/core/parse.y"
+#line 3773 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 9502 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9532 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 525:
-#line 3747 "mrbgems/mruby-compiler/core/parse.y"
+#line 3777 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9510 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9540 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 526:
-#line 3751 "mrbgems/mruby-compiler/core/parse.y"
+#line 3781 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd));
}
-#line 9518 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9548 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 527:
-#line 3755 "mrbgems/mruby-compiler/core/parse.y"
+#line 3785 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9526 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9556 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 528:
-#line 3759 "mrbgems/mruby-compiler/core/parse.y"
+#line 3789 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 9534 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9564 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 529:
-#line 3763 "mrbgems/mruby-compiler/core/parse.y"
+#line 3793 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9542 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9572 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 530:
-#line 3767 "mrbgems/mruby-compiler/core/parse.y"
+#line 3797 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd));
}
-#line 9550 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9580 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 531:
-#line 3771 "mrbgems/mruby-compiler/core/parse.y"
+#line 3801 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 9558 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9588 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 532:
-#line 3775 "mrbgems/mruby-compiler/core/parse.y"
+#line 3805 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9566 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9596 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 533:
-#line 3779 "mrbgems/mruby-compiler/core/parse.y"
+#line 3809 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd));
}
-#line 9574 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9604 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 534:
-#line 3783 "mrbgems/mruby-compiler/core/parse.y"
+#line 3813 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9582 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9612 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 535:
-#line 3787 "mrbgems/mruby-compiler/core/parse.y"
+#line 3817 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd));
}
-#line 9590 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9620 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 536:
-#line 3791 "mrbgems/mruby-compiler/core/parse.y"
+#line 3821 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd));
}
-#line 9598 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9628 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 537:
-#line 3795 "mrbgems/mruby-compiler/core/parse.y"
+#line 3825 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd));
}
-#line 9606 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9636 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 538:
-#line 3799 "mrbgems/mruby-compiler/core/parse.y"
+#line 3829 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, intern_op(and));
(yyval.nd) = new_args(p, 0, 0, 0, 0, 0);
}
-#line 9615 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9645 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 539:
-#line 3806 "mrbgems/mruby-compiler/core/parse.y"
+#line 3836 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "formal argument cannot be a constant");
(yyval.nd) = 0;
}
-#line 9624 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9654 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 540:
-#line 3811 "mrbgems/mruby-compiler/core/parse.y"
+#line 3841 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "formal argument cannot be an instance variable");
(yyval.nd) = 0;
}
-#line 9633 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9663 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 541:
-#line 3816 "mrbgems/mruby-compiler/core/parse.y"
+#line 3846 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "formal argument cannot be a global variable");
(yyval.nd) = 0;
}
-#line 9642 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9672 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 542:
-#line 3821 "mrbgems/mruby-compiler/core/parse.y"
+#line 3851 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "formal argument cannot be a class variable");
(yyval.nd) = 0;
}
-#line 9651 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9681 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 543:
-#line 3826 "mrbgems/mruby-compiler/core/parse.y"
+#line 3856 "mrbgems/mruby-compiler/core/parse.y"
{
yyerror(p, "formal argument cannot be a numbered parameter");
(yyval.nd) = 0;
}
-#line 9660 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9690 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 544:
-#line 3833 "mrbgems/mruby-compiler/core/parse.y"
+#line 3863 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = 0;
}
-#line 9668 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9698 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 545:
-#line 3837 "mrbgems/mruby-compiler/core/parse.y"
+#line 3867 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, (yyvsp[0].id));
(yyval.id) = (yyvsp[0].id);
}
-#line 9677 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9707 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 546:
-#line 3844 "mrbgems/mruby-compiler/core/parse.y"
+#line 3874 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_arg(p, (yyvsp[0].id));
}
-#line 9685 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9715 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 547:
-#line 3848 "mrbgems/mruby-compiler/core/parse.y"
+#line 3878 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = local_switch(p);
}
-#line 9693 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9723 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 548:
-#line 3852 "mrbgems/mruby-compiler/core/parse.y"
+#line 3882 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car);
local_resume(p, (yyvsp[-2].nd));
local_add_f(p, 0);
}
-#line 9703 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9733 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 549:
-#line 3860 "mrbgems/mruby-compiler/core/parse.y"
+#line 3890 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 9711 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9741 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 550:
-#line 3864 "mrbgems/mruby-compiler/core/parse.y"
+#line 3894 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9719 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9749 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 551:
-#line 3870 "mrbgems/mruby-compiler/core/parse.y"
+#line 3900 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, (yyvsp[-1].id));
local_nest(p);
(yyval.id) = (yyvsp[-1].id);
}
-#line 9729 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9759 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 552:
-#line 3878 "mrbgems/mruby-compiler/core/parse.y"
+#line 3908 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p)));
local_unnest(p);
}
-#line 9739 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9769 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 553:
-#line 3886 "mrbgems/mruby-compiler/core/parse.y"
+#line 3916 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p)));
local_unnest(p);
}
-#line 9749 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9779 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 554:
-#line 3894 "mrbgems/mruby-compiler/core/parse.y"
+#line 3924 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 9757 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9787 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 555:
-#line 3898 "mrbgems/mruby-compiler/core/parse.y"
+#line 3928 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9765 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9795 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 556:
-#line 3904 "mrbgems/mruby-compiler/core/parse.y"
+#line 3934 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
}
-#line 9773 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9803 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 557:
-#line 3908 "mrbgems/mruby-compiler/core/parse.y"
+#line 3938 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9781 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9811 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 560:
-#line 3918 "mrbgems/mruby-compiler/core/parse.y"
+#line 3948 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, (yyvsp[0].id));
(yyval.id) = (yyvsp[0].id);
}
-#line 9790 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9820 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 561:
-#line 3923 "mrbgems/mruby-compiler/core/parse.y"
+#line 3953 "mrbgems/mruby-compiler/core/parse.y"
{
local_add_f(p, intern_op(mul));
(yyval.id) = -1;
}
-#line 9799 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9829 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 564:
-#line 3934 "mrbgems/mruby-compiler/core/parse.y"
+#line 3964 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = (yyvsp[0].id);
}
-#line 9807 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9837 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 565:
-#line 3940 "mrbgems/mruby-compiler/core/parse.y"
+#line 3970 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = (yyvsp[0].id);
}
-#line 9815 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9845 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 566:
-#line 3944 "mrbgems/mruby-compiler/core/parse.y"
+#line 3974 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.id) = 0;
}
-#line 9823 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9853 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 567:
-#line 3950 "mrbgems/mruby-compiler/core/parse.y"
+#line 3980 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[0].nd);
if (!(yyval.nd)) (yyval.nd) = new_nil(p);
}
-#line 9832 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9862 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 568:
-#line 3954 "mrbgems/mruby-compiler/core/parse.y"
+#line 3984 "mrbgems/mruby-compiler/core/parse.y"
{p->lstate = EXPR_BEG;}
-#line 9838 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9868 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 569:
-#line 3955 "mrbgems/mruby-compiler/core/parse.y"
+#line 3985 "mrbgems/mruby-compiler/core/parse.y"
{
if ((yyvsp[-1].nd) == 0) {
yyerror(p, "can't define singleton method for ().");
@@ -9861,63 +9891,63 @@ yyreduce:
}
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 9865 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9895 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 571:
-#line 3981 "mrbgems/mruby-compiler/core/parse.y"
+#line 4011 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = (yyvsp[-1].nd);
}
-#line 9873 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9903 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 572:
-#line 3987 "mrbgems/mruby-compiler/core/parse.y"
+#line 4017 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = list1((yyvsp[0].nd));
NODE_LINENO((yyval.nd), (yyvsp[0].nd));
}
-#line 9882 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9912 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 573:
-#line 3992 "mrbgems/mruby-compiler/core/parse.y"
+#line 4022 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9890 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9920 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 574:
-#line 3998 "mrbgems/mruby-compiler/core/parse.y"
+#line 4028 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[-2].nd));
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd));
}
-#line 9900 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9930 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 575:
-#line 4004 "mrbgems/mruby-compiler/core/parse.y"
+#line 4034 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd));
}
-#line 9909 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9939 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 576:
-#line 4009 "mrbgems/mruby-compiler/core/parse.y"
+#line 4039 "mrbgems/mruby-compiler/core/parse.y"
{
- (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), new_lvar(p, (yyvsp[-1].id)));
+ (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id)));
}
-#line 9917 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9947 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 577:
-#line 4013 "mrbgems/mruby-compiler/core/parse.y"
+#line 4043 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) {
@@ -9927,67 +9957,67 @@ yyreduce:
(yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd));
}
}
-#line 9931 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9961 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 578:
-#line 4023 "mrbgems/mruby-compiler/core/parse.y"
+#line 4053 "mrbgems/mruby-compiler/core/parse.y"
{
void_expr_error(p, (yyvsp[0].nd));
(yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd));
}
-#line 9940 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9970 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 591:
-#line 4050 "mrbgems/mruby-compiler/core/parse.y"
+#line 4080 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.num) = '.';
}
-#line 9948 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9978 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 592:
-#line 4054 "mrbgems/mruby-compiler/core/parse.y"
+#line 4084 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.num) = 0;
}
-#line 9956 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9986 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 594:
-#line 4061 "mrbgems/mruby-compiler/core/parse.y"
+#line 4091 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.num) = tCOLON2;
}
-#line 9964 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 9994 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 603:
-#line 4082 "mrbgems/mruby-compiler/core/parse.y"
+#line 4112 "mrbgems/mruby-compiler/core/parse.y"
{yyerrok;}
-#line 9970 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 10000 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 605:
-#line 4087 "mrbgems/mruby-compiler/core/parse.y"
+#line 4117 "mrbgems/mruby-compiler/core/parse.y"
{
p->lineno += (yyvsp[0].num);
p->column = 0;
}
-#line 9979 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 10009 "mrbgems/mruby-compiler/core/y.tab.c"
break;
case 609:
-#line 4099 "mrbgems/mruby-compiler/core/parse.y"
+#line 4129 "mrbgems/mruby-compiler/core/parse.y"
{
(yyval.nd) = 0;
}
-#line 9987 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 10017 "mrbgems/mruby-compiler/core/y.tab.c"
break;
-#line 9991 "mrbgems/mruby-compiler/core/y.tab.c"
+#line 10021 "mrbgems/mruby-compiler/core/y.tab.c"
default: break;
}
@@ -10219,7 +10249,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 4103 "mrbgems/mruby-compiler/core/parse.y"
+#line 4133 "mrbgems/mruby-compiler/core/parse.y"
#define pylval (*((YYSTYPE*)(p->ylval)))