diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 6b1b0ec23..70cf9a93b 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -127,7 +127,7 @@ struct mrb_parser_state { int column; enum mrb_lex_state_enum lstate; - mrb_ast_node *lex_strterm; /* (type nest_level beg . end) */ + struct parser_lex_strterm *lex_strterm; unsigned int cond_stack; unsigned int cmdarg_stack; @@ -143,10 +143,8 @@ struct mrb_parser_state { int tidx; int tsiz; - mrb_ast_node *all_heredocs; /* list of mrb_parser_heredoc_info* */ mrb_ast_node *heredocs_from_nextline; mrb_ast_node *parsing_heredoc; - mrb_ast_node *lex_strterm_before_heredoc; void *ylval; diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index a4e2dda40..09e339710 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -1345,19 +1345,50 @@ label_reference(parser_state *p, mrb_sym sym) typedef enum mrb_string_type string_type; -static node* +typedef struct parser_lex_strterm { + int type; + int level; + int term; + int paren; + struct parser_lex_strterm *prev; +} parser_lex_strterm; + +static parser_lex_strterm* new_strterm(parser_state *p, string_type type, int term, int paren) { - return cons(nint(type), cons(nint(0), cons(nint(paren), nint(term)))); + parser_lex_strterm *lex = (parser_lex_strterm*)parser_palloc(p, sizeof(parser_lex_strterm)); + lex->type = type; + lex->level = 0; + lex->term = term; + lex->paren = paren; + lex->prev = p->lex_strterm; + return lex; } static void end_strterm(parser_state *p) { - cons_free(p->lex_strterm->cdr->cdr); - cons_free(p->lex_strterm->cdr); - cons_free(p->lex_strterm); + parser_lex_strterm *term = p->lex_strterm->prev; + if (sizeof(node) < sizeof(parser_lex_strterm)) { + cons_free((node*)p->lex_strterm); + } + p->lex_strterm = term; +} + +static node* +push_strterm(parser_state *p) +{ + node *n = cons((node*)p->lex_strterm, p->parsing_heredoc); p->lex_strterm = NULL; + return n; +} + +static void +pop_strterm(parser_state *p, node *n) +{ + p->lex_strterm = (parser_lex_strterm*)n->car; + p->parsing_heredoc = n->cdr; + cons_free(n); } static parser_heredoc_info * @@ -1373,28 +1404,11 @@ parsing_heredoc_info(parser_state *p) static void heredoc_treat_nextline(parser_state *p) { - if (p->heredocs_from_nextline == NULL) - return; - if (p->parsing_heredoc == NULL) { - p->all_heredocs = append(p->all_heredocs, p->heredocs_from_nextline); - } - else { - if (p->all_heredocs == p->parsing_heredoc) { - p->all_heredocs = append(p->heredocs_from_nextline, p->all_heredocs); - } - else { - node *n = p->all_heredocs; - mrb_assert(n != NULL); - append(p->heredocs_from_nextline, p->parsing_heredoc); - while (n->cdr != p->parsing_heredoc) { - n = n->cdr; - mrb_assert(n != NULL); - } - n->cdr = p->heredocs_from_nextline; - } + if (p->heredocs_from_nextline == NULL) return; + if (p->parsing_heredoc && p->lex_strterm) { + append(p->heredocs_from_nextline, p->parsing_heredoc); } p->parsing_heredoc = p->heredocs_from_nextline; - p->lex_strterm_before_heredoc = p->lex_strterm; p->lex_strterm = new_strterm(p, parsing_heredoc_info(p)->type, 0, 0); p->heredocs_from_nextline = NULL; } @@ -1406,15 +1420,13 @@ heredoc_end(parser_state *p) if (p->parsing_heredoc == NULL) { p->lstate = EXPR_BEG; end_strterm(p); - p->lex_strterm = p->lex_strterm_before_heredoc; - p->lex_strterm_before_heredoc = NULL; } else { /* next heredoc */ - p->lex_strterm->car = nint(parsing_heredoc_info(p)->type); + p->lex_strterm->type = parsing_heredoc_info(p)->type; } } -#define is_strterm_type(p,str_func) (intn((p)->lex_strterm->car) & (str_func)) +#define is_strterm_type(p,str_func) ((p)->lex_strterm->type & (str_func)) /* xxx ----------------------------- */ @@ -3347,13 +3359,12 @@ string_interp : tSTRING_MID } | tSTRING_PART { - $$ = p->lex_strterm; - p->lex_strterm = NULL; + $$ = push_strterm(p); } compstmt '}' { - p->lex_strterm = $2; + pop_strterm(p,$2); $$ = list2($1, $3); } | tLITERAL_DELIM @@ -3424,14 +3435,13 @@ heredoc_string_interp : tHD_STRING_MID } | tHD_STRING_PART { - $$ = p->lex_strterm; - p->lex_strterm = NULL; + $$ = push_strterm(p); } compstmt '}' { + pop_strterm(p, $2); parser_heredoc_info *info = parsing_heredoc_info(p); - p->lex_strterm = $2; info->doc = push(push(info->doc, $1), $3); } ; @@ -4810,10 +4820,10 @@ static int parse_string(parser_state *p) { int c; - string_type type = (string_type)(intptr_t)p->lex_strterm->car; - int nest_level = intn(p->lex_strterm->cdr->car); - int beg = intn(p->lex_strterm->cdr->cdr->car); - int end = intn(p->lex_strterm->cdr->cdr->cdr); + string_type type = (string_type)p->lex_strterm->type; + int nest_level = p->lex_strterm->level; + int beg = p->lex_strterm->paren; + int end = p->lex_strterm->term; parser_heredoc_info *hinfo = (type & STR_FUNC_HEREDOC) ? parsing_heredoc_info(p) : NULL; mrb_bool unindent = hinfo && hinfo->remove_indent; @@ -4889,11 +4899,11 @@ parse_string(parser_state *p) } else if (c == beg) { nest_level++; - p->lex_strterm->cdr->car = nint(nest_level); + p->lex_strterm->level = nest_level; } else if (c == end) { nest_level--; - p->lex_strterm->cdr->car = nint(nest_level); + p->lex_strterm->level = nest_level; } else if (c == '\\') { c = nextc(p); @@ -6668,8 +6678,6 @@ mrb_parser_new(mrb_state *mrb) p->tokbuf = p->buf; p->lex_strterm = NULL; - p->all_heredocs = p->parsing_heredoc = NULL; - p->lex_strterm_before_heredoc = NULL; p->current_filename_index = -1; p->filename_table = NULL; diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index c493d3192..15b2d4bfd 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -183,7 +183,7 @@ cons_gen(parser_state *p, node *car, node *cdr) p->cells = p->cells->cdr; } else { - c = (node *)parser_palloc(p, sizeof(mrb_ast_node)); + c = (node*)parser_palloc(p, sizeof(mrb_ast_node)); } c->car = car; @@ -259,7 +259,7 @@ append_gen(parser_state *p, node *a, node *b) static char* parser_strndup(parser_state *p, const char *s, size_t len) { - char *b = (char *)parser_palloc(p, len+1); + char *b = (char*)parser_palloc(p, len+1); memcpy(b, s, len); b[len] = '\0'; @@ -1244,7 +1244,7 @@ new_nth_ref(parser_state *p, int n) static node* new_heredoc(parser_state *p) { - parser_heredoc_info *inf = (parser_heredoc_info *)parser_palloc(p, sizeof(parser_heredoc_info)); + parser_heredoc_info *inf = (parser_heredoc_info*)parser_palloc(p, sizeof(parser_heredoc_info)); return cons((node*)NODE_HEREDOC, (node*)inf); } @@ -1408,19 +1408,50 @@ label_reference(parser_state *p, mrb_sym sym) typedef enum mrb_string_type string_type; -static node* +typedef struct parser_lex_strterm { + int type; + int level; + int term; + int paren; + struct parser_lex_strterm *prev; +} parser_lex_strterm; + +static parser_lex_strterm* new_strterm(parser_state *p, string_type type, int term, int paren) { - return cons(nint(type), cons(nint(0), cons(nint(paren), nint(term)))); + parser_lex_strterm *lex = (parser_lex_strterm*)parser_palloc(p, sizeof(parser_lex_strterm)); + lex->type = type; + lex->level = 0; + lex->term = term; + lex->paren = paren; + lex->prev = p->lex_strterm; + return lex; } static void end_strterm(parser_state *p) { - cons_free(p->lex_strterm->cdr->cdr); - cons_free(p->lex_strterm->cdr); - cons_free(p->lex_strterm); + parser_lex_strterm *term = p->lex_strterm->prev; + if (sizeof(node) < sizeof(parser_lex_strterm)) { + cons_free((node*)p->lex_strterm); + } + p->lex_strterm = term; +} + +static node* +push_strterm(parser_state *p) +{ + node *n = cons((node*)p->lex_strterm, p->parsing_heredoc); p->lex_strterm = NULL; + return n; +} + +static void +pop_strterm(parser_state *p, node *n) +{ + p->lex_strterm = (parser_lex_strterm*)n->car; + p->parsing_heredoc = n->cdr; + cons_free(n); } static parser_heredoc_info * @@ -1436,28 +1467,11 @@ parsing_heredoc_info(parser_state *p) static void heredoc_treat_nextline(parser_state *p) { - if (p->heredocs_from_nextline == NULL) - return; - if (p->parsing_heredoc == NULL) { - p->all_heredocs = append(p->all_heredocs, p->heredocs_from_nextline); - } - else { - if (p->all_heredocs == p->parsing_heredoc) { - p->all_heredocs = append(p->heredocs_from_nextline, p->all_heredocs); - } - else { - node *n = p->all_heredocs; - mrb_assert(n != NULL); - append(p->heredocs_from_nextline, p->parsing_heredoc); - while (n->cdr != p->parsing_heredoc) { - n = n->cdr; - mrb_assert(n != NULL); - } - n->cdr = p->heredocs_from_nextline; - } + if (p->heredocs_from_nextline == NULL) return; + if (p->parsing_heredoc && p->lex_strterm) { + append(p->heredocs_from_nextline, p->parsing_heredoc); } p->parsing_heredoc = p->heredocs_from_nextline; - p->lex_strterm_before_heredoc = p->lex_strterm; p->lex_strterm = new_strterm(p, parsing_heredoc_info(p)->type, 0, 0); p->heredocs_from_nextline = NULL; } @@ -1469,20 +1483,18 @@ heredoc_end(parser_state *p) if (p->parsing_heredoc == NULL) { p->lstate = EXPR_BEG; end_strterm(p); - p->lex_strterm = p->lex_strterm_before_heredoc; - p->lex_strterm_before_heredoc = NULL; } else { /* next heredoc */ - p->lex_strterm->car = nint(parsing_heredoc_info(p)->type); + p->lex_strterm->type = parsing_heredoc_info(p)->type; } } -#define is_strterm_type(p,str_func) (intn((p)->lex_strterm->car) & (str_func)) +#define is_strterm_type(p,str_func) ((p)->lex_strterm->type & (str_func)) /* xxx ----------------------------- */ -#line 1486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1498 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -1654,7 +1666,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1428 "mrbgems/mruby-compiler/core/parse.y" +#line 1440 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -1662,7 +1674,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 1666 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1678 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2048,68 +2060,68 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 1599, 1599, 1599, 1610, 1616, 1620, 1625, 1629, 1635, - 1637, 1636, 1650, 1677, 1683, 1687, 1692, 1696, 1702, 1702, - 1706, 1710, 1714, 1718, 1722, 1726, 1730, 1735, 1736, 1740, - 1744, 1748, 1752, 1758, 1761, 1765, 1769, 1773, 1777, 1781, - 1786, 1790, 1799, 1808, 1817, 1826, 1833, 1834, 1838, 1842, - 1843, 1847, 1851, 1855, 1859, 1863, 1873, 1872, 1887, 1896, - 1897, 1900, 1901, 1908, 1907, 1922, 1926, 1931, 1935, 1940, - 1944, 1949, 1953, 1957, 1961, 1965, 1971, 1975, 1981, 1982, - 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024, - 2030, 2031, 2037, 2041, 2047, 2051, 2057, 2061, 2065, 2069, - 2073, 2077, 2083, 2089, 2096, 2100, 2104, 2108, 2112, 2116, - 2122, 2128, 2133, 2139, 2143, 2146, 2150, 2154, 2161, 2162, - 2163, 2164, 2169, 2176, 2177, 2180, 2184, 2184, 2190, 2191, - 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, - 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, - 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2222, 2222, - 2222, 2223, 2223, 2224, 2224, 2224, 2225, 2225, 2225, 2225, - 2226, 2226, 2226, 2227, 2227, 2227, 2228, 2228, 2228, 2228, - 2229, 2229, 2229, 2229, 2230, 2230, 2230, 2230, 2231, 2231, - 2231, 2231, 2232, 2232, 2232, 2232, 2233, 2233, 2236, 2240, - 2244, 2248, 2252, 2256, 2260, 2265, 2270, 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, 2395, 2399, 2403, - 2407, 2411, 2415, 2419, 2423, 2432, 2441, 2450, 2459, 2465, - 2466, 2471, 2475, 2482, 2486, 2493, 2497, 2506, 2523, 2524, - 2527, 2528, 2529, 2534, 2539, 2546, 2552, 2557, 2562, 2567, - 2574, 2574, 2585, 2589, 2595, 2599, 2605, 2608, 2614, 2618, - 2623, 2628, 2634, 2639, 2643, 2649, 2650, 2651, 2652, 2653, - 2654, 2655, 2656, 2660, 2665, 2664, 2676, 2680, 2675, 2685, - 2685, 2689, 2693, 2697, 2701, 2706, 2711, 2715, 2719, 2723, - 2727, 2731, 2732, 2738, 2745, 2737, 2758, 2766, 2774, 2774, - 2774, 2781, 2781, 2781, 2788, 2794, 2799, 2801, 2798, 2810, - 2808, 2826, 2831, 2824, 2848, 2846, 2862, 2872, 2883, 2887, - 2891, 2895, 2901, 2908, 2909, 2910, 2913, 2914, 2917, 2918, - 2926, 2927, 2933, 2937, 2940, 2944, 2948, 2952, 2957, 2961, - 2965, 2969, 2975, 2974, 2984, 2988, 2992, 2996, 3002, 3007, - 3012, 3016, 3020, 3024, 3028, 3032, 3036, 3040, 3044, 3048, - 3052, 3056, 3060, 3064, 3068, 3074, 3079, 3086, 3086, 3090, - 3095, 3102, 3106, 3112, 3113, 3116, 3121, 3124, 3128, 3134, - 3138, 3145, 3144, 3159, 3169, 3173, 3178, 3185, 3189, 3193, - 3197, 3201, 3205, 3209, 3213, 3217, 3224, 3223, 3238, 3237, - 3253, 3261, 3270, 3273, 3280, 3283, 3287, 3288, 3291, 3295, - 3298, 3302, 3305, 3306, 3307, 3308, 3311, 3312, 3318, 3319, - 3320, 3324, 3337, 3338, 3344, 3349, 3348, 3359, 3363, 3369, - 3373, 3386, 3390, 3396, 3399, 3400, 3403, 3409, 3415, 3416, - 3419, 3426, 3425, 3439, 3443, 3457, 3462, 3476, 3482, 3483, - 3484, 3485, 3486, 3490, 3496, 3500, 3510, 3511, 3512, 3516, - 3522, 3526, 3530, 3534, 3538, 3544, 3548, 3554, 3558, 3562, - 3566, 3570, 3574, 3582, 3589, 3595, 3596, 3600, 3604, 3603, - 3620, 3621, 3624, 3630, 3634, 3640, 3641, 3645, 3649, 3655, - 3661, 3667, 3674, 3680, 3687, 3691, 3697, 3701, 3707, 3708, - 3711, 3715, 3721, 3725, 3729, 3733, 3739, 3744, 3749, 3753, - 3757, 3761, 3765, 3769, 3773, 3777, 3781, 3785, 3789, 3793, - 3797, 3801, 3806, 3812, 3817, 3822, 3827, 3832, 3839, 3843, - 3850, 3855, 3854, 3866, 3870, 3876, 3884, 3892, 3900, 3904, - 3910, 3914, 3920, 3921, 3924, 3929, 3936, 3937, 3940, 3944, - 3950, 3954, 3960, 3965, 3965, 3990, 3991, 3997, 4002, 4008, - 4014, 4019, 4023, 4033, 4038, 4044, 4045, 4046, 4049, 4050, - 4051, 4052, 4055, 4056, 4057, 4060, 4061, 4064, 4068, 4074, - 4075, 4081, 4082, 4085, 4086, 4089, 4092, 4093, 4094, 4097, - 4098, 4101, 4106, 4109, 4110, 4114 + 0, 1611, 1611, 1611, 1622, 1628, 1632, 1637, 1641, 1647, + 1649, 1648, 1662, 1689, 1695, 1699, 1704, 1708, 1714, 1714, + 1718, 1722, 1726, 1730, 1734, 1738, 1742, 1747, 1748, 1752, + 1756, 1760, 1764, 1770, 1773, 1777, 1781, 1785, 1789, 1793, + 1798, 1802, 1811, 1820, 1829, 1838, 1845, 1846, 1850, 1854, + 1855, 1859, 1863, 1867, 1871, 1875, 1885, 1884, 1899, 1908, + 1909, 1912, 1913, 1920, 1919, 1934, 1938, 1943, 1947, 1952, + 1956, 1961, 1965, 1969, 1973, 1977, 1983, 1987, 1993, 1994, + 2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036, + 2042, 2043, 2049, 2053, 2059, 2063, 2069, 2073, 2077, 2081, + 2085, 2089, 2095, 2101, 2108, 2112, 2116, 2120, 2124, 2128, + 2134, 2140, 2145, 2151, 2155, 2158, 2162, 2166, 2173, 2174, + 2175, 2176, 2181, 2188, 2189, 2192, 2196, 2196, 2202, 2203, + 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, + 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, + 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2234, 2234, + 2234, 2235, 2235, 2236, 2236, 2236, 2237, 2237, 2237, 2237, + 2238, 2238, 2238, 2239, 2239, 2239, 2240, 2240, 2240, 2240, + 2241, 2241, 2241, 2241, 2242, 2242, 2242, 2242, 2243, 2243, + 2243, 2243, 2244, 2244, 2244, 2244, 2245, 2245, 2248, 2252, + 2256, 2260, 2264, 2268, 2272, 2277, 2282, 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, 2395, 2399, 2403, 2407, 2411, 2415, + 2419, 2423, 2427, 2431, 2435, 2444, 2453, 2462, 2471, 2477, + 2478, 2483, 2487, 2494, 2498, 2505, 2509, 2518, 2535, 2536, + 2539, 2540, 2541, 2546, 2551, 2558, 2564, 2569, 2574, 2579, + 2586, 2586, 2597, 2601, 2607, 2611, 2617, 2620, 2626, 2630, + 2635, 2640, 2646, 2651, 2655, 2661, 2662, 2663, 2664, 2665, + 2666, 2667, 2668, 2672, 2677, 2676, 2688, 2692, 2687, 2697, + 2697, 2701, 2705, 2709, 2713, 2718, 2723, 2727, 2731, 2735, + 2739, 2743, 2744, 2750, 2757, 2749, 2770, 2778, 2786, 2786, + 2786, 2793, 2793, 2793, 2800, 2806, 2811, 2813, 2810, 2822, + 2820, 2838, 2843, 2836, 2860, 2858, 2874, 2884, 2895, 2899, + 2903, 2907, 2913, 2920, 2921, 2922, 2925, 2926, 2929, 2930, + 2938, 2939, 2945, 2949, 2952, 2956, 2960, 2964, 2969, 2973, + 2977, 2981, 2987, 2986, 2996, 3000, 3004, 3008, 3014, 3019, + 3024, 3028, 3032, 3036, 3040, 3044, 3048, 3052, 3056, 3060, + 3064, 3068, 3072, 3076, 3080, 3086, 3091, 3098, 3098, 3102, + 3107, 3114, 3118, 3124, 3125, 3128, 3133, 3136, 3140, 3146, + 3150, 3157, 3156, 3171, 3181, 3185, 3190, 3197, 3201, 3205, + 3209, 3213, 3217, 3221, 3225, 3229, 3236, 3235, 3250, 3249, + 3265, 3273, 3282, 3285, 3292, 3295, 3299, 3300, 3303, 3307, + 3310, 3314, 3317, 3318, 3319, 3320, 3323, 3324, 3330, 3331, + 3332, 3336, 3349, 3350, 3356, 3361, 3360, 3370, 3374, 3380, + 3384, 3397, 3401, 3407, 3410, 3411, 3414, 3420, 3426, 3427, + 3430, 3437, 3436, 3449, 3453, 3467, 3472, 3486, 3492, 3493, + 3494, 3495, 3496, 3500, 3506, 3510, 3520, 3521, 3522, 3526, + 3532, 3536, 3540, 3544, 3548, 3554, 3558, 3564, 3568, 3572, + 3576, 3580, 3584, 3592, 3599, 3605, 3606, 3610, 3614, 3613, + 3630, 3631, 3634, 3640, 3644, 3650, 3651, 3655, 3659, 3665, + 3671, 3677, 3684, 3690, 3697, 3701, 3707, 3711, 3717, 3718, + 3721, 3725, 3731, 3735, 3739, 3743, 3749, 3754, 3759, 3763, + 3767, 3771, 3775, 3779, 3783, 3787, 3791, 3795, 3799, 3803, + 3807, 3811, 3816, 3822, 3827, 3832, 3837, 3842, 3849, 3853, + 3860, 3865, 3864, 3876, 3880, 3886, 3894, 3902, 3910, 3914, + 3920, 3924, 3930, 3931, 3934, 3939, 3946, 3947, 3950, 3954, + 3960, 3964, 3970, 3975, 3975, 4000, 4001, 4007, 4012, 4018, + 4024, 4029, 4033, 4043, 4048, 4054, 4055, 4056, 4059, 4060, + 4061, 4062, 4065, 4066, 4067, 4070, 4071, 4074, 4078, 4084, + 4085, 4091, 4092, 4095, 4096, 4099, 4102, 4103, 4104, 4107, + 4108, 4111, 4116, 4119, 4120, 4124 }; #endif @@ -6126,86 +6138,86 @@ yyreduce: switch (yyn) { case 2: -#line 1599 "mrbgems/mruby-compiler/core/parse.y" +#line 1611 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 6135 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6147 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: -#line 1604 "mrbgems/mruby-compiler/core/parse.y" +#line 1616 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); NODE_LINENO(p->tree, (yyvsp[0].nd)); } -#line 6144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6156 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: -#line 1611 "mrbgems/mruby-compiler/core/parse.y" +#line 1623 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6164 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: -#line 1617 "mrbgems/mruby-compiler/core/parse.y" +#line 1629 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6172 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: -#line 1621 "mrbgems/mruby-compiler/core/parse.y" +#line 1633 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6169 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6181 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: -#line 1626 "mrbgems/mruby-compiler/core/parse.y" +#line 1638 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6177 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6189 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: -#line 1630 "mrbgems/mruby-compiler/core/parse.y" +#line 1642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6185 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6197 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: -#line 1637 "mrbgems/mruby-compiler/core/parse.y" +#line 1649 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 6194 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6206 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: -#line 1642 "mrbgems/mruby-compiler/core/parse.y" +#line 1654 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 6205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6217 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: -#line 1654 "mrbgems/mruby-compiler/core/parse.y" +#line 1666 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -6227,222 +6239,222 @@ yyreduce: } } } -#line 6231 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: -#line 1678 "mrbgems/mruby-compiler/core/parse.y" +#line 1690 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: -#line 1684 "mrbgems/mruby-compiler/core/parse.y" +#line 1696 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6247 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: -#line 1688 "mrbgems/mruby-compiler/core/parse.y" +#line 1700 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6268 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: -#line 1693 "mrbgems/mruby-compiler/core/parse.y" +#line 1705 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: -#line 1697 "mrbgems/mruby-compiler/core/parse.y" +#line 1709 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); } -#line 6272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6284 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: -#line 1702 "mrbgems/mruby-compiler/core/parse.y" +#line 1714 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 6278 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6290 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: -#line 1703 "mrbgems/mruby-compiler/core/parse.y" +#line 1715 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 6286 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6298 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: -#line 1707 "mrbgems/mruby-compiler/core/parse.y" +#line 1719 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6294 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6306 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: -#line 1711 "mrbgems/mruby-compiler/core/parse.y" +#line 1723 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6302 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6314 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: -#line 1715 "mrbgems/mruby-compiler/core/parse.y" +#line 1727 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_unless(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6310 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6322 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: -#line 1719 "mrbgems/mruby-compiler/core/parse.y" +#line 1731 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6318 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6330 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: -#line 1723 "mrbgems/mruby-compiler/core/parse.y" +#line 1735 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6326 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6338 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: -#line 1727 "mrbgems/mruby-compiler/core/parse.y" +#line 1739 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6334 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6346 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: -#line 1731 "mrbgems/mruby-compiler/core/parse.y" +#line 1743 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 6343 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6355 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: -#line 1737 "mrbgems/mruby-compiler/core/parse.y" +#line 1749 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6363 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: -#line 1741 "mrbgems/mruby-compiler/core/parse.y" +#line 1753 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6371 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: -#line 1745 "mrbgems/mruby-compiler/core/parse.y" +#line 1757 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6367 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6379 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: -#line 1749 "mrbgems/mruby-compiler/core/parse.y" +#line 1761 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6375 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6387 "mrbgems/mruby-compiler/core/y.tab.c" break; case 32: -#line 1753 "mrbgems/mruby-compiler/core/parse.y" +#line 1765 "mrbgems/mruby-compiler/core/parse.y" { node *lhs = new_lvar(p, (yyvsp[0].id)); assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 6385 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6397 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: -#line 1762 "mrbgems/mruby-compiler/core/parse.y" +#line 1774 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6393 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: -#line 1766 "mrbgems/mruby-compiler/core/parse.y" +#line 1778 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6401 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: -#line 1770 "mrbgems/mruby-compiler/core/parse.y" +#line 1782 "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 6409 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6421 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: -#line 1774 "mrbgems/mruby-compiler/core/parse.y" +#line 1786 "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 6417 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6429 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: -#line 1778 "mrbgems/mruby-compiler/core/parse.y" +#line 1790 "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 6425 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6437 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: -#line 1782 "mrbgems/mruby-compiler/core/parse.y" +#line 1794 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = 0; } -#line 6434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6446 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: -#line 1787 "mrbgems/mruby-compiler/core/parse.y" +#line 1799 "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 6442 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6454 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: -#line 1791 "mrbgems/mruby-compiler/core/parse.y" +#line 1803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -6451,11 +6463,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 6455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6467 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: -#line 1800 "mrbgems/mruby-compiler/core/parse.y" +#line 1812 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -6464,11 +6476,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 6468 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6480 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: -#line 1809 "mrbgems/mruby-compiler/core/parse.y" +#line 1821 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -6477,11 +6489,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 6481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6493 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: -#line 1818 "mrbgems/mruby-compiler/core/parse.y" +#line 1830 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -6490,79 +6502,79 @@ yyreduce: p->in_def--; p->in_single--; } -#line 6494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6506 "mrbgems/mruby-compiler/core/y.tab.c" break; case 45: -#line 1827 "mrbgems/mruby-compiler/core/parse.y" +#line 1839 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 6503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 47: -#line 1835 "mrbgems/mruby-compiler/core/parse.y" +#line 1847 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: -#line 1844 "mrbgems/mruby-compiler/core/parse.y" +#line 1856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6531 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: -#line 1848 "mrbgems/mruby-compiler/core/parse.y" +#line 1860 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6527 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6539 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: -#line 1852 "mrbgems/mruby-compiler/core/parse.y" +#line 1864 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6547 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: -#line 1856 "mrbgems/mruby-compiler/core/parse.y" +#line 1868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6555 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: -#line 1864 "mrbgems/mruby-compiler/core/parse.y" +#line 1876 "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 6554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6566 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: -#line 1873 "mrbgems/mruby-compiler/core/parse.y" +#line 1885 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 6562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 57: -#line 1877 "mrbgems/mruby-compiler/core/parse.y" +#line 1889 "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; @@ -6571,1054 +6583,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 6575 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: -#line 1888 "mrbgems/mruby-compiler/core/parse.y" +#line 1900 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 6586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6598 "mrbgems/mruby-compiler/core/y.tab.c" break; case 62: -#line 1902 "mrbgems/mruby-compiler/core/parse.y" +#line 1914 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 63: -#line 1908 "mrbgems/mruby-compiler/core/parse.y" +#line 1920 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 6603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6615 "mrbgems/mruby-compiler/core/y.tab.c" break; case 64: -#line 1915 "mrbgems/mruby-compiler/core/parse.y" +#line 1927 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 6613 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6625 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: -#line 1923 "mrbgems/mruby-compiler/core/parse.y" +#line 1935 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6621 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6633 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: -#line 1927 "mrbgems/mruby-compiler/core/parse.y" +#line 1939 "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 6630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6642 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: -#line 1932 "mrbgems/mruby-compiler/core/parse.y" +#line 1944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6650 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: -#line 1936 "mrbgems/mruby-compiler/core/parse.y" +#line 1948 "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 6647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6659 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: -#line 1941 "mrbgems/mruby-compiler/core/parse.y" +#line 1953 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 6655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6667 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: -#line 1945 "mrbgems/mruby-compiler/core/parse.y" +#line 1957 "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 6664 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6676 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: -#line 1950 "mrbgems/mruby-compiler/core/parse.y" +#line 1962 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 6672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6684 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: -#line 1954 "mrbgems/mruby-compiler/core/parse.y" +#line 1966 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 6680 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6692 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: -#line 1958 "mrbgems/mruby-compiler/core/parse.y" +#line 1970 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 6688 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6700 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: -#line 1962 "mrbgems/mruby-compiler/core/parse.y" +#line 1974 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 6696 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: -#line 1966 "mrbgems/mruby-compiler/core/parse.y" +#line 1978 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 6704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: -#line 1972 "mrbgems/mruby-compiler/core/parse.y" +#line 1984 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6712 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: -#line 1976 "mrbgems/mruby-compiler/core/parse.y" +#line 1988 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6720 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6732 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: -#line 1983 "mrbgems/mruby-compiler/core/parse.y" +#line 1995 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6728 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6740 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: -#line 1989 "mrbgems/mruby-compiler/core/parse.y" +#line 2001 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6736 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6748 "mrbgems/mruby-compiler/core/y.tab.c" break; case 81: -#line 1993 "mrbgems/mruby-compiler/core/parse.y" +#line 2005 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 6744 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6756 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: -#line 1997 "mrbgems/mruby-compiler/core/parse.y" +#line 2009 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6752 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6764 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: -#line 2001 "mrbgems/mruby-compiler/core/parse.y" +#line 2013 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6760 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6772 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: -#line 2005 "mrbgems/mruby-compiler/core/parse.y" +#line 2017 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 6768 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6780 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: -#line 2009 "mrbgems/mruby-compiler/core/parse.y" +#line 2021 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 6776 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6788 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: -#line 2013 "mrbgems/mruby-compiler/core/parse.y" +#line 2025 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 6784 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: -#line 2017 "mrbgems/mruby-compiler/core/parse.y" +#line 2029 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6792 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6804 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: -#line 2021 "mrbgems/mruby-compiler/core/parse.y" +#line 2033 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 6800 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6812 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: -#line 2025 "mrbgems/mruby-compiler/core/parse.y" +#line 2037 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 6808 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6820 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: -#line 2032 "mrbgems/mruby-compiler/core/parse.y" +#line 2044 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 6816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: -#line 2038 "mrbgems/mruby-compiler/core/parse.y" +#line 2050 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 6824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6836 "mrbgems/mruby-compiler/core/y.tab.c" break; case 93: -#line 2042 "mrbgems/mruby-compiler/core/parse.y" +#line 2054 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 6832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6844 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: -#line 2048 "mrbgems/mruby-compiler/core/parse.y" +#line 2060 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6852 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: -#line 2052 "mrbgems/mruby-compiler/core/parse.y" +#line 2064 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 6848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6860 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: -#line 2058 "mrbgems/mruby-compiler/core/parse.y" +#line 2070 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 6856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6868 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: -#line 2062 "mrbgems/mruby-compiler/core/parse.y" +#line 2074 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 6864 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6876 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: -#line 2066 "mrbgems/mruby-compiler/core/parse.y" +#line 2078 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6872 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6884 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: -#line 2070 "mrbgems/mruby-compiler/core/parse.y" +#line 2082 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 6880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6892 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: -#line 2074 "mrbgems/mruby-compiler/core/parse.y" +#line 2086 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6888 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6900 "mrbgems/mruby-compiler/core/y.tab.c" break; case 101: -#line 2078 "mrbgems/mruby-compiler/core/parse.y" +#line 2090 "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 6898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6910 "mrbgems/mruby-compiler/core/y.tab.c" break; case 102: -#line 2084 "mrbgems/mruby-compiler/core/parse.y" +#line 2096 "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 6908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6920 "mrbgems/mruby-compiler/core/y.tab.c" break; case 103: -#line 2090 "mrbgems/mruby-compiler/core/parse.y" +#line 2102 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 6917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6929 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: -#line 2097 "mrbgems/mruby-compiler/core/parse.y" +#line 2109 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 6925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6937 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: -#line 2101 "mrbgems/mruby-compiler/core/parse.y" +#line 2113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 6933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6945 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: -#line 2105 "mrbgems/mruby-compiler/core/parse.y" +#line 2117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6953 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: -#line 2109 "mrbgems/mruby-compiler/core/parse.y" +#line 2121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 6949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6961 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: -#line 2113 "mrbgems/mruby-compiler/core/parse.y" +#line 2125 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6969 "mrbgems/mruby-compiler/core/y.tab.c" break; case 109: -#line 2117 "mrbgems/mruby-compiler/core/parse.y" +#line 2129 "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 6967 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6979 "mrbgems/mruby-compiler/core/y.tab.c" break; case 110: -#line 2123 "mrbgems/mruby-compiler/core/parse.y" +#line 2135 "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 6977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6989 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: -#line 2129 "mrbgems/mruby-compiler/core/parse.y" +#line 2141 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 6986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: -#line 2134 "mrbgems/mruby-compiler/core/parse.y" +#line 2146 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 6994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7006 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: -#line 2140 "mrbgems/mruby-compiler/core/parse.y" +#line 2152 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "class/module name must be CONSTANT"); } -#line 7002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7014 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: -#line 2147 "mrbgems/mruby-compiler/core/parse.y" +#line 2159 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(nint(1), nsym((yyvsp[0].id))); } -#line 7010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7022 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: -#line 2151 "mrbgems/mruby-compiler/core/parse.y" +#line 2163 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(nint(0), nsym((yyvsp[0].id))); } -#line 7018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7030 "mrbgems/mruby-compiler/core/y.tab.c" break; case 117: -#line 2155 "mrbgems/mruby-compiler/core/parse.y" +#line 2167 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), nsym((yyvsp[0].id))); } -#line 7027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7039 "mrbgems/mruby-compiler/core/y.tab.c" break; case 121: -#line 2165 "mrbgems/mruby-compiler/core/parse.y" +#line 2177 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7048 "mrbgems/mruby-compiler/core/y.tab.c" break; case 122: -#line 2170 "mrbgems/mruby-compiler/core/parse.y" +#line 2182 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7045 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: -#line 2181 "mrbgems/mruby-compiler/core/parse.y" +#line 2193 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].id)); } -#line 7053 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 126: -#line 2184 "mrbgems/mruby-compiler/core/parse.y" +#line 2196 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7071 "mrbgems/mruby-compiler/core/y.tab.c" break; case 127: -#line 2185 "mrbgems/mruby-compiler/core/parse.y" +#line 2197 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), nsym((yyvsp[0].id))); } -#line 7067 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 128: -#line 2190 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(or); } -#line 7073 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 129: -#line 2191 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(xor); } #line 7079 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 130: -#line 2192 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(and); } + case 128: +#line 2202 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(or); } #line 7085 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 131: -#line 2193 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(cmp); } + case 129: +#line 2203 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(xor); } #line 7091 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 132: -#line 2194 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eq); } + case 130: +#line 2204 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(and); } #line 7097 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 133: -#line 2195 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eqq); } + case 131: +#line 2205 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(cmp); } #line 7103 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 134: -#line 2196 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(match); } + case 132: +#line 2206 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eq); } #line 7109 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 135: -#line 2197 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(nmatch); } + case 133: +#line 2207 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eqq); } #line 7115 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 136: -#line 2198 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(gt); } + case 134: +#line 2208 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(match); } #line 7121 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 137: -#line 2199 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(ge); } + case 135: +#line 2209 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(nmatch); } #line 7127 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 138: -#line 2200 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lt); } + case 136: +#line 2210 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(gt); } #line 7133 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 139: -#line 2201 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(le); } + case 137: +#line 2211 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(ge); } #line 7139 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 140: -#line 2202 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neq); } + case 138: +#line 2212 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lt); } #line 7145 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 141: -#line 2203 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lshift); } + case 139: +#line 2213 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(le); } #line 7151 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 142: -#line 2204 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(rshift); } + case 140: +#line 2214 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neq); } #line 7157 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 143: -#line 2205 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(add); } + case 141: +#line 2215 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lshift); } #line 7163 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 144: -#line 2206 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(sub); } + case 142: +#line 2216 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(rshift); } #line 7169 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 145: -#line 2207 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } + case 143: +#line 2217 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(add); } #line 7175 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 146: -#line 2208 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } + case 144: +#line 2218 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(sub); } #line 7181 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 147: -#line 2209 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(div); } + case 145: +#line 2219 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } #line 7187 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 148: -#line 2210 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mod); } + case 146: +#line 2220 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } #line 7193 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 149: -#line 2211 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } + case 147: +#line 2221 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(div); } #line 7199 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 150: -#line 2212 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } + case 148: +#line 2222 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mod); } #line 7205 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 151: -#line 2213 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(not); } + case 149: +#line 2223 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } #line 7211 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 152: -#line 2214 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neg); } + case 150: +#line 2224 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } #line 7217 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 153: -#line 2215 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(plus); } + case 151: +#line 2225 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(not); } #line 7223 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 154: -#line 2216 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(minus); } + case 152: +#line 2226 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neg); } #line 7229 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 155: -#line 2217 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aref); } + case 153: +#line 2227 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(plus); } #line 7235 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 156: -#line 2218 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aset); } + case 154: +#line 2228 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(minus); } #line 7241 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 157: -#line 2219 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(tick); } + case 155: +#line 2229 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aref); } #line 7247 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 156: +#line 2230 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aset); } +#line 7253 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 157: +#line 2231 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(tick); } +#line 7259 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 198: -#line 2237 "mrbgems/mruby-compiler/core/parse.y" +#line 2249 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 199: -#line 2241 "mrbgems/mruby-compiler/core/parse.y" +#line 2253 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7263 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 200: -#line 2245 "mrbgems/mruby-compiler/core/parse.y" +#line 2257 "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 7271 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7283 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: -#line 2249 "mrbgems/mruby-compiler/core/parse.y" +#line 2261 "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 7279 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: -#line 2253 "mrbgems/mruby-compiler/core/parse.y" +#line 2265 "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 7287 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7299 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: -#line 2257 "mrbgems/mruby-compiler/core/parse.y" +#line 2269 "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 7295 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7307 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: -#line 2261 "mrbgems/mruby-compiler/core/parse.y" +#line 2273 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7316 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: -#line 2266 "mrbgems/mruby-compiler/core/parse.y" +#line 2278 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: -#line 2271 "mrbgems/mruby-compiler/core/parse.y" +#line 2283 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 7322 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: -#line 2276 "mrbgems/mruby-compiler/core/parse.y" +#line 2288 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7330 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7342 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: -#line 2280 "mrbgems/mruby-compiler/core/parse.y" +#line 2292 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7338 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7350 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: -#line 2284 "mrbgems/mruby-compiler/core/parse.y" +#line 2296 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 7346 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7358 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: -#line 2288 "mrbgems/mruby-compiler/core/parse.y" +#line 2300 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7354 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7366 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: -#line 2292 "mrbgems/mruby-compiler/core/parse.y" +#line 2304 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: -#line 2296 "mrbgems/mruby-compiler/core/parse.y" +#line 2308 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 7370 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7382 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: -#line 2300 "mrbgems/mruby-compiler/core/parse.y" +#line 2312 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 7378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7390 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: -#line 2304 "mrbgems/mruby-compiler/core/parse.y" +#line 2316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 7386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7398 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: -#line 2308 "mrbgems/mruby-compiler/core/parse.y" +#line 2320 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 7394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7406 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: -#line 2312 "mrbgems/mruby-compiler/core/parse.y" +#line 2324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 7402 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7414 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: -#line 2316 "mrbgems/mruby-compiler/core/parse.y" +#line 2328 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 7410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7422 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: -#line 2320 "mrbgems/mruby-compiler/core/parse.y" +#line 2332 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 7418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7430 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: -#line 2324 "mrbgems/mruby-compiler/core/parse.y" +#line 2336 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 7426 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7438 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: -#line 2328 "mrbgems/mruby-compiler/core/parse.y" +#line 2340 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 7434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7446 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: -#line 2332 "mrbgems/mruby-compiler/core/parse.y" +#line 2344 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 7442 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7454 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: -#line 2336 "mrbgems/mruby-compiler/core/parse.y" +#line 2348 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 7450 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7462 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: -#line 2340 "mrbgems/mruby-compiler/core/parse.y" +#line 2352 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 7458 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7470 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: -#line 2344 "mrbgems/mruby-compiler/core/parse.y" +#line 2356 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 7466 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7478 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: -#line 2348 "mrbgems/mruby-compiler/core/parse.y" +#line 2360 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 7474 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7486 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: -#line 2352 "mrbgems/mruby-compiler/core/parse.y" +#line 2364 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 7482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7494 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: -#line 2356 "mrbgems/mruby-compiler/core/parse.y" +#line 2368 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 7490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: -#line 2360 "mrbgems/mruby-compiler/core/parse.y" +#line 2372 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 7498 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7510 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: -#line 2364 "mrbgems/mruby-compiler/core/parse.y" +#line 2376 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 7506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7518 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: -#line 2368 "mrbgems/mruby-compiler/core/parse.y" +#line 2380 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 7514 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7526 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: -#line 2372 "mrbgems/mruby-compiler/core/parse.y" +#line 2384 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 7522 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7534 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: -#line 2376 "mrbgems/mruby-compiler/core/parse.y" +#line 2388 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 7530 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7542 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: -#line 2380 "mrbgems/mruby-compiler/core/parse.y" +#line 2392 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 7538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7550 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: -#line 2384 "mrbgems/mruby-compiler/core/parse.y" +#line 2396 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 7546 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7558 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: -#line 2388 "mrbgems/mruby-compiler/core/parse.y" +#line 2400 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 7554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7566 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: -#line 2392 "mrbgems/mruby-compiler/core/parse.y" +#line 2404 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: -#line 2396 "mrbgems/mruby-compiler/core/parse.y" +#line 2408 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 7570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7582 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: -#line 2400 "mrbgems/mruby-compiler/core/parse.y" +#line 2412 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 7578 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7590 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: -#line 2404 "mrbgems/mruby-compiler/core/parse.y" +#line 2416 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 7586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7598 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: -#line 2408 "mrbgems/mruby-compiler/core/parse.y" +#line 2420 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: -#line 2412 "mrbgems/mruby-compiler/core/parse.y" +#line 2424 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7614 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: -#line 2416 "mrbgems/mruby-compiler/core/parse.y" +#line 2428 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7610 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: -#line 2420 "mrbgems/mruby-compiler/core/parse.y" +#line 2432 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7618 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: -#line 2424 "mrbgems/mruby-compiler/core/parse.y" +#line 2436 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -7627,11 +7639,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7643 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: -#line 2433 "mrbgems/mruby-compiler/core/parse.y" +#line 2445 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -7640,11 +7652,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: -#line 2442 "mrbgems/mruby-compiler/core/parse.y" +#line 2454 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7653,11 +7665,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7657 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7669 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: -#line 2451 "mrbgems/mruby-compiler/core/parse.y" +#line 2463 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7666,70 +7678,70 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7682 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: -#line 2460 "mrbgems/mruby-compiler/core/parse.y" +#line 2472 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7690 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: -#line 2467 "mrbgems/mruby-compiler/core/parse.y" +#line 2479 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7699 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: -#line 2472 "mrbgems/mruby-compiler/core/parse.y" +#line 2484 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 7695 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7707 "mrbgems/mruby-compiler/core/y.tab.c" break; case 252: -#line 2476 "mrbgems/mruby-compiler/core/parse.y" +#line 2488 "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 7704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: -#line 2483 "mrbgems/mruby-compiler/core/parse.y" +#line 2495 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7712 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: -#line 2487 "mrbgems/mruby-compiler/core/parse.y" +#line 2499 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7733 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: -#line 2494 "mrbgems/mruby-compiler/core/parse.y" +#line 2506 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: -#line 2498 "mrbgems/mruby-compiler/core/parse.y" +#line 2510 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -7738,11 +7750,11 @@ yyreduce: new_kw_hash(p, list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k)))), new_block_arg(p, new_lvar(p, b))); } -#line 7742 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: -#line 2507 "mrbgems/mruby-compiler/core/parse.y" +#line 2519 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -7757,386 +7769,386 @@ yyreduce: (yyval.nd) = 0; } } -#line 7761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7773 "mrbgems/mruby-compiler/core/y.tab.c" break; case 262: -#line 2530 "mrbgems/mruby-compiler/core/parse.y" +#line 2542 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7782 "mrbgems/mruby-compiler/core/y.tab.c" break; case 263: -#line 2535 "mrbgems/mruby-compiler/core/parse.y" +#line 2547 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),new_kw_hash(p,(yyvsp[-1].nd)),0); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7779 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7791 "mrbgems/mruby-compiler/core/y.tab.c" break; case 264: -#line 2540 "mrbgems/mruby-compiler/core/parse.y" +#line 2552 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,0,new_kw_hash(p,(yyvsp[-1].nd)),0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7788 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7800 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: -#line 2547 "mrbgems/mruby-compiler/core/parse.y" +#line 2559 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7798 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7810 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: -#line 2553 "mrbgems/mruby-compiler/core/parse.y" +#line 2565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7819 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: -#line 2558 "mrbgems/mruby-compiler/core/parse.y" +#line 2570 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, new_kw_hash(p, (yyvsp[-1].nd)), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: -#line 2563 "mrbgems/mruby-compiler/core/parse.y" +#line 2575 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd)), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7837 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: -#line 2568 "mrbgems/mruby-compiler/core/parse.y" +#line 2580 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7846 "mrbgems/mruby-compiler/core/y.tab.c" break; case 270: -#line 2574 "mrbgems/mruby-compiler/core/parse.y" +#line 2586 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 7843 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7855 "mrbgems/mruby-compiler/core/y.tab.c" break; case 271: -#line 2579 "mrbgems/mruby-compiler/core/parse.y" +#line 2591 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 7852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: -#line 2586 "mrbgems/mruby-compiler/core/parse.y" +#line 2598 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 7860 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: -#line 2590 "mrbgems/mruby-compiler/core/parse.y" +#line 2602 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, 0); } -#line 7868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: -#line 2596 "mrbgems/mruby-compiler/core/parse.y" +#line 2608 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7876 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: -#line 2600 "mrbgems/mruby-compiler/core/parse.y" +#line 2612 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 7884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7896 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: -#line 2609 "mrbgems/mruby-compiler/core/parse.y" +#line 2621 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7894 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7906 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: -#line 2615 "mrbgems/mruby-compiler/core/parse.y" +#line 2627 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 7902 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7914 "mrbgems/mruby-compiler/core/y.tab.c" break; case 279: -#line 2619 "mrbgems/mruby-compiler/core/parse.y" +#line 2631 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7911 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7923 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: -#line 2624 "mrbgems/mruby-compiler/core/parse.y" +#line 2636 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7920 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7932 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: -#line 2629 "mrbgems/mruby-compiler/core/parse.y" +#line 2641 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7928 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: -#line 2635 "mrbgems/mruby-compiler/core/parse.y" +#line 2647 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7949 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: -#line 2640 "mrbgems/mruby-compiler/core/parse.y" +#line 2652 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" break; case 284: -#line 2644 "mrbgems/mruby-compiler/core/parse.y" +#line 2656 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 7953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7965 "mrbgems/mruby-compiler/core/y.tab.c" break; case 292: -#line 2657 "mrbgems/mruby-compiler/core/parse.y" +#line 2669 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 7961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7973 "mrbgems/mruby-compiler/core/y.tab.c" break; case 293: -#line 2661 "mrbgems/mruby-compiler/core/parse.y" +#line 2673 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 7969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 294: -#line 2665 "mrbgems/mruby-compiler/core/parse.y" +#line 2677 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 7978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7990 "mrbgems/mruby-compiler/core/y.tab.c" break; case 295: -#line 2671 "mrbgems/mruby-compiler/core/parse.y" +#line 2683 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = (yyvsp[-1].nd); } -#line 7987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: -#line 2676 "mrbgems/mruby-compiler/core/parse.y" +#line 2688 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 7996 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8008 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: -#line 2680 "mrbgems/mruby-compiler/core/parse.y" +#line 2692 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8014 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: -#line 2681 "mrbgems/mruby-compiler/core/parse.y" +#line 2693 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 8011 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: -#line 2685 "mrbgems/mruby-compiler/core/parse.y" +#line 2697 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8029 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: -#line 2686 "mrbgems/mruby-compiler/core/parse.y" +#line 2698 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 8025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8037 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: -#line 2690 "mrbgems/mruby-compiler/core/parse.y" +#line 2702 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8045 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: -#line 2694 "mrbgems/mruby-compiler/core/parse.y" +#line 2706 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8053 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: -#line 2698 "mrbgems/mruby-compiler/core/parse.y" +#line 2710 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8061 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: -#line 2702 "mrbgems/mruby-compiler/core/parse.y" +#line 2714 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8070 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: -#line 2707 "mrbgems/mruby-compiler/core/parse.y" +#line 2719 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8079 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: -#line 2712 "mrbgems/mruby-compiler/core/parse.y" +#line 2724 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 8075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8087 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: -#line 2716 "mrbgems/mruby-compiler/core/parse.y" +#line 2728 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8095 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: -#line 2720 "mrbgems/mruby-compiler/core/parse.y" +#line 2732 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 8091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8103 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: -#line 2724 "mrbgems/mruby-compiler/core/parse.y" +#line 2736 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 8099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8111 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: -#line 2728 "mrbgems/mruby-compiler/core/parse.y" +#line 2740 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 8107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8119 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: -#line 2733 "mrbgems/mruby-compiler/core/parse.y" +#line 2745 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 8116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8128 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: -#line 2738 "mrbgems/mruby-compiler/core/parse.y" +#line 2750 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 8127 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8139 "mrbgems/mruby-compiler/core/y.tab.c" break; case 314: -#line 2745 "mrbgems/mruby-compiler/core/parse.y" +#line 2757 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8148 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: -#line 2750 "mrbgems/mruby-compiler/core/parse.y" +#line 2762 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -8145,149 +8157,149 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 8149 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8161 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: -#line 2762 "mrbgems/mruby-compiler/core/parse.y" +#line 2774 "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 8158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8170 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: -#line 2770 "mrbgems/mruby-compiler/core/parse.y" +#line 2782 "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 8167 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 318: -#line 2774 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8173 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 319: -#line 2774 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} #line 8179 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 318: +#line 2786 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8185 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 319: +#line 2786 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8191 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 320: -#line 2777 "mrbgems/mruby-compiler/core/parse.y" +#line 2789 "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 8188 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 321: -#line 2781 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8194 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 322: -#line 2781 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} #line 8200 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 321: +#line 2793 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 322: +#line 2793 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8212 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 323: -#line 2784 "mrbgems/mruby-compiler/core/parse.y" +#line 2796 "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 8209 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8221 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: -#line 2791 "mrbgems/mruby-compiler/core/parse.y" +#line 2803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 8217 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8229 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: -#line 2795 "mrbgems/mruby-compiler/core/parse.y" +#line 2807 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 8225 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 326: -#line 2799 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8231 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 327: -#line 2801 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} #line 8237 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 326: +#line 2811 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8243 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 327: +#line 2813 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8249 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 328: -#line 2804 "mrbgems/mruby-compiler/core/parse.y" +#line 2816 "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 8246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8258 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: -#line 2810 "mrbgems/mruby-compiler/core/parse.y" +#line 2822 "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 8257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8269 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: -#line 2818 "mrbgems/mruby-compiler/core/parse.y" +#line 2830 "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 8268 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8280 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: -#line 2826 "mrbgems/mruby-compiler/core/parse.y" +#line 2838 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 8277 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8289 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: -#line 2831 "mrbgems/mruby-compiler/core/parse.y" +#line 2843 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), nint(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 8287 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8299 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: -#line 2838 "mrbgems/mruby-compiler/core/parse.y" +#line 2850 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -8296,44 +8308,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = intn((yyvsp[-2].nd)->cdr); } -#line 8300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8312 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: -#line 2848 "mrbgems/mruby-compiler/core/parse.y" +#line 2860 "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 8311 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8323 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: -#line 2856 "mrbgems/mruby-compiler/core/parse.y" +#line 2868 "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 8322 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: -#line 2866 "mrbgems/mruby-compiler/core/parse.y" +#line 2878 "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 8333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: -#line 2876 "mrbgems/mruby-compiler/core/parse.y" +#line 2888 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8341,451 +8353,451 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: -#line 2884 "mrbgems/mruby-compiler/core/parse.y" +#line 2896 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 8353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: -#line 2888 "mrbgems/mruby-compiler/core/parse.y" +#line 2900 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 8361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: -#line 2892 "mrbgems/mruby-compiler/core/parse.y" +#line 2904 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 8369 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8381 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: -#line 2896 "mrbgems/mruby-compiler/core/parse.y" +#line 2908 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 8377 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8389 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: -#line 2902 "mrbgems/mruby-compiler/core/parse.y" +#line 2914 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 8386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8398 "mrbgems/mruby-compiler/core/y.tab.c" break; case 349: -#line 2921 "mrbgems/mruby-compiler/core/parse.y" +#line 2933 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8406 "mrbgems/mruby-compiler/core/y.tab.c" break; case 351: -#line 2928 "mrbgems/mruby-compiler/core/parse.y" +#line 2940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8402 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8414 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: -#line 2934 "mrbgems/mruby-compiler/core/parse.y" +#line 2946 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 8410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8422 "mrbgems/mruby-compiler/core/y.tab.c" break; case 354: -#line 2941 "mrbgems/mruby-compiler/core/parse.y" +#line 2953 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 8418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8430 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: -#line 2945 "mrbgems/mruby-compiler/core/parse.y" +#line 2957 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0); } -#line 8426 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8438 "mrbgems/mruby-compiler/core/y.tab.c" break; case 356: -#line 2949 "mrbgems/mruby-compiler/core/parse.y" +#line 2961 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8446 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: -#line 2953 "mrbgems/mruby-compiler/core/parse.y" +#line 2965 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); } -#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8455 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: -#line 2958 "mrbgems/mruby-compiler/core/parse.y" +#line 2970 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); } -#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: -#line 2962 "mrbgems/mruby-compiler/core/parse.y" +#line 2974 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); } -#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8471 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: -#line 2966 "mrbgems/mruby-compiler/core/parse.y" +#line 2978 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8467 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8479 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: -#line 2970 "mrbgems/mruby-compiler/core/parse.y" +#line 2982 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, nint(-1), 0); } -#line 8476 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8488 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: -#line 2975 "mrbgems/mruby-compiler/core/parse.y" +#line 2987 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); } -#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8496 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: -#line 2979 "mrbgems/mruby-compiler/core/parse.y" +#line 2991 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); } -#line 8492 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8504 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: -#line 2985 "mrbgems/mruby-compiler/core/parse.y" +#line 2997 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8512 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: -#line 2989 "mrbgems/mruby-compiler/core/parse.y" +#line 3001 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 8508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8520 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: -#line 2993 "mrbgems/mruby-compiler/core/parse.y" +#line 3005 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8528 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: -#line 2997 "mrbgems/mruby-compiler/core/parse.y" +#line 3009 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 8524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8536 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: -#line 3003 "mrbgems/mruby-compiler/core/parse.y" +#line 3015 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8544 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: -#line 3007 "mrbgems/mruby-compiler/core/parse.y" +#line 3019 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 8540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8552 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: -#line 3013 "mrbgems/mruby-compiler/core/parse.y" +#line 3025 "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 8548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8560 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: -#line 3017 "mrbgems/mruby-compiler/core/parse.y" +#line 3029 "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 8556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: -#line 3021 "mrbgems/mruby-compiler/core/parse.y" +#line 3033 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8576 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: -#line 3025 "mrbgems/mruby-compiler/core/parse.y" +#line 3037 "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 8572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8584 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: -#line 3029 "mrbgems/mruby-compiler/core/parse.y" +#line 3041 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8592 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: -#line 3033 "mrbgems/mruby-compiler/core/parse.y" +#line 3045 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8600 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: -#line 3037 "mrbgems/mruby-compiler/core/parse.y" +#line 3049 "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 8596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8608 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: -#line 3041 "mrbgems/mruby-compiler/core/parse.y" +#line 3053 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8616 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: -#line 3045 "mrbgems/mruby-compiler/core/parse.y" +#line 3057 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8624 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: -#line 3049 "mrbgems/mruby-compiler/core/parse.y" +#line 3061 "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 8620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8632 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: -#line 3053 "mrbgems/mruby-compiler/core/parse.y" +#line 3065 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8640 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: -#line 3057 "mrbgems/mruby-compiler/core/parse.y" +#line 3069 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8648 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: -#line 3061 "mrbgems/mruby-compiler/core/parse.y" +#line 3073 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: -#line 3065 "mrbgems/mruby-compiler/core/parse.y" +#line 3077 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8664 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: -#line 3069 "mrbgems/mruby-compiler/core/parse.y" +#line 3081 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 8660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: -#line 3075 "mrbgems/mruby-compiler/core/parse.y" +#line 3087 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: -#line 3080 "mrbgems/mruby-compiler/core/parse.y" +#line 3092 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 8678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8690 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: -#line 3086 "mrbgems/mruby-compiler/core/parse.y" +#line 3098 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p, 0);} -#line 8684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: -#line 3087 "mrbgems/mruby-compiler/core/parse.y" +#line 3099 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: -#line 3091 "mrbgems/mruby-compiler/core/parse.y" +#line 3103 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: -#line 3096 "mrbgems/mruby-compiler/core/parse.y" +#line 3108 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8709 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: -#line 3103 "mrbgems/mruby-compiler/core/parse.y" +#line 3115 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8717 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: -#line 3107 "mrbgems/mruby-compiler/core/parse.y" +#line 3119 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: -#line 3117 "mrbgems/mruby-compiler/core/parse.y" +#line 3129 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 8734 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: -#line 3125 "mrbgems/mruby-compiler/core/parse.y" +#line 3137 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8742 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: -#line 3129 "mrbgems/mruby-compiler/core/parse.y" +#line 3141 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8750 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8762 "mrbgems/mruby-compiler/core/y.tab.c" break; case 399: -#line 3135 "mrbgems/mruby-compiler/core/parse.y" +#line 3147 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8758 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 400: -#line 3139 "mrbgems/mruby-compiler/core/parse.y" +#line 3151 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: -#line 3145 "mrbgems/mruby-compiler/core/parse.y" +#line 3157 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8775 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8787 "mrbgems/mruby-compiler/core/y.tab.c" break; case 402: -#line 3152 "mrbgems/mruby-compiler/core/parse.y" +#line 3164 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8785 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8797 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: -#line 3160 "mrbgems/mruby-compiler/core/parse.y" +#line 3172 "mrbgems/mruby-compiler/core/parse.y" { if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8795,159 +8807,159 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8811 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: -#line 3170 "mrbgems/mruby-compiler/core/parse.y" +#line 3182 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8819 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: -#line 3174 "mrbgems/mruby-compiler/core/parse.y" +#line 3186 "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 8816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: -#line 3179 "mrbgems/mruby-compiler/core/parse.y" +#line 3191 "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 8825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8837 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: -#line 3186 "mrbgems/mruby-compiler/core/parse.y" +#line 3198 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8833 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8845 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: -#line 3190 "mrbgems/mruby-compiler/core/parse.y" +#line 3202 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8841 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8853 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: -#line 3194 "mrbgems/mruby-compiler/core/parse.y" +#line 3206 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8849 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8861 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: -#line 3198 "mrbgems/mruby-compiler/core/parse.y" +#line 3210 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8869 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: -#line 3202 "mrbgems/mruby-compiler/core/parse.y" +#line 3214 "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 8865 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8877 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: -#line 3206 "mrbgems/mruby-compiler/core/parse.y" +#line 3218 "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 8873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8885 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: -#line 3210 "mrbgems/mruby-compiler/core/parse.y" +#line 3222 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8893 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: -#line 3214 "mrbgems/mruby-compiler/core/parse.y" +#line 3226 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8901 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: -#line 3218 "mrbgems/mruby-compiler/core/parse.y" +#line 3230 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: -#line 3224 "mrbgems/mruby-compiler/core/parse.y" +#line 3236 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8907 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8919 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: -#line 3231 "mrbgems/mruby-compiler/core/parse.y" +#line 3243 "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 8918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: -#line 3238 "mrbgems/mruby-compiler/core/parse.y" +#line 3250 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8928 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: -#line 3245 "mrbgems/mruby-compiler/core/parse.y" +#line 3257 "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 8939 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: -#line 3256 "mrbgems/mruby-compiler/core/parse.y" +#line 3268 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 8947 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8959 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: -#line 3262 "mrbgems/mruby-compiler/core/parse.y" +#line 3274 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -8956,60 +8968,60 @@ yyreduce: (yyval.nd) = 0; } } -#line 8960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8972 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: -#line 3276 "mrbgems/mruby-compiler/core/parse.y" +#line 3288 "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 8969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 425: -#line 3284 "mrbgems/mruby-compiler/core/parse.y" +#line 3296 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8989 "mrbgems/mruby-compiler/core/y.tab.c" break; case 428: -#line 3292 "mrbgems/mruby-compiler/core/parse.y" +#line 3304 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8997 "mrbgems/mruby-compiler/core/y.tab.c" break; case 430: -#line 3299 "mrbgems/mruby-compiler/core/parse.y" +#line 3311 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9005 "mrbgems/mruby-compiler/core/y.tab.c" break; case 437: -#line 3313 "mrbgems/mruby-compiler/core/parse.y" +#line 3325 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 440: -#line 3321 "mrbgems/mruby-compiler/core/parse.y" +#line 3333 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9021 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: -#line 3325 "mrbgems/mruby-compiler/core/parse.y" +#line 3337 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9020,69 +9032,68 @@ yyreduce: } (yyval.nd) = new_dstr(p, n); } -#line 9024 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9036 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: -#line 3339 "mrbgems/mruby-compiler/core/parse.y" +#line 3351 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9032 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9044 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: -#line 3345 "mrbgems/mruby-compiler/core/parse.y" +#line 3357 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9040 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9052 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: -#line 3349 "mrbgems/mruby-compiler/core/parse.y" +#line 3361 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = p->lex_strterm; - p->lex_strterm = NULL; + (yyval.nd) = push_strterm(p); } -#line 9049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9060 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: -#line 3355 "mrbgems/mruby-compiler/core/parse.y" +#line 3366 "mrbgems/mruby-compiler/core/parse.y" { - p->lex_strterm = (yyvsp[-2].nd); + pop_strterm(p,(yyvsp[-2].nd)); (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9069 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: -#line 3360 "mrbgems/mruby-compiler/core/parse.y" +#line 3371 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9077 "mrbgems/mruby-compiler/core/y.tab.c" break; case 448: -#line 3364 "mrbgems/mruby-compiler/core/parse.y" +#line 3375 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9085 "mrbgems/mruby-compiler/core/y.tab.c" break; case 449: -#line 3370 "mrbgems/mruby-compiler/core/parse.y" +#line 3381 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9082 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: -#line 3374 "mrbgems/mruby-compiler/core/parse.y" +#line 3385 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9093,82 +9104,81 @@ yyreduce: } (yyval.nd) = new_dxstr(p, n); } -#line 9097 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" break; case 451: -#line 3387 "mrbgems/mruby-compiler/core/parse.y" +#line 3398 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9105 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9116 "mrbgems/mruby-compiler/core/y.tab.c" break; case 452: -#line 3391 "mrbgems/mruby-compiler/core/parse.y" +#line 3402 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9124 "mrbgems/mruby-compiler/core/y.tab.c" break; case 456: -#line 3404 "mrbgems/mruby-compiler/core/parse.y" +#line 3415 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, new_str(p, "", 0)); heredoc_end(p); } -#line 9123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 457: -#line 3410 "mrbgems/mruby-compiler/core/parse.y" +#line 3421 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 9131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 460: -#line 3420 "mrbgems/mruby-compiler/core/parse.y" +#line 3431 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 9141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9152 "mrbgems/mruby-compiler/core/y.tab.c" break; case 461: -#line 3426 "mrbgems/mruby-compiler/core/parse.y" +#line 3437 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = p->lex_strterm; - p->lex_strterm = NULL; - } -#line 9150 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 462: -#line 3432 "mrbgems/mruby-compiler/core/parse.y" - { - parser_heredoc_info *info = parsing_heredoc_info(p); - p->lex_strterm = (yyvsp[-2].nd); - info->doc = push(push(info->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); + (yyval.nd) = push_strterm(p); } #line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 462: +#line 3442 "mrbgems/mruby-compiler/core/parse.y" + { + pop_strterm(p, (yyvsp[-2].nd)); + parser_heredoc_info *info = parsing_heredoc_info(p); + info->doc = push(push(info->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); + } +#line 9170 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 463: -#line 3440 "mrbgems/mruby-compiler/core/parse.y" +#line 3450 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9178 "mrbgems/mruby-compiler/core/y.tab.c" break; case 464: -#line 3444 "mrbgems/mruby-compiler/core/parse.y" +#line 3454 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9179,20 +9189,20 @@ yyreduce: } (yyval.nd) = new_words(p, n); } -#line 9183 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9193 "mrbgems/mruby-compiler/core/y.tab.c" break; case 465: -#line 3458 "mrbgems/mruby-compiler/core/parse.y" +#line 3468 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9202 "mrbgems/mruby-compiler/core/y.tab.c" break; case 466: -#line 3463 "mrbgems/mruby-compiler/core/parse.y" +#line 3473 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -9204,43 +9214,43 @@ yyreduce: } (yyval.nd) = new_dsym(p, new_dstr(p, n)); } -#line 9208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9218 "mrbgems/mruby-compiler/core/y.tab.c" break; case 467: -#line 3477 "mrbgems/mruby-compiler/core/parse.y" +#line 3487 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: -#line 3487 "mrbgems/mruby-compiler/core/parse.y" +#line 3497 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9234 "mrbgems/mruby-compiler/core/y.tab.c" break; case 473: -#line 3491 "mrbgems/mruby-compiler/core/parse.y" +#line 3501 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 474: -#line 3497 "mrbgems/mruby-compiler/core/parse.y" +#line 3507 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 9240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9250 "mrbgems/mruby-compiler/core/y.tab.c" break; case 475: -#line 3501 "mrbgems/mruby-compiler/core/parse.y" +#line 3511 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9248,123 +9258,123 @@ yyreduce: } (yyval.nd) = new_symbols(p, n); } -#line 9252 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9262 "mrbgems/mruby-compiler/core/y.tab.c" break; case 478: -#line 3513 "mrbgems/mruby-compiler/core/parse.y" +#line 3523 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9270 "mrbgems/mruby-compiler/core/y.tab.c" break; case 479: -#line 3517 "mrbgems/mruby-compiler/core/parse.y" +#line 3527 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9268 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9278 "mrbgems/mruby-compiler/core/y.tab.c" break; case 480: -#line 3523 "mrbgems/mruby-compiler/core/parse.y" +#line 3533 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9286 "mrbgems/mruby-compiler/core/y.tab.c" break; case 481: -#line 3527 "mrbgems/mruby-compiler/core/parse.y" +#line 3537 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9294 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: -#line 3531 "mrbgems/mruby-compiler/core/parse.y" +#line 3541 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9302 "mrbgems/mruby-compiler/core/y.tab.c" break; case 483: -#line 3535 "mrbgems/mruby-compiler/core/parse.y" +#line 3545 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 9300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9310 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: -#line 3539 "mrbgems/mruby-compiler/core/parse.y" +#line 3549 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 9308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9318 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: -#line 3545 "mrbgems/mruby-compiler/core/parse.y" +#line 3555 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 9316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9326 "mrbgems/mruby-compiler/core/y.tab.c" break; case 486: -#line 3549 "mrbgems/mruby-compiler/core/parse.y" +#line 3559 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 9324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: -#line 3555 "mrbgems/mruby-compiler/core/parse.y" +#line 3565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 9332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9342 "mrbgems/mruby-compiler/core/y.tab.c" break; case 488: -#line 3559 "mrbgems/mruby-compiler/core/parse.y" +#line 3569 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9350 "mrbgems/mruby-compiler/core/y.tab.c" break; case 489: -#line 3563 "mrbgems/mruby-compiler/core/parse.y" +#line 3573 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 9348 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9358 "mrbgems/mruby-compiler/core/y.tab.c" break; case 490: -#line 3567 "mrbgems/mruby-compiler/core/parse.y" +#line 3577 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 9356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9366 "mrbgems/mruby-compiler/core/y.tab.c" break; case 491: -#line 3571 "mrbgems/mruby-compiler/core/parse.y" +#line 3581 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 9364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 492: -#line 3575 "mrbgems/mruby-compiler/core/parse.y" +#line 3585 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9372,492 +9382,482 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9386 "mrbgems/mruby-compiler/core/y.tab.c" break; case 493: -#line 3583 "mrbgems/mruby-compiler/core/parse.y" +#line 3593 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 9387 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" break; case 494: -#line 3590 "mrbgems/mruby-compiler/core/parse.y" +#line 3600 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 9395 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 497: -#line 3600 "mrbgems/mruby-compiler/core/parse.y" +#line 3610 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 9403 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 498: -#line 3604 "mrbgems/mruby-compiler/core/parse.y" +#line 3614 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9422 "mrbgems/mruby-compiler/core/y.tab.c" break; case 499: -#line 3609 "mrbgems/mruby-compiler/core/parse.y" +#line 3619 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9420 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 502: -#line 3625 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } #line 9430 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 502: +#line 3635 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; + } +#line 9440 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 503: -#line 3631 "mrbgems/mruby-compiler/core/parse.y" +#line 3641 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 9438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9448 "mrbgems/mruby-compiler/core/y.tab.c" break; case 504: -#line 3635 "mrbgems/mruby-compiler/core/parse.y" +#line 3645 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 9446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9456 "mrbgems/mruby-compiler/core/y.tab.c" break; case 506: -#line 3642 "mrbgems/mruby-compiler/core/parse.y" +#line 3652 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9464 "mrbgems/mruby-compiler/core/y.tab.c" break; case 507: -#line 3646 "mrbgems/mruby-compiler/core/parse.y" +#line 3656 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 9462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9472 "mrbgems/mruby-compiler/core/y.tab.c" break; case 508: -#line 3650 "mrbgems/mruby-compiler/core/parse.y" +#line 3660 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 9470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9480 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: -#line 3656 "mrbgems/mruby-compiler/core/parse.y" +#line 3666 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); } -#line 9478 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 510: -#line 3662 "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 9488 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: -#line 3668 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 9497 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 512: -#line 3675 "mrbgems/mruby-compiler/core/parse.y" + case 510: +#line 3672 "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 9498 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 511: +#line 3678 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); + } #line 9507 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 512: +#line 3685 "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 9517 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 513: -#line 3681 "mrbgems/mruby-compiler/core/parse.y" +#line 3691 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9526 "mrbgems/mruby-compiler/core/y.tab.c" break; case 514: -#line 3688 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 9524 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 515: -#line 3692 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 9532 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 516: #line 3698 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9534 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: + case 515: #line 3702 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9542 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 516: +#line 3708 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 9550 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 517: +#line 3712 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9558 "mrbgems/mruby-compiler/core/y.tab.c" break; case 520: -#line 3712 "mrbgems/mruby-compiler/core/parse.y" +#line 3722 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, (yyvsp[0].id)); } -#line 9556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9566 "mrbgems/mruby-compiler/core/y.tab.c" break; case 521: -#line 3716 "mrbgems/mruby-compiler/core/parse.y" +#line 3726 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, 0); } -#line 9564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 522: -#line 3722 "mrbgems/mruby-compiler/core/parse.y" +#line 3732 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9582 "mrbgems/mruby-compiler/core/y.tab.c" break; case 523: -#line 3726 "mrbgems/mruby-compiler/core/parse.y" +#line 3736 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9590 "mrbgems/mruby-compiler/core/y.tab.c" break; case 524: -#line 3730 "mrbgems/mruby-compiler/core/parse.y" +#line 3740 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9598 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: -#line 3734 "mrbgems/mruby-compiler/core/parse.y" +#line 3744 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 526: -#line 3740 "mrbgems/mruby-compiler/core/parse.y" +#line 3750 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9614 "mrbgems/mruby-compiler/core/y.tab.c" break; case 527: -#line 3744 "mrbgems/mruby-compiler/core/parse.y" +#line 3754 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 528: -#line 3750 "mrbgems/mruby-compiler/core/parse.y" +#line 3760 "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 9620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: -#line 3754 "mrbgems/mruby-compiler/core/parse.y" +#line 3764 "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 9628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 530: -#line 3758 "mrbgems/mruby-compiler/core/parse.y" +#line 3768 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 531: -#line 3762 "mrbgems/mruby-compiler/core/parse.y" +#line 3772 "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 9644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 532: -#line 3766 "mrbgems/mruby-compiler/core/parse.y" +#line 3776 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9662 "mrbgems/mruby-compiler/core/y.tab.c" break; case 533: -#line 3770 "mrbgems/mruby-compiler/core/parse.y" +#line 3780 "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 9660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9670 "mrbgems/mruby-compiler/core/y.tab.c" break; case 534: -#line 3774 "mrbgems/mruby-compiler/core/parse.y" +#line 3784 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" break; case 535: -#line 3778 "mrbgems/mruby-compiler/core/parse.y" +#line 3788 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9686 "mrbgems/mruby-compiler/core/y.tab.c" break; case 536: -#line 3782 "mrbgems/mruby-compiler/core/parse.y" +#line 3792 "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 9684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9694 "mrbgems/mruby-compiler/core/y.tab.c" break; case 537: -#line 3786 "mrbgems/mruby-compiler/core/parse.y" +#line 3796 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9702 "mrbgems/mruby-compiler/core/y.tab.c" break; case 538: -#line 3790 "mrbgems/mruby-compiler/core/parse.y" +#line 3800 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" break; case 539: -#line 3794 "mrbgems/mruby-compiler/core/parse.y" +#line 3804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" break; case 540: -#line 3798 "mrbgems/mruby-compiler/core/parse.y" +#line 3808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9726 "mrbgems/mruby-compiler/core/y.tab.c" break; case 541: -#line 3802 "mrbgems/mruby-compiler/core/parse.y" +#line 3812 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9734 "mrbgems/mruby-compiler/core/y.tab.c" break; case 542: -#line 3806 "mrbgems/mruby-compiler/core/parse.y" +#line 3816 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 9733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9743 "mrbgems/mruby-compiler/core/y.tab.c" break; case 543: -#line 3813 "mrbgems/mruby-compiler/core/parse.y" +#line 3823 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9742 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9752 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: -#line 3818 "mrbgems/mruby-compiler/core/parse.y" +#line 3828 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9761 "mrbgems/mruby-compiler/core/y.tab.c" break; case 545: -#line 3823 "mrbgems/mruby-compiler/core/parse.y" +#line 3833 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9760 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 546: -#line 3828 "mrbgems/mruby-compiler/core/parse.y" +#line 3838 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9769 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9779 "mrbgems/mruby-compiler/core/y.tab.c" break; case 547: -#line 3833 "mrbgems/mruby-compiler/core/parse.y" +#line 3843 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 9778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9788 "mrbgems/mruby-compiler/core/y.tab.c" break; case 548: -#line 3840 "mrbgems/mruby-compiler/core/parse.y" +#line 3850 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 9786 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: -#line 3844 "mrbgems/mruby-compiler/core/parse.y" +#line 3854 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9795 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9805 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: -#line 3851 "mrbgems/mruby-compiler/core/parse.y" +#line 3861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_arg(p, (yyvsp[0].id)); } -#line 9803 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9813 "mrbgems/mruby-compiler/core/y.tab.c" break; case 551: -#line 3855 "mrbgems/mruby-compiler/core/parse.y" +#line 3865 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 9811 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9821 "mrbgems/mruby-compiler/core/y.tab.c" break; case 552: -#line 3859 "mrbgems/mruby-compiler/core/parse.y" +#line 3869 "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 9821 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9831 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: -#line 3867 "mrbgems/mruby-compiler/core/parse.y" +#line 3877 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9829 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9839 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: -#line 3871 "mrbgems/mruby-compiler/core/parse.y" +#line 3881 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9847 "mrbgems/mruby-compiler/core/y.tab.c" break; case 555: -#line 3877 "mrbgems/mruby-compiler/core/parse.y" +#line 3887 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 9847 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 556: -#line 3885 "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 9857 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 557: -#line 3893 "mrbgems/mruby-compiler/core/parse.y" + case 556: +#line 3895 "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))); @@ -9866,105 +9866,115 @@ yyreduce: #line 9867 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 557: +#line 3903 "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 9877 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 558: -#line 3901 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 9875 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 559: -#line 3905 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 560: #line 3911 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9891 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9885 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 561: + case 559: #line 3915 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9899 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9893 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 560: +#line 3921 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 9901 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 561: +#line 3925 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 564: -#line 3925 "mrbgems/mruby-compiler/core/parse.y" +#line 3935 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9918 "mrbgems/mruby-compiler/core/y.tab.c" break; case 565: -#line 3930 "mrbgems/mruby-compiler/core/parse.y" +#line 3940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 9917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9927 "mrbgems/mruby-compiler/core/y.tab.c" break; case 568: -#line 3941 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } -#line 9925 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 569: -#line 3945 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = intern_op(and); - } -#line 9933 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 570: #line 3951 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9935 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 569: +#line 3955 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = intern_op(and); + } +#line 9943 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 570: +#line 3961 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = (yyvsp[0].id); + } +#line 9951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 571: -#line 3955 "mrbgems/mruby-compiler/core/parse.y" +#line 3965 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 9949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9959 "mrbgems/mruby-compiler/core/y.tab.c" break; case 572: -#line 3961 "mrbgems/mruby-compiler/core/parse.y" +#line 3971 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9958 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9968 "mrbgems/mruby-compiler/core/y.tab.c" break; case 573: -#line 3965 "mrbgems/mruby-compiler/core/parse.y" +#line 3975 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 9964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9974 "mrbgems/mruby-compiler/core/y.tab.c" break; case 574: -#line 3966 "mrbgems/mruby-compiler/core/parse.y" +#line 3976 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -9987,63 +9997,63 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 9991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10001 "mrbgems/mruby-compiler/core/y.tab.c" break; case 576: -#line 3992 "mrbgems/mruby-compiler/core/parse.y" +#line 4002 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10009 "mrbgems/mruby-compiler/core/y.tab.c" break; case 577: -#line 3998 "mrbgems/mruby-compiler/core/parse.y" +#line 4008 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 10008 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10018 "mrbgems/mruby-compiler/core/y.tab.c" break; case 578: -#line 4003 "mrbgems/mruby-compiler/core/parse.y" +#line 4013 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10026 "mrbgems/mruby-compiler/core/y.tab.c" break; case 579: -#line 4009 "mrbgems/mruby-compiler/core/parse.y" +#line 4019 "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 10026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10036 "mrbgems/mruby-compiler/core/y.tab.c" break; case 580: -#line 4015 "mrbgems/mruby-compiler/core/parse.y" +#line 4025 "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 10035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10045 "mrbgems/mruby-compiler/core/y.tab.c" break; case 581: -#line 4020 "mrbgems/mruby-compiler/core/parse.y" +#line 4030 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 10043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10053 "mrbgems/mruby-compiler/core/y.tab.c" break; case 582: -#line 4024 "mrbgems/mruby-compiler/core/parse.y" +#line 4034 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) { @@ -10053,75 +10063,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10067 "mrbgems/mruby-compiler/core/y.tab.c" break; case 583: -#line 4034 "mrbgems/mruby-compiler/core/parse.y" +#line 4044 "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 10066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10076 "mrbgems/mruby-compiler/core/y.tab.c" break; case 584: -#line 4039 "mrbgems/mruby-compiler/core/parse.y" +#line 4049 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 10074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 597: -#line 4065 "mrbgems/mruby-compiler/core/parse.y" +#line 4075 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 10082 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10092 "mrbgems/mruby-compiler/core/y.tab.c" break; case 598: -#line 4069 "mrbgems/mruby-compiler/core/parse.y" +#line 4079 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 10090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10100 "mrbgems/mruby-compiler/core/y.tab.c" break; case 600: -#line 4076 "mrbgems/mruby-compiler/core/parse.y" +#line 4086 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 10098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10108 "mrbgems/mruby-compiler/core/y.tab.c" break; case 609: -#line 4097 "mrbgems/mruby-compiler/core/parse.y" +#line 4107 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 10104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10114 "mrbgems/mruby-compiler/core/y.tab.c" break; case 611: -#line 4102 "mrbgems/mruby-compiler/core/parse.y" +#line 4112 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10123 "mrbgems/mruby-compiler/core/y.tab.c" break; case 615: -#line 4114 "mrbgems/mruby-compiler/core/parse.y" +#line 4124 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10131 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 10125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10135 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10353,7 +10363,7 @@ yyreturn: #endif return yyresult; } -#line 4118 "mrbgems/mruby-compiler/core/parse.y" +#line 4128 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -10376,7 +10386,7 @@ yyerror(parser_state *p, const char *s) } else if (p->nerr < sizeof(p->error_buffer) / sizeof(p->error_buffer[0])) { n = strlen(s); - c = (char *)parser_palloc(p, n + 1); + c = (char*)parser_palloc(p, n + 1); memcpy(c, s, n + 1); p->error_buffer[p->nerr].message = c; p->error_buffer[p->nerr].lineno = p->lineno; @@ -10415,7 +10425,7 @@ yywarning(parser_state *p, const char *s) } else if (p->nwarn < sizeof(p->warn_buffer) / sizeof(p->warn_buffer[0])) { n = strlen(s); - c = (char *)parser_palloc(p, n + 1); + c = (char*)parser_palloc(p, n + 1); memcpy(c, s, n + 1); p->warn_buffer[p->nwarn].message = c; p->warn_buffer[p->nwarn].lineno = p->lineno; @@ -11049,10 +11059,10 @@ static int parse_string(parser_state *p) { int c; - string_type type = (string_type)(intptr_t)p->lex_strterm->car; - int nest_level = intn(p->lex_strterm->cdr->car); - int beg = intn(p->lex_strterm->cdr->cdr->car); - int end = intn(p->lex_strterm->cdr->cdr->cdr); + string_type type = (string_type)p->lex_strterm->type; + int nest_level = p->lex_strterm->level; + int beg = p->lex_strterm->paren; + int end = p->lex_strterm->term; parser_heredoc_info *hinfo = (type & STR_FUNC_HEREDOC) ? parsing_heredoc_info(p) : NULL; mrb_bool unindent = hinfo && hinfo->remove_indent; @@ -11128,11 +11138,11 @@ parse_string(parser_state *p) } else if (c == beg) { nest_level++; - p->lex_strterm->cdr->car = nint(nest_level); + p->lex_strterm->level = nest_level; } else if (c == end) { nest_level--; - p->lex_strterm->cdr->car = nint(nest_level); + p->lex_strterm->level = nest_level; } else if (c == '\\') { c = nextc(p); @@ -12824,7 +12834,7 @@ parser_update_cxt(parser_state *p, mrbc_context *cxt) i++; n = n->cdr; } - cxt->syms = (mrb_sym *)mrb_realloc(p->mrb, cxt->syms, i*sizeof(mrb_sym)); + cxt->syms = (mrb_sym*)mrb_realloc(p->mrb, cxt->syms, i*sizeof(mrb_sym)); cxt->slen = i; for (i=0, n=n0; n; i++,n=n->cdr) { cxt->syms[i] = sym(n->car); @@ -12882,7 +12892,7 @@ mrb_parser_new(mrb_state *mrb) pool = mrb_pool_open(mrb); if (!pool) return NULL; - p = (parser_state *)mrb_pool_alloc(pool, sizeof(parser_state)); + p = (parser_state*)mrb_pool_alloc(pool, sizeof(parser_state)); if (!p) return NULL; *p = parser_state_zero; @@ -12907,8 +12917,6 @@ mrb_parser_new(mrb_state *mrb) p->tokbuf = p->buf; p->lex_strterm = NULL; - p->all_heredocs = p->parsing_heredoc = NULL; - p->lex_strterm_before_heredoc = NULL; p->current_filename_index = -1; p->filename_table = NULL; @@ -12928,7 +12936,7 @@ mrb_parser_free(parser_state *p) { MRB_API mrbc_context* mrbc_context_new(mrb_state *mrb) { - return (mrbc_context *)mrb_calloc(mrb, 1, sizeof(mrbc_context)); + return (mrbc_context*)mrb_calloc(mrb, 1, sizeof(mrbc_context)); } MRB_API void @@ -12944,7 +12952,7 @@ mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s) { if (s) { size_t len = strlen(s); - char *p = (char *)mrb_malloc(mrb, len + 1); + char *p = (char*)mrb_malloc(mrb, len + 1); memcpy(p, s, len + 1); if (c->filename) { @@ -13021,8 +13029,8 @@ mrb_parse_file_continue(mrb_state *mrb, FILE *f, const void *prebuf, size_t preb p = mrb_parser_new(mrb); if (!p) return NULL; if (prebuf) { - p->s = (const char *)prebuf; - p->send = (const char *)prebuf + prebufsize; + p->s = (const char*)prebuf; + p->send = (const char*)prebuf + prebufsize; } else { p->s = p->send = NULL; @@ -13170,7 +13178,7 @@ mrb_load_detect_file_cxt(mrb_state *mrb, FILE *fp, mrbc_context *c) binsize = bin_to_uint32(leading.h.binary_size); bin_obj = mrb_str_new(mrb, NULL, binsize); - bin = (uint8_t *)RSTRING_PTR(bin_obj); + bin = (uint8_t*)RSTRING_PTR(bin_obj); if ((size_t)binsize > bufsize) { memcpy(bin, leading.b, bufsize); if (fread(bin + bufsize, binsize - bufsize, 1, fp) == 0) {