diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-21 19:22:49 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-11-21 19:22:49 +0900 |
| commit | 544784effd251656f7b406bc94880e1ef75af7b5 (patch) | |
| tree | fdd4f269992d92bc35fb8c3cf67127d1573fb22c | |
| parent | e3b91b8d415852777f9a10224efeb92edc37c19a (diff) | |
| parent | a045b6b8d93f70d7bf57a94ed5c7e0432190d584 (diff) | |
| download | mruby-544784effd251656f7b406bc94880e1ef75af7b5.tar.gz mruby-544784effd251656f7b406bc94880e1ef75af7b5.zip | |
Merge pull request #5157 from dearblue/detect-rb-mrb
Allow to mixed and specify `*.rb` and `*.mrb` in `bin/mruby`
| -rw-r--r-- | include/mruby/compile.h | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby/bintest/mruby.rb | 6 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby/tools/mruby/mruby.c | 18 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-strip/bintest/mruby-strip.rb | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 85 | ||||
| -rw-r--r-- | mrbgems/mruby-compiler/core/y.tab.c | 2063 |
6 files changed, 1151 insertions, 1025 deletions
diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 36adf5a32..ce874da6b 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -116,6 +116,7 @@ struct mrb_parser_state { mrb_ast_node *cells; const char *s, *send; #ifndef MRB_DISABLE_STDIO + /* If both f and s are non-null, it will be taken preferentially from s until s < send. */ FILE *f; #endif mrbc_context *cxt; @@ -193,6 +194,7 @@ MRB_API mrb_value mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc #ifndef MRB_DISABLE_STDIO MRB_API mrb_value mrb_load_file(mrb_state*,FILE*); MRB_API mrb_value mrb_load_file_cxt(mrb_state*,FILE*, mrbc_context *cxt); +MRB_API mrb_value mrb_load_detect_file_cxt(mrb_state *mrb, FILE *fp, mrbc_context *c); #endif MRB_API mrb_value mrb_load_string(mrb_state *mrb, const char *s); MRB_API mrb_value mrb_load_nstring(mrb_state *mrb, const char *s, size_t len); diff --git a/mrbgems/mruby-bin-mruby/bintest/mruby.rb b/mrbgems/mruby-bin-mruby/bintest/mruby.rb index e8b4c6d0f..35a108a9d 100644 --- a/mrbgems/mruby-bin-mruby/bintest/mruby.rb +++ b/mrbgems/mruby-bin-mruby/bintest/mruby.rb @@ -19,7 +19,7 @@ assert('regression for #1572') do script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb') File.write script.path, 'p "ok"' system "#{cmd('mrbc')} -g -o #{bin.path} #{script.path}" - o = `#{cmd('mruby')} -b #{bin.path}`.strip + o = `#{cmd('mruby')} #{bin.path}`.strip assert_equal '"ok"', o end @@ -33,7 +33,7 @@ assert '$0 value' do # .mrb file `#{cmd('mrbc')} -o "#{bin.path}" "#{script.path}"` - assert_equal "\"#{bin.path}\"", `#{cmd('mruby')} -b "#{bin.path}"`.chomp + assert_equal "\"#{bin.path}\"", `#{cmd('mruby')} "#{bin.path}"`.chomp # one liner assert_equal '"-e"', `#{cmd('mruby')} -e #{shellquote('p $0')}`.chomp @@ -48,7 +48,7 @@ assert('float literal') do script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb') File.write script.path, 'p [3.21, 2e308.infinite?, -2e308.infinite?]' system "#{cmd('mrbc')} -g -o #{bin.path} #{script.path}" - assert_equal "[3.21, 1, -1]", `#{cmd('mruby')} -b #{bin.path}`.chomp! + assert_equal "[3.21, 1, -1]", `#{cmd('mruby')} #{bin.path}`.chomp! end assert '__END__', '8.6' do diff --git a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c index e9bd4c326..c60a0945b 100644 --- a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +++ b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c @@ -12,6 +12,11 @@ #include <mruby/variable.h> #include <mruby/proc.h> +#if defined(_WIN32) || defined(_WIN64) +# include <io.h> /* for setmode */ +# include <fcntl.h> +#endif + struct _args { FILE *rfp; char *cmdline; @@ -218,7 +223,7 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) } else { args->rfp = strcmp(argv[0], "-") == 0 ? - stdin : fopen(argv[0], args->mrbfile ? "rb" : "r"); + stdin : fopen(argv[0], "rb"); if (args->rfp == NULL) { fprintf(stderr, "%s: Cannot open program file: %s\n", opts->program, argv[0]); return EXIT_FAILURE; @@ -228,6 +233,11 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) argc--; argv++; } } +#if defined(_WIN32) || defined(_WIN64) + if (args->rfp == stdin) { + setmode(_fileno(stdin), O_BINARY); + } +#endif args->argv = (char **)mrb_realloc(mrb, args->argv, sizeof(char*) * (argc + 1)); memcpy(args->argv, argv, (argc+1) * sizeof(char*)); args->argc = argc; @@ -309,7 +319,7 @@ main(int argc, char **argv) /* Load libraries */ for (i = 0; i < args.libc; i++) { struct REnv *e; - FILE *lfp = fopen(args.libv[i], args.mrbfile ? "rb" : "r"); + FILE *lfp = fopen(args.libv[i], "rb"); if (lfp == NULL) { fprintf(stderr, "%s: Cannot open library file: %s\n", *argv, args.libv[i]); mrbc_context_free(mrb, c); @@ -320,7 +330,7 @@ main(int argc, char **argv) v = mrb_load_irep_file_cxt(mrb, lfp, c); } else { - v = mrb_load_file_cxt(mrb, lfp, c); + v = mrb_load_detect_file_cxt(mrb, lfp, c); } fclose(lfp); e = mrb->c->cibase->env; @@ -334,7 +344,7 @@ main(int argc, char **argv) v = mrb_load_irep_file_cxt(mrb, args.rfp, c); } else if (args.rfp) { - v = mrb_load_file_cxt(mrb, args.rfp, c); + v = mrb_load_detect_file_cxt(mrb, args.rfp, c); } else { char* utf8 = mrb_utf8_from_locale(args.cmdline, -1); diff --git a/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb b/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb index 2db3c10b1..5330510a1 100644 --- a/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +++ b/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb @@ -32,7 +32,7 @@ assert('success') do o = `#{cmd('mruby-strip')} #{compiled1.path}` assert_equal 0, $?.exitstatus assert_equal "", o - assert_equal `#{cmd('mruby')} #{script_file.path}`, `#{cmd('mruby')} -b #{compiled1.path}` + assert_equal `#{cmd('mruby')} #{script_file.path}`, `#{cmd('mruby')} #{compiled1.path}` o = `#{cmd('mruby-strip')} #{compiled1.path} #{compiled2.path}` assert_equal 0, $?.exitstatus diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 0c4d83fbc..d6271f354 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -21,6 +21,7 @@ #include <mruby/error.h> #include <mruby/throw.h> #include <mruby/string.h> +#include <mruby/dump.h> #include "node.h" #define YYLEX_PARAM p @@ -4122,20 +4123,20 @@ static inline int nextc0(parser_state *p) { int c; -#ifndef MRB_DISABLE_STDIO - if (p->f) { - if (feof(p->f)) return -1; - c = fgetc(p->f); - if (c == EOF) return -1; + + if (p->s && p->s < p->send) { + c = (unsigned char)*p->s++; } - else + else { +#ifndef MRB_DISABLE_STDIO + if (p->f) { + c = fgetc(p->f); + if (feof(p->f)) return -1; + } + else #endif - if (!p->s || p->s >= p->send) { return -1; - } - else { - c = (unsigned char)*p->s++; - } + } return c; } @@ -6520,19 +6521,26 @@ mrb_parser_get_filename(struct mrb_parser_state* p, uint16_t idx) { } #ifndef MRB_DISABLE_STDIO -MRB_API parser_state* -mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c) +static struct mrb_parser_state * +mrb_parse_file_continue(mrb_state *mrb, FILE *f, const void *prebuf, size_t prebufsize, mrbc_context *c) { parser_state *p; p = mrb_parser_new(mrb); if (!p) return NULL; - p->s = p->send = NULL; + p->s = (const char *)prebuf; + p->send = (const char *)prebuf + prebufsize; p->f = f; mrb_parser_parse(p, c); return p; } + +MRB_API parser_state* +mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c) +{ + return mrb_parse_file_continue(mrb, f, NULL, 0, c); +} #endif MRB_API parser_state* @@ -6629,6 +6637,55 @@ mrb_load_file(mrb_state *mrb, FILE *f) { return mrb_load_file_cxt(mrb, f, NULL); } + +#define DETECT_SIZE 64 + +/* + * In order to be recognized as a `.mrb` file, the following three points must be satisfied: + * - File starts with "RITE" + * - At least `sizeof(struct rite_binary_header)` bytes can be read + * - `NUL` is included in the first 64 bytes of the file + */ +MRB_API mrb_value +mrb_load_detect_file_cxt(mrb_state *mrb, FILE *fp, mrbc_context *c) +{ + union { + char b[DETECT_SIZE]; + struct rite_binary_header h; + } leading; + size_t bufsize; + + if (mrb == NULL || fp == NULL) { + return mrb_nil_value(); + } + + bufsize = fread(leading.b, sizeof(char), sizeof(leading), fp); + if (bufsize < sizeof(leading.h) || + memcmp(leading.h.binary_ident, RITE_BINARY_IDENT, sizeof(leading.h.binary_ident)) != 0 || + memchr(leading.b, '\0', bufsize) == NULL) { + return mrb_load_exec(mrb, mrb_parse_file_continue(mrb, fp, leading.b, bufsize, c), c); + } + else { + size_t binsize; + uint8_t *bin; + mrb_value bin_obj = mrb_nil_value(); /* temporary string object */ + mrb_value result; + + binsize = bin_to_uint32(leading.h.binary_size); + bin_obj = mrb_str_new(mrb, NULL, binsize); + bin = (uint8_t *)RSTRING_PTR(bin_obj); + memcpy(bin, leading.b, bufsize); + if (binsize > bufsize && + fread(bin + bufsize, binsize - bufsize, 1, fp) == 0) { + binsize = bufsize; + /* The error is reported by mrb_load_irep_buf_cxt() */ + } + + result = mrb_load_irep_buf_cxt(mrb, bin, binsize, c); + if (mrb_string_p(bin_obj)) mrb_str_resize(mrb, bin_obj, 0); + return result; + } +} #endif MRB_API mrb_value diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 088ce478f..72627b1f0 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.6.2. */ +/* A Bison parser, made by GNU Bison 3.6.4. */ /* Bison implementation for Yacc-like parsers in C @@ -49,7 +49,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.6.2" +#define YYBISON_VERSION "3.6.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -85,6 +85,7 @@ #include <mruby/error.h> #include <mruby/throw.h> #include <mruby/string.h> +#include <mruby/dump.h> #include "node.h" #define YYLEX_PARAM p @@ -1431,7 +1432,7 @@ heredoc_end(parser_state *p) /* xxx ----------------------------- */ -#line 1435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1436 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -1600,7 +1601,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1376 "mrbgems/mruby-compiler/core/parse.y" +#line 1377 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -1608,7 +1609,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 1612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1613 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2325,70 +2326,70 @@ static const yytype_uint8 yytranslate[] = }; #if YYDEBUG - /* YYRLINEYYN -- Source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 1535, 1535, 1535, 1546, 1552, 1556, 1561, 1565, 1571, - 1573, 1572, 1586, 1613, 1619, 1623, 1628, 1632, 1638, 1638, - 1642, 1646, 1650, 1654, 1658, 1662, 1666, 1671, 1672, 1676, - 1680, 1684, 1688, 1695, 1698, 1702, 1706, 1710, 1714, 1718, - 1723, 1727, 1734, 1735, 1739, 1743, 1744, 1748, 1752, 1756, - 1760, 1764, 1774, 1773, 1788, 1797, 1798, 1801, 1802, 1809, - 1808, 1823, 1827, 1832, 1836, 1841, 1845, 1850, 1854, 1858, - 1862, 1866, 1872, 1876, 1882, 1883, 1889, 1893, 1897, 1901, - 1905, 1909, 1913, 1917, 1921, 1925, 1931, 1932, 1938, 1942, - 1948, 1952, 1958, 1962, 1966, 1970, 1974, 1978, 1984, 1990, - 1997, 2001, 2005, 2009, 2013, 2017, 2023, 2029, 2034, 2040, - 2044, 2047, 2051, 2055, 2062, 2063, 2064, 2065, 2070, 2077, - 2078, 2081, 2085, 2085, 2091, 2092, 2093, 2094, 2095, 2096, - 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, - 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, - 2117, 2118, 2119, 2120, 2123, 2123, 2123, 2124, 2124, 2125, - 2125, 2125, 2126, 2126, 2126, 2126, 2127, 2127, 2127, 2128, - 2128, 2128, 2129, 2129, 2129, 2129, 2130, 2130, 2130, 2130, - 2131, 2131, 2131, 2131, 2132, 2132, 2132, 2132, 2133, 2133, - 2133, 2133, 2134, 2134, 2137, 2141, 2145, 2149, 2153, 2157, - 2161, 2166, 2171, 2176, 2180, 2184, 2188, 2192, 2196, 2200, - 2204, 2208, 2212, 2216, 2220, 2224, 2228, 2232, 2236, 2240, - 2244, 2248, 2252, 2256, 2260, 2264, 2268, 2272, 2276, 2280, - 2284, 2288, 2292, 2296, 2300, 2304, 2308, 2312, 2316, 2320, - 2324, 2332, 2341, 2350, 2360, 2366, 2367, 2372, 2376, 2383, - 2387, 2395, 2399, 2425, 2426, 2429, 2430, 2431, 2436, 2441, - 2448, 2454, 2459, 2464, 2469, 2476, 2476, 2487, 2493, 2497, - 2503, 2504, 2507, 2513, 2519, 2524, 2531, 2536, 2541, 2548, - 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2559, 2564, 2563, - 2575, 2579, 2574, 2584, 2584, 2588, 2592, 2596, 2600, 2605, - 2610, 2614, 2618, 2622, 2626, 2630, 2631, 2637, 2643, 2636, - 2655, 2663, 2671, 2671, 2671, 2678, 2678, 2678, 2685, 2691, - 2696, 2698, 2695, 2707, 2705, 2723, 2728, 2721, 2745, 2743, - 2759, 2769, 2780, 2784, 2788, 2792, 2798, 2805, 2806, 2807, - 2810, 2811, 2814, 2815, 2823, 2824, 2830, 2834, 2837, 2841, - 2845, 2849, 2854, 2858, 2862, 2866, 2872, 2871, 2881, 2885, - 2889, 2893, 2899, 2904, 2909, 2913, 2917, 2921, 2925, 2929, - 2933, 2937, 2941, 2945, 2949, 2953, 2957, 2961, 2965, 2971, - 2976, 2983, 2983, 2987, 2992, 2999, 3003, 3009, 3010, 3013, - 3018, 3021, 3025, 3031, 3035, 3042, 3041, 3056, 3066, 3070, - 3075, 3082, 3086, 3090, 3094, 3098, 3102, 3106, 3110, 3114, - 3121, 3120, 3135, 3134, 3150, 3158, 3167, 3170, 3177, 3180, - 3184, 3185, 3188, 3192, 3195, 3199, 3202, 3203, 3204, 3205, - 3208, 3209, 3215, 3216, 3217, 3221, 3227, 3228, 3234, 3239, - 3238, 3249, 3253, 3259, 3263, 3269, 3273, 3279, 3282, 3283, - 3286, 3292, 3298, 3299, 3302, 3309, 3308, 3322, 3326, 3333, - 3338, 3345, 3351, 3352, 3353, 3354, 3355, 3359, 3365, 3369, - 3375, 3376, 3377, 3381, 3387, 3391, 3395, 3399, 3403, 3409, - 3413, 3419, 3423, 3427, 3431, 3435, 3439, 3447, 3454, 3465, - 3466, 3470, 3474, 3473, 3489, 3495, 3515, 3516, 3522, 3528, - 3534, 3541, 3546, 3553, 3557, 3563, 3567, 3573, 3574, 3577, - 3581, 3587, 3591, 3595, 3599, 3605, 3610, 3615, 3619, 3623, - 3627, 3631, 3635, 3639, 3643, 3647, 3651, 3655, 3659, 3663, - 3667, 3672, 3678, 3683, 3688, 3693, 3698, 3705, 3709, 3716, - 3721, 3720, 3732, 3736, 3742, 3750, 3758, 3766, 3770, 3776, - 3780, 3786, 3787, 3790, 3795, 3802, 3803, 3806, 3812, 3816, - 3822, 3827, 3827, 3852, 3853, 3859, 3864, 3870, 3871, 3874, - 3880, 3885, 3895, 3902, 3903, 3904, 3907, 3908, 3909, 3910, - 3913, 3914, 3915, 3918, 3919, 3922, 3926, 3932, 3933, 3939, - 3940, 3943, 3944, 3947, 3950, 3951, 3952, 3955, 3956, 3957, - 3960, 3967, 3968, 3972 + 0, 1536, 1536, 1536, 1547, 1553, 1557, 1562, 1566, 1572, + 1574, 1573, 1587, 1614, 1620, 1624, 1629, 1633, 1639, 1639, + 1643, 1647, 1651, 1655, 1659, 1663, 1667, 1672, 1673, 1677, + 1681, 1685, 1689, 1696, 1699, 1703, 1707, 1711, 1715, 1719, + 1724, 1728, 1735, 1736, 1740, 1744, 1745, 1749, 1753, 1757, + 1761, 1765, 1775, 1774, 1789, 1798, 1799, 1802, 1803, 1810, + 1809, 1824, 1828, 1833, 1837, 1842, 1846, 1851, 1855, 1859, + 1863, 1867, 1873, 1877, 1883, 1884, 1890, 1894, 1898, 1902, + 1906, 1910, 1914, 1918, 1922, 1926, 1932, 1933, 1939, 1943, + 1949, 1953, 1959, 1963, 1967, 1971, 1975, 1979, 1985, 1991, + 1998, 2002, 2006, 2010, 2014, 2018, 2024, 2030, 2035, 2041, + 2045, 2048, 2052, 2056, 2063, 2064, 2065, 2066, 2071, 2078, + 2079, 2082, 2086, 2086, 2092, 2093, 2094, 2095, 2096, 2097, + 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, + 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, + 2118, 2119, 2120, 2121, 2124, 2124, 2124, 2125, 2125, 2126, + 2126, 2126, 2127, 2127, 2127, 2127, 2128, 2128, 2128, 2129, + 2129, 2129, 2130, 2130, 2130, 2130, 2131, 2131, 2131, 2131, + 2132, 2132, 2132, 2132, 2133, 2133, 2133, 2133, 2134, 2134, + 2134, 2134, 2135, 2135, 2138, 2142, 2146, 2150, 2154, 2158, + 2162, 2167, 2172, 2177, 2181, 2185, 2189, 2193, 2197, 2201, + 2205, 2209, 2213, 2217, 2221, 2225, 2229, 2233, 2237, 2241, + 2245, 2249, 2253, 2257, 2261, 2265, 2269, 2273, 2277, 2281, + 2285, 2289, 2293, 2297, 2301, 2305, 2309, 2313, 2317, 2321, + 2325, 2333, 2342, 2351, 2361, 2367, 2368, 2373, 2377, 2384, + 2388, 2396, 2400, 2426, 2427, 2430, 2431, 2432, 2437, 2442, + 2449, 2455, 2460, 2465, 2470, 2477, 2477, 2488, 2494, 2498, + 2504, 2505, 2508, 2514, 2520, 2525, 2532, 2537, 2542, 2549, + 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2560, 2565, 2564, + 2576, 2580, 2575, 2585, 2585, 2589, 2593, 2597, 2601, 2606, + 2611, 2615, 2619, 2623, 2627, 2631, 2632, 2638, 2644, 2637, + 2656, 2664, 2672, 2672, 2672, 2679, 2679, 2679, 2686, 2692, + 2697, 2699, 2696, 2708, 2706, 2724, 2729, 2722, 2746, 2744, + 2760, 2770, 2781, 2785, 2789, 2793, 2799, 2806, 2807, 2808, + 2811, 2812, 2815, 2816, 2824, 2825, 2831, 2835, 2838, 2842, + 2846, 2850, 2855, 2859, 2863, 2867, 2873, 2872, 2882, 2886, + 2890, 2894, 2900, 2905, 2910, 2914, 2918, 2922, 2926, 2930, + 2934, 2938, 2942, 2946, 2950, 2954, 2958, 2962, 2966, 2972, + 2977, 2984, 2984, 2988, 2993, 3000, 3004, 3010, 3011, 3014, + 3019, 3022, 3026, 3032, 3036, 3043, 3042, 3057, 3067, 3071, + 3076, 3083, 3087, 3091, 3095, 3099, 3103, 3107, 3111, 3115, + 3122, 3121, 3136, 3135, 3151, 3159, 3168, 3171, 3178, 3181, + 3185, 3186, 3189, 3193, 3196, 3200, 3203, 3204, 3205, 3206, + 3209, 3210, 3216, 3217, 3218, 3222, 3228, 3229, 3235, 3240, + 3239, 3250, 3254, 3260, 3264, 3270, 3274, 3280, 3283, 3284, + 3287, 3293, 3299, 3300, 3303, 3310, 3309, 3323, 3327, 3334, + 3339, 3346, 3352, 3353, 3354, 3355, 3356, 3360, 3366, 3370, + 3376, 3377, 3378, 3382, 3388, 3392, 3396, 3400, 3404, 3410, + 3414, 3420, 3424, 3428, 3432, 3436, 3440, 3448, 3455, 3466, + 3467, 3471, 3475, 3474, 3490, 3496, 3516, 3517, 3523, 3529, + 3535, 3542, 3547, 3554, 3558, 3564, 3568, 3574, 3575, 3578, + 3582, 3588, 3592, 3596, 3600, 3606, 3611, 3616, 3620, 3624, + 3628, 3632, 3636, 3640, 3644, 3648, 3652, 3656, 3660, 3664, + 3668, 3673, 3679, 3684, 3689, 3694, 3699, 3706, 3710, 3717, + 3722, 3721, 3733, 3737, 3743, 3751, 3759, 3767, 3771, 3777, + 3781, 3787, 3788, 3791, 3796, 3803, 3804, 3807, 3813, 3817, + 3823, 3828, 3828, 3853, 3854, 3860, 3865, 3871, 3872, 3875, + 3881, 3886, 3896, 3903, 3904, 3905, 3908, 3909, 3910, 3911, + 3914, 3915, 3916, 3919, 3920, 3923, 3927, 3933, 3934, 3940, + 3941, 3944, 3945, 3948, 3951, 3952, 3953, 3956, 3957, 3958, + 3961, 3968, 3969, 3973 }; #endif @@ -2506,7 +2507,7 @@ static const yytype_int16 yytoknum[] = #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) - /* YYPACTSTATE-NUM -- Index in YYTABLE of the portion describing + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { @@ -2618,7 +2619,7 @@ static const yytype_int16 yypact[] = -856, 768, -856 }; - /* YYDEFACTSTATE-NUM -- Default reduction number in state STATE-NUM. + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_int16 yydefact[] = @@ -2731,7 +2732,7 @@ static const yytype_int16 yydefact[] = 373, 363, 365 }; - /* YYPGOTONTERM-NUM. */ + /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -856, -856, -856, 427, -856, 39, -856, -210, 93, -856, @@ -2754,7 +2755,7 @@ static const yytype_int16 yypgoto[] = 324, -236, 474, -21, 14, -2 }; - /* YYDEFGOTONTERM-NUM. */ + /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 2, 68, 69, 70, 285, 459, 460, 296, @@ -2777,7 +2778,7 @@ static const yytype_int16 yydefgoto[] = 510, 528, 255, 256, 257, 300 }; - /* YYTABLEYYPACT[STATE-NUM] -- What to do in state STATE-NUM. If + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = @@ -5226,7 +5227,7 @@ static const yytype_int16 yycheck[] = 133 }; - /* YYSTOSSTATE-NUM -- The (internal number of the) accessing + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { @@ -5338,7 +5339,7 @@ static const yytype_int16 yystos[] = 229, 294, 229 }; - /* YYR1YYN -- Symbol number of symbol that rule YYN derives. */ + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int16 yyr1[] = { 0, 149, 151, 150, 152, 153, 153, 153, 153, 154, @@ -5404,7 +5405,7 @@ static const yytype_int16 yyr1[] = 322, 323, 323, 324 }; - /* YYR2YYN -- Number of symbols on the right hand side of rule YYN. */ + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 2, 2, 1, 1, 3, 2, 1, @@ -6226,86 +6227,86 @@ yyreduce: switch (yyn) { case 2: -#line 1535 "mrbgems/mruby-compiler/core/parse.y" +#line 1536 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 6235 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6236 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: -#line 1540 "mrbgems/mruby-compiler/core/parse.y" +#line 1541 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); NODE_LINENO(p->tree, (yyvsp[0].nd)); } -#line 6244 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6245 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: -#line 1547 "mrbgems/mruby-compiler/core/parse.y" +#line 1548 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6252 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6253 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: -#line 1553 "mrbgems/mruby-compiler/core/parse.y" +#line 1554 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6261 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: -#line 1557 "mrbgems/mruby-compiler/core/parse.y" +#line 1558 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6269 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6270 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: -#line 1562 "mrbgems/mruby-compiler/core/parse.y" +#line 1563 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6277 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6278 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: -#line 1566 "mrbgems/mruby-compiler/core/parse.y" +#line 1567 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6286 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: -#line 1573 "mrbgems/mruby-compiler/core/parse.y" +#line 1574 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 6294 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6295 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: -#line 1578 "mrbgems/mruby-compiler/core/parse.y" +#line 1579 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 6305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6306 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: -#line 1590 "mrbgems/mruby-compiler/core/parse.y" +#line 1591 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -6327,291 +6328,291 @@ yyreduce: } } } -#line 6331 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6332 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: -#line 1614 "mrbgems/mruby-compiler/core/parse.y" +#line 1615 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6339 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6340 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: -#line 1620 "mrbgems/mruby-compiler/core/parse.y" +#line 1621 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6347 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6348 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: -#line 1624 "mrbgems/mruby-compiler/core/parse.y" +#line 1625 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: -#line 1629 "mrbgems/mruby-compiler/core/parse.y" +#line 1630 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: -#line 1633 "mrbgems/mruby-compiler/core/parse.y" +#line 1634 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); } -#line 6372 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: -#line 1638 "mrbgems/mruby-compiler/core/parse.y" +#line 1639 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 6378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6379 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: -#line 1639 "mrbgems/mruby-compiler/core/parse.y" +#line 1640 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 6386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6387 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: -#line 1643 "mrbgems/mruby-compiler/core/parse.y" +#line 1644 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6395 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: -#line 1647 "mrbgems/mruby-compiler/core/parse.y" +#line 1648 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6402 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6403 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: -#line 1651 "mrbgems/mruby-compiler/core/parse.y" +#line 1652 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_unless(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6411 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: -#line 1655 "mrbgems/mruby-compiler/core/parse.y" +#line 1656 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6419 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: -#line 1659 "mrbgems/mruby-compiler/core/parse.y" +#line 1660 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6426 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: -#line 1663 "mrbgems/mruby-compiler/core/parse.y" +#line 1664 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6435 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: -#line 1667 "mrbgems/mruby-compiler/core/parse.y" +#line 1668 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 6443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6444 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: -#line 1673 "mrbgems/mruby-compiler/core/parse.y" +#line 1674 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6452 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: -#line 1677 "mrbgems/mruby-compiler/core/parse.y" +#line 1678 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6460 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: -#line 1681 "mrbgems/mruby-compiler/core/parse.y" +#line 1682 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6467 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6468 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: -#line 1685 "mrbgems/mruby-compiler/core/parse.y" +#line 1686 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6476 "mrbgems/mruby-compiler/core/y.tab.c" break; case 32: -#line 1689 "mrbgems/mruby-compiler/core/parse.y" +#line 1690 "mrbgems/mruby-compiler/core/parse.y" { node *lhs = new_lvar(p, (yyvsp[0].id)); void_expr_error(p, (yyvsp[-2].nd)); assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 6486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6487 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: -#line 1699 "mrbgems/mruby-compiler/core/parse.y" +#line 1700 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6495 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: -#line 1703 "mrbgems/mruby-compiler/core/parse.y" +#line 1704 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6502 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6503 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: -#line 1707 "mrbgems/mruby-compiler/core/parse.y" +#line 1708 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), MRB_OPSYM(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6510 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6511 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: -#line 1711 "mrbgems/mruby-compiler/core/parse.y" +#line 1712 "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 6518 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6519 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: -#line 1715 "mrbgems/mruby-compiler/core/parse.y" +#line 1716 "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 6526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6527 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: -#line 1719 "mrbgems/mruby-compiler/core/parse.y" +#line 1720 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = 0; } -#line 6535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6536 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: -#line 1724 "mrbgems/mruby-compiler/core/parse.y" +#line 1725 "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 6543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6544 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: -#line 1728 "mrbgems/mruby-compiler/core/parse.y" +#line 1729 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 6552 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6553 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: -#line 1736 "mrbgems/mruby-compiler/core/parse.y" +#line 1737 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6560 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6561 "mrbgems/mruby-compiler/core/y.tab.c" break; case 46: -#line 1745 "mrbgems/mruby-compiler/core/parse.y" +#line 1746 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6568 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6569 "mrbgems/mruby-compiler/core/y.tab.c" break; case 47: -#line 1749 "mrbgems/mruby-compiler/core/parse.y" +#line 1750 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6577 "mrbgems/mruby-compiler/core/y.tab.c" break; case 48: -#line 1753 "mrbgems/mruby-compiler/core/parse.y" +#line 1754 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6584 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6585 "mrbgems/mruby-compiler/core/y.tab.c" break; case 49: -#line 1757 "mrbgems/mruby-compiler/core/parse.y" +#line 1758 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6593 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: -#line 1765 "mrbgems/mruby-compiler/core/parse.y" +#line 1766 "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 6603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: -#line 1774 "mrbgems/mruby-compiler/core/parse.y" +#line 1775 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 6611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6612 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: -#line 1778 "mrbgems/mruby-compiler/core/parse.y" +#line 1779 "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; @@ -6620,1054 +6621,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 6624 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6625 "mrbgems/mruby-compiler/core/y.tab.c" break; case 54: -#line 1789 "mrbgems/mruby-compiler/core/parse.y" +#line 1790 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 6635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6636 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: -#line 1803 "mrbgems/mruby-compiler/core/parse.y" +#line 1804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6644 "mrbgems/mruby-compiler/core/y.tab.c" break; case 59: -#line 1809 "mrbgems/mruby-compiler/core/parse.y" +#line 1810 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 6652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6653 "mrbgems/mruby-compiler/core/y.tab.c" break; case 60: -#line 1816 "mrbgems/mruby-compiler/core/parse.y" +#line 1817 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 6662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 61: -#line 1824 "mrbgems/mruby-compiler/core/parse.y" +#line 1825 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 62: -#line 1828 "mrbgems/mruby-compiler/core/parse.y" +#line 1829 "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 6679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 63: -#line 1833 "mrbgems/mruby-compiler/core/parse.y" +#line 1834 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6688 "mrbgems/mruby-compiler/core/y.tab.c" break; case 64: -#line 1837 "mrbgems/mruby-compiler/core/parse.y" +#line 1838 "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 6696 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: -#line 1842 "mrbgems/mruby-compiler/core/parse.y" +#line 1843 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 6704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: -#line 1846 "mrbgems/mruby-compiler/core/parse.y" +#line 1847 "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 6713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6714 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: -#line 1851 "mrbgems/mruby-compiler/core/parse.y" +#line 1852 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 6721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6722 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: -#line 1855 "mrbgems/mruby-compiler/core/parse.y" +#line 1856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 6729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6730 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: -#line 1859 "mrbgems/mruby-compiler/core/parse.y" +#line 1860 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 6737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6738 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: -#line 1863 "mrbgems/mruby-compiler/core/parse.y" +#line 1864 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 6745 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: -#line 1867 "mrbgems/mruby-compiler/core/parse.y" +#line 1868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 6753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: -#line 1873 "mrbgems/mruby-compiler/core/parse.y" +#line 1874 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6762 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: -#line 1877 "mrbgems/mruby-compiler/core/parse.y" +#line 1878 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6769 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: -#line 1884 "mrbgems/mruby-compiler/core/parse.y" +#line 1885 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6777 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6778 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: -#line 1890 "mrbgems/mruby-compiler/core/parse.y" +#line 1891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6785 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6786 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: -#line 1894 "mrbgems/mruby-compiler/core/parse.y" +#line 1895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 6793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6794 "mrbgems/mruby-compiler/core/y.tab.c" break; case 78: -#line 1898 "mrbgems/mruby-compiler/core/parse.y" +#line 1899 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6801 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6802 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: -#line 1902 "mrbgems/mruby-compiler/core/parse.y" +#line 1903 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6810 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: -#line 1906 "mrbgems/mruby-compiler/core/parse.y" +#line 1907 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 6817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6818 "mrbgems/mruby-compiler/core/y.tab.c" break; case 81: -#line 1910 "mrbgems/mruby-compiler/core/parse.y" +#line 1911 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 6825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6826 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: -#line 1914 "mrbgems/mruby-compiler/core/parse.y" +#line 1915 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 6833 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6834 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: -#line 1918 "mrbgems/mruby-compiler/core/parse.y" +#line 1919 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6841 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6842 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: -#line 1922 "mrbgems/mruby-compiler/core/parse.y" +#line 1923 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 6849 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6850 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: -#line 1926 "mrbgems/mruby-compiler/core/parse.y" +#line 1927 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 6857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6858 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: -#line 1933 "mrbgems/mruby-compiler/core/parse.y" +#line 1934 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 6865 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6866 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: -#line 1939 "mrbgems/mruby-compiler/core/parse.y" +#line 1940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 6873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: -#line 1943 "mrbgems/mruby-compiler/core/parse.y" +#line 1944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 6881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6882 "mrbgems/mruby-compiler/core/y.tab.c" break; case 90: -#line 1949 "mrbgems/mruby-compiler/core/parse.y" +#line 1950 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6890 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: -#line 1953 "mrbgems/mruby-compiler/core/parse.y" +#line 1954 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 6897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6898 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: -#line 1959 "mrbgems/mruby-compiler/core/parse.y" +#line 1960 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 6905 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6906 "mrbgems/mruby-compiler/core/y.tab.c" break; case 93: -#line 1963 "mrbgems/mruby-compiler/core/parse.y" +#line 1964 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), MRB_OPSYM(aref), (yyvsp[-1].nd), '.'); } -#line 6913 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6914 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: -#line 1967 "mrbgems/mruby-compiler/core/parse.y" +#line 1968 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6922 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: -#line 1971 "mrbgems/mruby-compiler/core/parse.y" +#line 1972 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 6929 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: -#line 1975 "mrbgems/mruby-compiler/core/parse.y" +#line 1976 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6938 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: -#line 1979 "mrbgems/mruby-compiler/core/parse.y" +#line 1980 "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 6947 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: -#line 1985 "mrbgems/mruby-compiler/core/parse.y" +#line 1986 "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 6957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6958 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: -#line 1991 "mrbgems/mruby-compiler/core/parse.y" +#line 1992 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 6966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6967 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: -#line 1998 "mrbgems/mruby-compiler/core/parse.y" +#line 1999 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 6974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 101: -#line 2002 "mrbgems/mruby-compiler/core/parse.y" +#line 2003 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), MRB_OPSYM(aref), (yyvsp[-1].nd), '.'); } -#line 6982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6983 "mrbgems/mruby-compiler/core/y.tab.c" break; case 102: -#line 2006 "mrbgems/mruby-compiler/core/parse.y" +#line 2007 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 103: -#line 2010 "mrbgems/mruby-compiler/core/parse.y" +#line 2011 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 6998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: -#line 2014 "mrbgems/mruby-compiler/core/parse.y" +#line 2015 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 7006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7007 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: -#line 2018 "mrbgems/mruby-compiler/core/parse.y" +#line 2019 "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 7016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7017 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: -#line 2024 "mrbgems/mruby-compiler/core/parse.y" +#line 2025 "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 7026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7027 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: -#line 2030 "mrbgems/mruby-compiler/core/parse.y" +#line 2031 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 7035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7036 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: -#line 2035 "mrbgems/mruby-compiler/core/parse.y" +#line 2036 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 7043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7044 "mrbgems/mruby-compiler/core/y.tab.c" break; case 109: -#line 2041 "mrbgems/mruby-compiler/core/parse.y" +#line 2042 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "class/module name must be CONSTANT"); } -#line 7051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7052 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: -#line 2048 "mrbgems/mruby-compiler/core/parse.y" +#line 2049 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((node*)1, nsym((yyvsp[0].id))); } -#line 7059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7060 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: -#line 2052 "mrbgems/mruby-compiler/core/parse.y" +#line 2053 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((node*)0, nsym((yyvsp[0].id))); } -#line 7067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7068 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: -#line 2056 "mrbgems/mruby-compiler/core/parse.y" +#line 2057 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), nsym((yyvsp[0].id))); } -#line 7076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7077 "mrbgems/mruby-compiler/core/y.tab.c" break; case 117: -#line 2066 "mrbgems/mruby-compiler/core/parse.y" +#line 2067 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7085 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7086 "mrbgems/mruby-compiler/core/y.tab.c" break; case 118: -#line 2071 "mrbgems/mruby-compiler/core/parse.y" +#line 2072 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7095 "mrbgems/mruby-compiler/core/y.tab.c" break; case 121: -#line 2082 "mrbgems/mruby-compiler/core/parse.y" +#line 2083 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].id)); } -#line 7102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7103 "mrbgems/mruby-compiler/core/y.tab.c" break; case 122: -#line 2085 "mrbgems/mruby-compiler/core/parse.y" +#line 2086 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7109 "mrbgems/mruby-compiler/core/y.tab.c" break; case 123: -#line 2086 "mrbgems/mruby-compiler/core/parse.y" +#line 2087 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), nsym((yyvsp[0].id))); } -#line 7116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7117 "mrbgems/mruby-compiler/core/y.tab.c" break; case 124: -#line 2091 "mrbgems/mruby-compiler/core/parse.y" +#line 2092 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(or); } -#line 7122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7123 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: -#line 2092 "mrbgems/mruby-compiler/core/parse.y" +#line 2093 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(xor); } -#line 7128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7129 "mrbgems/mruby-compiler/core/y.tab.c" break; case 126: -#line 2093 "mrbgems/mruby-compiler/core/parse.y" +#line 2094 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(and); } -#line 7134 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7135 "mrbgems/mruby-compiler/core/y.tab.c" break; case 127: -#line 2094 "mrbgems/mruby-compiler/core/parse.y" +#line 2095 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(cmp); } -#line 7140 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7141 "mrbgems/mruby-compiler/core/y.tab.c" break; case 128: -#line 2095 "mrbgems/mruby-compiler/core/parse.y" +#line 2096 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(eq); } -#line 7146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7147 "mrbgems/mruby-compiler/core/y.tab.c" break; case 129: -#line 2096 "mrbgems/mruby-compiler/core/parse.y" +#line 2097 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(eqq); } -#line 7152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7153 "mrbgems/mruby-compiler/core/y.tab.c" break; case 130: -#line 2097 "mrbgems/mruby-compiler/core/parse.y" +#line 2098 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(match); } -#line 7158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 131: -#line 2098 "mrbgems/mruby-compiler/core/parse.y" +#line 2099 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(nmatch); } -#line 7164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7165 "mrbgems/mruby-compiler/core/y.tab.c" break; case 132: -#line 2099 "mrbgems/mruby-compiler/core/parse.y" +#line 2100 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(gt); } -#line 7170 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7171 "mrbgems/mruby-compiler/core/y.tab.c" break; case 133: -#line 2100 "mrbgems/mruby-compiler/core/parse.y" +#line 2101 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(ge); } -#line 7176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7177 "mrbgems/mruby-compiler/core/y.tab.c" break; case 134: -#line 2101 "mrbgems/mruby-compiler/core/parse.y" +#line 2102 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(lt); } -#line 7182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7183 "mrbgems/mruby-compiler/core/y.tab.c" break; case 135: -#line 2102 "mrbgems/mruby-compiler/core/parse.y" +#line 2103 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(le); } -#line 7188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7189 "mrbgems/mruby-compiler/core/y.tab.c" break; case 136: -#line 2103 "mrbgems/mruby-compiler/core/parse.y" +#line 2104 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(neq); } -#line 7194 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7195 "mrbgems/mruby-compiler/core/y.tab.c" break; case 137: -#line 2104 "mrbgems/mruby-compiler/core/parse.y" +#line 2105 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(lshift); } -#line 7200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 138: -#line 2105 "mrbgems/mruby-compiler/core/parse.y" +#line 2106 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(rshift); } -#line 7206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7207 "mrbgems/mruby-compiler/core/y.tab.c" break; case 139: -#line 2106 "mrbgems/mruby-compiler/core/parse.y" +#line 2107 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(add); } -#line 7212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7213 "mrbgems/mruby-compiler/core/y.tab.c" break; case 140: -#line 2107 "mrbgems/mruby-compiler/core/parse.y" +#line 2108 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(sub); } -#line 7218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7219 "mrbgems/mruby-compiler/core/y.tab.c" break; case 141: -#line 2108 "mrbgems/mruby-compiler/core/parse.y" +#line 2109 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(mul); } -#line 7224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7225 "mrbgems/mruby-compiler/core/y.tab.c" break; case 142: -#line 2109 "mrbgems/mruby-compiler/core/parse.y" +#line 2110 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(mul); } -#line 7230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7231 "mrbgems/mruby-compiler/core/y.tab.c" break; case 143: -#line 2110 "mrbgems/mruby-compiler/core/parse.y" +#line 2111 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(div); } -#line 7236 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7237 "mrbgems/mruby-compiler/core/y.tab.c" break; case 144: -#line 2111 "mrbgems/mruby-compiler/core/parse.y" +#line 2112 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(mod); } -#line 7242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 145: -#line 2112 "mrbgems/mruby-compiler/core/parse.y" +#line 2113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(pow); } -#line 7248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7249 "mrbgems/mruby-compiler/core/y.tab.c" break; case 146: -#line 2113 "mrbgems/mruby-compiler/core/parse.y" +#line 2114 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(pow); } -#line 7254 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7255 "mrbgems/mruby-compiler/core/y.tab.c" break; case 147: -#line 2114 "mrbgems/mruby-compiler/core/parse.y" +#line 2115 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(not); } -#line 7260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7261 "mrbgems/mruby-compiler/core/y.tab.c" break; case 148: -#line 2115 "mrbgems/mruby-compiler/core/parse.y" +#line 2116 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(neg); } -#line 7266 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 149: -#line 2116 "mrbgems/mruby-compiler/core/parse.y" +#line 2117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(plus); } -#line 7272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7273 "mrbgems/mruby-compiler/core/y.tab.c" break; case 150: -#line 2117 "mrbgems/mruby-compiler/core/parse.y" +#line 2118 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(minus); } -#line 7278 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7279 "mrbgems/mruby-compiler/core/y.tab.c" break; case 151: -#line 2118 "mrbgems/mruby-compiler/core/parse.y" +#line 2119 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(aref); } -#line 7284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 152: -#line 2119 "mrbgems/mruby-compiler/core/parse.y" +#line 2120 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(aset); } -#line 7290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 153: -#line 2120 "mrbgems/mruby-compiler/core/parse.y" +#line 2121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = MRB_OPSYM(tick); } -#line 7296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7297 "mrbgems/mruby-compiler/core/y.tab.c" break; case 194: -#line 2138 "mrbgems/mruby-compiler/core/parse.y" +#line 2139 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7305 "mrbgems/mruby-compiler/core/y.tab.c" break; case 195: -#line 2142 "mrbgems/mruby-compiler/core/parse.y" +#line 2143 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7312 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7313 "mrbgems/mruby-compiler/core/y.tab.c" break; case 196: -#line 2146 "mrbgems/mruby-compiler/core/parse.y" +#line 2147 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), MRB_OPSYM(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7320 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7321 "mrbgems/mruby-compiler/core/y.tab.c" break; case 197: -#line 2150 "mrbgems/mruby-compiler/core/parse.y" +#line 2151 "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 7328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7329 "mrbgems/mruby-compiler/core/y.tab.c" break; case 198: -#line 2154 "mrbgems/mruby-compiler/core/parse.y" +#line 2155 "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 7336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7337 "mrbgems/mruby-compiler/core/y.tab.c" break; case 199: -#line 2158 "mrbgems/mruby-compiler/core/parse.y" +#line 2159 "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 7344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7345 "mrbgems/mruby-compiler/core/y.tab.c" break; case 200: -#line 2162 "mrbgems/mruby-compiler/core/parse.y" +#line 2163 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7354 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: -#line 2167 "mrbgems/mruby-compiler/core/parse.y" +#line 2168 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7363 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: -#line 2172 "mrbgems/mruby-compiler/core/parse.y" +#line 2173 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 7371 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7372 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: -#line 2177 "mrbgems/mruby-compiler/core/parse.y" +#line 2178 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7379 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: -#line 2181 "mrbgems/mruby-compiler/core/parse.y" +#line 2182 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7387 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7388 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: -#line 2185 "mrbgems/mruby-compiler/core/parse.y" +#line 2186 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 7395 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7396 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: -#line 2189 "mrbgems/mruby-compiler/core/parse.y" +#line 2190 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7403 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7404 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: -#line 2193 "mrbgems/mruby-compiler/core/parse.y" +#line 2194 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7411 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7412 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: -#line 2197 "mrbgems/mruby-compiler/core/parse.y" +#line 2198 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 7419 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7420 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: -#line 2201 "mrbgems/mruby-compiler/core/parse.y" +#line 2202 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 7427 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7428 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: -#line 2205 "mrbgems/mruby-compiler/core/parse.y" +#line 2206 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 7435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7436 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: -#line 2209 "mrbgems/mruby-compiler/core/parse.y" +#line 2210 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 7443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7444 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: -#line 2213 "mrbgems/mruby-compiler/core/parse.y" +#line 2214 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 7451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7452 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: -#line 2217 "mrbgems/mruby-compiler/core/parse.y" +#line 2218 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 7459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7460 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: -#line 2221 "mrbgems/mruby-compiler/core/parse.y" +#line 2222 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 7467 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7468 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: -#line 2225 "mrbgems/mruby-compiler/core/parse.y" +#line 2226 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)), "-@"); } -#line 7475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7476 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: -#line 2229 "mrbgems/mruby-compiler/core/parse.y" +#line 2230 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)), "-@"); } -#line 7483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7484 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: -#line 2233 "mrbgems/mruby-compiler/core/parse.y" +#line 2234 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 7491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7492 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: -#line 2237 "mrbgems/mruby-compiler/core/parse.y" +#line 2238 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "-@"); } -#line 7499 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7500 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: -#line 2241 "mrbgems/mruby-compiler/core/parse.y" +#line 2242 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 7507 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7508 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: -#line 2245 "mrbgems/mruby-compiler/core/parse.y" +#line 2246 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 7515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7516 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: -#line 2249 "mrbgems/mruby-compiler/core/parse.y" +#line 2250 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 7523 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7524 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: -#line 2253 "mrbgems/mruby-compiler/core/parse.y" +#line 2254 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 7531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7532 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: -#line 2257 "mrbgems/mruby-compiler/core/parse.y" +#line 2258 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 7539 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7540 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: -#line 2261 "mrbgems/mruby-compiler/core/parse.y" +#line 2262 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 7547 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7548 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: -#line 2265 "mrbgems/mruby-compiler/core/parse.y" +#line 2266 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 7555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7556 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: -#line 2269 "mrbgems/mruby-compiler/core/parse.y" +#line 2270 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 7563 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7564 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: -#line 2273 "mrbgems/mruby-compiler/core/parse.y" +#line 2274 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 7571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7572 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: -#line 2277 "mrbgems/mruby-compiler/core/parse.y" +#line 2278 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 7579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7580 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: -#line 2281 "mrbgems/mruby-compiler/core/parse.y" +#line 2282 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 7587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7588 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: -#line 2285 "mrbgems/mruby-compiler/core/parse.y" +#line 2286 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 7595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7596 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: -#line 2289 "mrbgems/mruby-compiler/core/parse.y" +#line 2290 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 7603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: -#line 2293 "mrbgems/mruby-compiler/core/parse.y" +#line 2294 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7612 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: -#line 2297 "mrbgems/mruby-compiler/core/parse.y" +#line 2298 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 7619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7620 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: -#line 2301 "mrbgems/mruby-compiler/core/parse.y" +#line 2302 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 7627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7628 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: -#line 2305 "mrbgems/mruby-compiler/core/parse.y" +#line 2306 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 7635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7636 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: -#line 2309 "mrbgems/mruby-compiler/core/parse.y" +#line 2310 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7644 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: -#line 2313 "mrbgems/mruby-compiler/core/parse.y" +#line 2314 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7651 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7652 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: -#line 2317 "mrbgems/mruby-compiler/core/parse.y" +#line 2318 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7660 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: -#line 2321 "mrbgems/mruby-compiler/core/parse.y" +#line 2322 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7667 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7668 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: -#line 2325 "mrbgems/mruby-compiler/core/parse.y" +#line 2326 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7675,11 +7676,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: -#line 2333 "mrbgems/mruby-compiler/core/parse.y" +#line 2334 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7688,11 +7689,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7693 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: -#line 2342 "mrbgems/mruby-compiler/core/parse.y" +#line 2343 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7701,11 +7702,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7706 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: -#line 2351 "mrbgems/mruby-compiler/core/parse.y" +#line 2352 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7715,71 +7716,71 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7719 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7720 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: -#line 2361 "mrbgems/mruby-compiler/core/parse.y" +#line 2362 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7727 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7728 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: -#line 2368 "mrbgems/mruby-compiler/core/parse.y" +#line 2369 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7736 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: -#line 2373 "mrbgems/mruby-compiler/core/parse.y" +#line 2374 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))); } -#line 7744 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7745 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: -#line 2377 "mrbgems/mruby-compiler/core/parse.y" +#line 2378 "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 7753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 249: -#line 2384 "mrbgems/mruby-compiler/core/parse.y" +#line 2385 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7762 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: -#line 2388 "mrbgems/mruby-compiler/core/parse.y" +#line 2389 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7771 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7772 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: -#line 2396 "mrbgems/mruby-compiler/core/parse.y" +#line 2397 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7779 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7780 "mrbgems/mruby-compiler/core/y.tab.c" break; case 252: -#line 2400 "mrbgems/mruby-compiler/core/parse.y" +#line 2401 "mrbgems/mruby-compiler/core/parse.y" { #if 1 mrb_sym r = MRB_OPSYM(mul); @@ -7803,373 +7804,373 @@ yyreduce: (yyval.nd) = 0; } } -#line 7807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7808 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: -#line 2432 "mrbgems/mruby-compiler/core/parse.y" +#line 2433 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[-1].nd),0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7817 "mrbgems/mruby-compiler/core/y.tab.c" break; case 258: -#line 2437 "mrbgems/mruby-compiler/core/parse.y" +#line 2438 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), 0); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7826 "mrbgems/mruby-compiler/core/y.tab.c" break; case 259: -#line 2442 "mrbgems/mruby-compiler/core/parse.y" +#line 2443 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), 0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7835 "mrbgems/mruby-compiler/core/y.tab.c" break; case 260: -#line 2449 "mrbgems/mruby-compiler/core/parse.y" +#line 2450 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(list1((yyvsp[0].nd)), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7845 "mrbgems/mruby-compiler/core/y.tab.c" break; case 261: -#line 2455 "mrbgems/mruby-compiler/core/parse.y" +#line 2456 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[-1].nd), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7853 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7854 "mrbgems/mruby-compiler/core/y.tab.c" break; case 262: -#line 2460 "mrbgems/mruby-compiler/core/parse.y" +#line 2461 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7863 "mrbgems/mruby-compiler/core/y.tab.c" break; case 263: -#line 2465 "mrbgems/mruby-compiler/core/parse.y" +#line 2466 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 264: -#line 2470 "mrbgems/mruby-compiler/core/parse.y" +#line 2471 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(0, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7881 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: -#line 2476 "mrbgems/mruby-compiler/core/parse.y" +#line 2477 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 7889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7890 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: -#line 2481 "mrbgems/mruby-compiler/core/parse.y" +#line 2482 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 7898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7899 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: -#line 2488 "mrbgems/mruby-compiler/core/parse.y" +#line 2489 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 7906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7907 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: -#line 2494 "mrbgems/mruby-compiler/core/parse.y" +#line 2495 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7915 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: -#line 2498 "mrbgems/mruby-compiler/core/parse.y" +#line 2499 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7923 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: -#line 2508 "mrbgems/mruby-compiler/core/parse.y" +#line 2509 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[0].nd), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7933 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: -#line 2514 "mrbgems/mruby-compiler/core/parse.y" +#line 2515 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_splat(p, (yyvsp[0].nd)), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7942 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7943 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: -#line 2520 "mrbgems/mruby-compiler/core/parse.y" +#line 2521 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7951 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7952 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: -#line 2525 "mrbgems/mruby-compiler/core/parse.y" +#line 2526 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7961 "mrbgems/mruby-compiler/core/y.tab.c" break; case 276: -#line 2532 "mrbgems/mruby-compiler/core/parse.y" +#line 2533 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7970 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: -#line 2537 "mrbgems/mruby-compiler/core/parse.y" +#line 2538 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7979 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: -#line 2542 "mrbgems/mruby-compiler/core/parse.y" +#line 2543 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 7987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7988 "mrbgems/mruby-compiler/core/y.tab.c" break; case 286: -#line 2556 "mrbgems/mruby-compiler/core/parse.y" +#line 2557 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 7995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7996 "mrbgems/mruby-compiler/core/y.tab.c" break; case 287: -#line 2560 "mrbgems/mruby-compiler/core/parse.y" +#line 2561 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 8003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8004 "mrbgems/mruby-compiler/core/y.tab.c" break; case 288: -#line 2564 "mrbgems/mruby-compiler/core/parse.y" +#line 2565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 289: -#line 2570 "mrbgems/mruby-compiler/core/parse.y" +#line 2571 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = (yyvsp[-1].nd); } -#line 8021 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8022 "mrbgems/mruby-compiler/core/y.tab.c" break; case 290: -#line 2575 "mrbgems/mruby-compiler/core/parse.y" +#line 2576 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8030 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8031 "mrbgems/mruby-compiler/core/y.tab.c" break; case 291: -#line 2579 "mrbgems/mruby-compiler/core/parse.y" +#line 2580 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8037 "mrbgems/mruby-compiler/core/y.tab.c" break; case 292: -#line 2580 "mrbgems/mruby-compiler/core/parse.y" +#line 2581 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 8045 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 293: -#line 2584 "mrbgems/mruby-compiler/core/parse.y" +#line 2585 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8052 "mrbgems/mruby-compiler/core/y.tab.c" break; case 294: -#line 2585 "mrbgems/mruby-compiler/core/parse.y" +#line 2586 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 8059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8060 "mrbgems/mruby-compiler/core/y.tab.c" break; case 295: -#line 2589 "mrbgems/mruby-compiler/core/parse.y" +#line 2590 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8068 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: -#line 2593 "mrbgems/mruby-compiler/core/parse.y" +#line 2594 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8076 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: -#line 2597 "mrbgems/mruby-compiler/core/parse.y" +#line 2598 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: -#line 2601 "mrbgems/mruby-compiler/core/parse.y" +#line 2602 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8092 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: -#line 2606 "mrbgems/mruby-compiler/core/parse.y" +#line 2607 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8102 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: -#line 2611 "mrbgems/mruby-compiler/core/parse.y" +#line 2612 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 8109 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8110 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: -#line 2615 "mrbgems/mruby-compiler/core/parse.y" +#line 2616 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8117 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8118 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: -#line 2619 "mrbgems/mruby-compiler/core/parse.y" +#line 2620 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 8125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8126 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: -#line 2623 "mrbgems/mruby-compiler/core/parse.y" +#line 2624 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 8133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: -#line 2627 "mrbgems/mruby-compiler/core/parse.y" +#line 2628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), cons(0, (yyvsp[0].nd))); } -#line 8141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: -#line 2632 "mrbgems/mruby-compiler/core/parse.y" +#line 2633 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 8150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8151 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: -#line 2637 "mrbgems/mruby-compiler/core/parse.y" +#line 2638 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 8160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8161 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: -#line 2643 "mrbgems/mruby-compiler/core/parse.y" +#line 2644 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8169 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8170 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: -#line 2648 "mrbgems/mruby-compiler/core/parse.y" +#line 2649 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -8177,149 +8178,149 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8182 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: -#line 2659 "mrbgems/mruby-compiler/core/parse.y" +#line 2660 "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 8190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8191 "mrbgems/mruby-compiler/core/y.tab.c" break; case 311: -#line 2667 "mrbgems/mruby-compiler/core/parse.y" +#line 2668 "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 8199 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8200 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: -#line 2671 "mrbgems/mruby-compiler/core/parse.y" +#line 2672 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: -#line 2671 "mrbgems/mruby-compiler/core/parse.y" +#line 2672 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8211 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8212 "mrbgems/mruby-compiler/core/y.tab.c" break; case 314: -#line 2674 "mrbgems/mruby-compiler/core/parse.y" +#line 2675 "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 8220 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8221 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: -#line 2678 "mrbgems/mruby-compiler/core/parse.y" +#line 2679 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8227 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: -#line 2678 "mrbgems/mruby-compiler/core/parse.y" +#line 2679 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8233 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: -#line 2681 "mrbgems/mruby-compiler/core/parse.y" +#line 2682 "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 8241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: -#line 2688 "mrbgems/mruby-compiler/core/parse.y" +#line 2689 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 8249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8250 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: -#line 2692 "mrbgems/mruby-compiler/core/parse.y" +#line 2693 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 8257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8258 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: -#line 2696 "mrbgems/mruby-compiler/core/parse.y" +#line 2697 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8263 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8264 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: -#line 2698 "mrbgems/mruby-compiler/core/parse.y" +#line 2699 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8269 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8270 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: -#line 2701 "mrbgems/mruby-compiler/core/parse.y" +#line 2702 "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 8278 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8279 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: -#line 2707 "mrbgems/mruby-compiler/core/parse.y" +#line 2708 "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 8289 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: -#line 2715 "mrbgems/mruby-compiler/core/parse.y" +#line 2716 "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 8300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: -#line 2723 "mrbgems/mruby-compiler/core/parse.y" +#line 2724 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 8309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8310 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: -#line 2728 "mrbgems/mruby-compiler/core/parse.y" +#line 2729 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), nint(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 8319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8320 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: -#line 2735 "mrbgems/mruby-compiler/core/parse.y" +#line 2736 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -8328,44 +8329,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = intn((yyvsp[-2].nd)->cdr); } -#line 8332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: -#line 2745 "mrbgems/mruby-compiler/core/parse.y" +#line 2746 "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 8343 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8344 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: -#line 2753 "mrbgems/mruby-compiler/core/parse.y" +#line 2754 "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 8354 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8355 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: -#line 2763 "mrbgems/mruby-compiler/core/parse.y" +#line 2764 "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 8365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8366 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: -#line 2773 "mrbgems/mruby-compiler/core/parse.y" +#line 2774 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8373,451 +8374,451 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8377 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8378 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: -#line 2781 "mrbgems/mruby-compiler/core/parse.y" +#line 2782 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 8385 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8386 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: -#line 2785 "mrbgems/mruby-compiler/core/parse.y" +#line 2786 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 8393 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8394 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: -#line 2789 "mrbgems/mruby-compiler/core/parse.y" +#line 2790 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 8401 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8402 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: -#line 2793 "mrbgems/mruby-compiler/core/parse.y" +#line 2794 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 8409 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8410 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: -#line 2799 "mrbgems/mruby-compiler/core/parse.y" +#line 2800 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 8418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8419 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: -#line 2818 "mrbgems/mruby-compiler/core/parse.y" +#line 2819 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8426 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: -#line 2825 "mrbgems/mruby-compiler/core/parse.y" +#line 2826 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" break; case 346: -#line 2831 "mrbgems/mruby-compiler/core/parse.y" +#line 2832 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 8442 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" break; case 348: -#line 2838 "mrbgems/mruby-compiler/core/parse.y" +#line 2839 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 8450 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" break; case 349: -#line 2842 "mrbgems/mruby-compiler/core/parse.y" +#line 2843 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0); } -#line 8458 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" break; case 350: -#line 2846 "mrbgems/mruby-compiler/core/parse.y" +#line 2847 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8466 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8467 "mrbgems/mruby-compiler/core/y.tab.c" break; case 351: -#line 2850 "mrbgems/mruby-compiler/core/parse.y" +#line 2851 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = list3((yyvsp[-2].nd), (node*)-1, 0); } -#line 8475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8476 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: -#line 2855 "mrbgems/mruby-compiler/core/parse.y" +#line 2856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (node*)-1, (yyvsp[0].nd)); } -#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" break; case 353: -#line 2859 "mrbgems/mruby-compiler/core/parse.y" +#line 2860 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); } -#line 8491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8492 "mrbgems/mruby-compiler/core/y.tab.c" break; case 354: -#line 2863 "mrbgems/mruby-compiler/core/parse.y" +#line 2864 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8499 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8500 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: -#line 2867 "mrbgems/mruby-compiler/core/parse.y" +#line 2868 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = list3(0, (node*)-1, 0); } -#line 8508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8509 "mrbgems/mruby-compiler/core/y.tab.c" break; case 356: -#line 2872 "mrbgems/mruby-compiler/core/parse.y" +#line 2873 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); } -#line 8516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8517 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: -#line 2876 "mrbgems/mruby-compiler/core/parse.y" +#line 2877 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (node*)-1, (yyvsp[0].nd)); } -#line 8524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8525 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: -#line 2882 "mrbgems/mruby-compiler/core/parse.y" +#line 2883 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8533 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: -#line 2886 "mrbgems/mruby-compiler/core/parse.y" +#line 2887 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 8540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8541 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: -#line 2890 "mrbgems/mruby-compiler/core/parse.y" +#line 2891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8549 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: -#line 2894 "mrbgems/mruby-compiler/core/parse.y" +#line 2895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 8556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8557 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: -#line 2900 "mrbgems/mruby-compiler/core/parse.y" +#line 2901 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8565 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: -#line 2904 "mrbgems/mruby-compiler/core/parse.y" +#line 2905 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 8572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8573 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: -#line 2910 "mrbgems/mruby-compiler/core/parse.y" +#line 2911 "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 8580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8581 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: -#line 2914 "mrbgems/mruby-compiler/core/parse.y" +#line 2915 "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 8588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8589 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: -#line 2918 "mrbgems/mruby-compiler/core/parse.y" +#line 2919 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: -#line 2922 "mrbgems/mruby-compiler/core/parse.y" +#line 2923 "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 8604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8605 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: -#line 2926 "mrbgems/mruby-compiler/core/parse.y" +#line 2927 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: -#line 2930 "mrbgems/mruby-compiler/core/parse.y" +#line 2931 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8621 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: -#line 2934 "mrbgems/mruby-compiler/core/parse.y" +#line 2935 "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 8628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8629 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: -#line 2938 "mrbgems/mruby-compiler/core/parse.y" +#line 2939 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8637 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: -#line 2942 "mrbgems/mruby-compiler/core/parse.y" +#line 2943 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8645 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: -#line 2946 "mrbgems/mruby-compiler/core/parse.y" +#line 2947 "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 8652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8653 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: -#line 2950 "mrbgems/mruby-compiler/core/parse.y" +#line 2951 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8661 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: -#line 2954 "mrbgems/mruby-compiler/core/parse.y" +#line 2955 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: -#line 2958 "mrbgems/mruby-compiler/core/parse.y" +#line 2959 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8677 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: -#line 2962 "mrbgems/mruby-compiler/core/parse.y" +#line 2963 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8685 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: -#line 2966 "mrbgems/mruby-compiler/core/parse.y" +#line 2967 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 8692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8693 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: -#line 2972 "mrbgems/mruby-compiler/core/parse.y" +#line 2973 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8702 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: -#line 2977 "mrbgems/mruby-compiler/core/parse.y" +#line 2978 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 8710 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8711 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: -#line 2983 "mrbgems/mruby-compiler/core/parse.y" +#line 2984 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p, 0);} -#line 8716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8717 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: -#line 2984 "mrbgems/mruby-compiler/core/parse.y" +#line 2985 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8725 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: -#line 2988 "mrbgems/mruby-compiler/core/parse.y" +#line 2989 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8734 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: -#line 2993 "mrbgems/mruby-compiler/core/parse.y" +#line 2994 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8742 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: -#line 3000 "mrbgems/mruby-compiler/core/parse.y" +#line 3001 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8750 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: -#line 3004 "mrbgems/mruby-compiler/core/parse.y" +#line 3005 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8758 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: -#line 3014 "mrbgems/mruby-compiler/core/parse.y" +#line 3015 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 8766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8767 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: -#line 3022 "mrbgems/mruby-compiler/core/parse.y" +#line 3023 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8774 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8775 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: -#line 3026 "mrbgems/mruby-compiler/core/parse.y" +#line 3027 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8782 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8783 "mrbgems/mruby-compiler/core/y.tab.c" break; case 393: -#line 3032 "mrbgems/mruby-compiler/core/parse.y" +#line 3033 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8790 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8791 "mrbgems/mruby-compiler/core/y.tab.c" break; case 394: -#line 3036 "mrbgems/mruby-compiler/core/parse.y" +#line 3037 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8798 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8799 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: -#line 3042 "mrbgems/mruby-compiler/core/parse.y" +#line 3043 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8808 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: -#line 3049 "mrbgems/mruby-compiler/core/parse.y" +#line 3050 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8818 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: -#line 3057 "mrbgems/mruby-compiler/core/parse.y" +#line 3058 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd)->car == (node*)NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8827,159 +8828,159 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: -#line 3067 "mrbgems/mruby-compiler/core/parse.y" +#line 3068 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 399: -#line 3071 "mrbgems/mruby-compiler/core/parse.y" +#line 3072 "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 8848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8849 "mrbgems/mruby-compiler/core/y.tab.c" break; case 400: -#line 3076 "mrbgems/mruby-compiler/core/parse.y" +#line 3077 "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 8857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8858 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: -#line 3083 "mrbgems/mruby-compiler/core/parse.y" +#line 3084 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8865 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8866 "mrbgems/mruby-compiler/core/y.tab.c" break; case 402: -#line 3087 "mrbgems/mruby-compiler/core/parse.y" +#line 3088 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: -#line 3091 "mrbgems/mruby-compiler/core/parse.y" +#line 3092 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8882 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: -#line 3095 "mrbgems/mruby-compiler/core/parse.y" +#line 3096 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8890 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: -#line 3099 "mrbgems/mruby-compiler/core/parse.y" +#line 3100 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM(call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: -#line 3103 "mrbgems/mruby-compiler/core/parse.y" +#line 3104 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM(call), (yyvsp[0].nd), tCOLON2); } -#line 8905 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8906 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: -#line 3107 "mrbgems/mruby-compiler/core/parse.y" +#line 3108 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8913 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8914 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: -#line 3111 "mrbgems/mruby-compiler/core/parse.y" +#line 3112 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8922 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: -#line 3115 "mrbgems/mruby-compiler/core/parse.y" +#line 3116 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), MRB_OPSYM(aref), (yyvsp[-1].nd), '.'); } -#line 8929 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: -#line 3121 "mrbgems/mruby-compiler/core/parse.y" +#line 3122 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8939 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: -#line 3128 "mrbgems/mruby-compiler/core/parse.y" +#line 3129 "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 8950 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: -#line 3135 "mrbgems/mruby-compiler/core/parse.y" +#line 3136 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8961 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: -#line 3142 "mrbgems/mruby-compiler/core/parse.y" +#line 3143 "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 8971 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8972 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: -#line 3153 "mrbgems/mruby-compiler/core/parse.y" +#line 3154 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 8979 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8980 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: -#line 3159 "mrbgems/mruby-compiler/core/parse.y" +#line 3160 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -8988,383 +8989,383 @@ yyreduce: (yyval.nd) = 0; } } -#line 8992 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: -#line 3173 "mrbgems/mruby-compiler/core/parse.y" +#line 3174 "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 9001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9002 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: -#line 3181 "mrbgems/mruby-compiler/core/parse.y" +#line 3182 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9010 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: -#line 3189 "mrbgems/mruby-compiler/core/parse.y" +#line 3190 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9018 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: -#line 3196 "mrbgems/mruby-compiler/core/parse.y" +#line 3197 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9026 "mrbgems/mruby-compiler/core/y.tab.c" break; case 431: -#line 3210 "mrbgems/mruby-compiler/core/parse.y" +#line 3211 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9034 "mrbgems/mruby-compiler/core/y.tab.c" break; case 434: -#line 3218 "mrbgems/mruby-compiler/core/parse.y" +#line 3219 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" break; case 435: -#line 3222 "mrbgems/mruby-compiler/core/parse.y" +#line 3223 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9050 "mrbgems/mruby-compiler/core/y.tab.c" break; case 437: -#line 3229 "mrbgems/mruby-compiler/core/parse.y" +#line 3230 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9058 "mrbgems/mruby-compiler/core/y.tab.c" break; case 438: -#line 3235 "mrbgems/mruby-compiler/core/parse.y" +#line 3236 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" break; case 439: -#line 3239 "mrbgems/mruby-compiler/core/parse.y" +#line 3240 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = p->lex_strterm; p->lex_strterm = NULL; } -#line 9074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 440: -#line 3245 "mrbgems/mruby-compiler/core/parse.y" +#line 3246 "mrbgems/mruby-compiler/core/parse.y" { p->lex_strterm = (yyvsp[-2].nd); (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: -#line 3250 "mrbgems/mruby-compiler/core/parse.y" +#line 3251 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9092 "mrbgems/mruby-compiler/core/y.tab.c" break; case 442: -#line 3254 "mrbgems/mruby-compiler/core/parse.y" +#line 3255 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9100 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: -#line 3260 "mrbgems/mruby-compiler/core/parse.y" +#line 3261 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: -#line 3264 "mrbgems/mruby-compiler/core/parse.y" +#line 3265 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dxstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9116 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: -#line 3270 "mrbgems/mruby-compiler/core/parse.y" +#line 3271 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9124 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: -#line 3274 "mrbgems/mruby-compiler/core/parse.y" +#line 3275 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9132 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: -#line 3287 "mrbgems/mruby-compiler/core/parse.y" +#line 3288 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, new_str(p, "", 0)); heredoc_end(p); } -#line 9141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 451: -#line 3293 "mrbgems/mruby-compiler/core/parse.y" +#line 3294 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 9149 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9150 "mrbgems/mruby-compiler/core/y.tab.c" break; case 454: -#line 3303 "mrbgems/mruby-compiler/core/parse.y" +#line 3304 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 9159 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 455: -#line 3309 "mrbgems/mruby-compiler/core/parse.y" +#line 3310 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = p->lex_strterm; p->lex_strterm = NULL; } -#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" break; case 456: -#line 3315 "mrbgems/mruby-compiler/core/parse.y" +#line 3316 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); p->lex_strterm = (yyvsp[-2].nd); inf->doc = push(push(inf->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); } -#line 9178 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9179 "mrbgems/mruby-compiler/core/y.tab.c" break; case 457: -#line 3323 "mrbgems/mruby-compiler/core/parse.y" +#line 3324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 9186 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9187 "mrbgems/mruby-compiler/core/y.tab.c" break; case 458: -#line 3327 "mrbgems/mruby-compiler/core/parse.y" +#line 3328 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9194 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9195 "mrbgems/mruby-compiler/core/y.tab.c" break; case 459: -#line 3334 "mrbgems/mruby-compiler/core/parse.y" +#line 3335 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9203 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9204 "mrbgems/mruby-compiler/core/y.tab.c" break; case 460: -#line 3339 "mrbgems/mruby-compiler/core/parse.y" +#line 3340 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_dsym(p, new_dstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd)))); } -#line 9212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9213 "mrbgems/mruby-compiler/core/y.tab.c" break; case 461: -#line 3346 "mrbgems/mruby-compiler/core/parse.y" +#line 3347 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9220 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9221 "mrbgems/mruby-compiler/core/y.tab.c" break; case 466: -#line 3356 "mrbgems/mruby-compiler/core/parse.y" +#line 3357 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9229 "mrbgems/mruby-compiler/core/y.tab.c" break; case 467: -#line 3360 "mrbgems/mruby-compiler/core/parse.y" +#line 3361 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9236 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9237 "mrbgems/mruby-compiler/core/y.tab.c" break; case 468: -#line 3366 "mrbgems/mruby-compiler/core/parse.y" +#line 3367 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 9244 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9245 "mrbgems/mruby-compiler/core/y.tab.c" break; case 469: -#line 3370 "mrbgems/mruby-compiler/core/parse.y" +#line 3371 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9252 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9253 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: -#line 3378 "mrbgems/mruby-compiler/core/parse.y" +#line 3379 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = negate_lit(p, (yyvsp[0].nd)); } -#line 9260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9261 "mrbgems/mruby-compiler/core/y.tab.c" break; case 473: -#line 3382 "mrbgems/mruby-compiler/core/parse.y" +#line 3383 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = negate_lit(p, (yyvsp[0].nd)); } -#line 9268 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9269 "mrbgems/mruby-compiler/core/y.tab.c" break; case 474: -#line 3388 "mrbgems/mruby-compiler/core/parse.y" +#line 3389 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9277 "mrbgems/mruby-compiler/core/y.tab.c" break; case 475: -#line 3392 "mrbgems/mruby-compiler/core/parse.y" +#line 3393 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 476: -#line 3396 "mrbgems/mruby-compiler/core/parse.y" +#line 3397 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 477: -#line 3400 "mrbgems/mruby-compiler/core/parse.y" +#line 3401 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 9300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 478: -#line 3404 "mrbgems/mruby-compiler/core/parse.y" +#line 3405 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 9308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; case 479: -#line 3410 "mrbgems/mruby-compiler/core/parse.y" +#line 3411 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 9316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 480: -#line 3414 "mrbgems/mruby-compiler/core/parse.y" +#line 3415 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 9324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 481: -#line 3420 "mrbgems/mruby-compiler/core/parse.y" +#line 3421 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 9332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: -#line 3424 "mrbgems/mruby-compiler/core/parse.y" +#line 3425 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9341 "mrbgems/mruby-compiler/core/y.tab.c" break; case 483: -#line 3428 "mrbgems/mruby-compiler/core/parse.y" +#line 3429 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 9348 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9349 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: -#line 3432 "mrbgems/mruby-compiler/core/parse.y" +#line 3433 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 9356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: -#line 3436 "mrbgems/mruby-compiler/core/parse.y" +#line 3437 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 9364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 486: -#line 3440 "mrbgems/mruby-compiler/core/parse.y" +#line 3441 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9372,22 +9373,22 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9377 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: -#line 3448 "mrbgems/mruby-compiler/core/parse.y" +#line 3449 "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 9388 "mrbgems/mruby-compiler/core/y.tab.c" break; case 488: -#line 3455 "mrbgems/mruby-compiler/core/parse.y" +#line 3456 "mrbgems/mruby-compiler/core/parse.y" { #ifdef MRB_UTF8_STRING const char *enc = "UTF-8"; @@ -9396,46 +9397,46 @@ yyreduce: #endif (yyval.nd) = new_str(p, enc, strlen(enc)); } -#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9401 "mrbgems/mruby-compiler/core/y.tab.c" break; case 491: -#line 3470 "mrbgems/mruby-compiler/core/parse.y" +#line 3471 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 9408 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9409 "mrbgems/mruby-compiler/core/y.tab.c" break; case 492: -#line 3474 "mrbgems/mruby-compiler/core/parse.y" +#line 3475 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9417 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9418 "mrbgems/mruby-compiler/core/y.tab.c" break; case 493: -#line 3479 "mrbgems/mruby-compiler/core/parse.y" +#line 3480 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9425 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9426 "mrbgems/mruby-compiler/core/y.tab.c" break; case 494: -#line 3490 "mrbgems/mruby-compiler/core/parse.y" +#line 3491 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9436 "mrbgems/mruby-compiler/core/y.tab.c" break; case 495: -#line 3496 "mrbgems/mruby-compiler/core/parse.y" +#line 3497 "mrbgems/mruby-compiler/core/parse.y" { #if 1 /* til real keyword args implemented */ @@ -9453,504 +9454,504 @@ yyreduce: new_args_tail(p, 0, new_kw_rest_args(p, nsym(k)), b)); #endif } -#line 9457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9458 "mrbgems/mruby-compiler/core/y.tab.c" break; case 497: -#line 3517 "mrbgems/mruby-compiler/core/parse.y" +#line 3518 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9466 "mrbgems/mruby-compiler/core/y.tab.c" break; case 498: -#line 3523 "mrbgems/mruby-compiler/core/parse.y" +#line 3524 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); } -#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9474 "mrbgems/mruby-compiler/core/y.tab.c" break; case 499: -#line 3529 "mrbgems/mruby-compiler/core/parse.y" +#line 3530 "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 9483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9484 "mrbgems/mruby-compiler/core/y.tab.c" break; case 500: -#line 3535 "mrbgems/mruby-compiler/core/parse.y" +#line 3536 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9492 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9493 "mrbgems/mruby-compiler/core/y.tab.c" break; case 501: -#line 3542 "mrbgems/mruby-compiler/core/parse.y" +#line 3543 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 502: -#line 3547 "mrbgems/mruby-compiler/core/parse.y" +#line 3548 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9510 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" break; case 503: -#line 3554 "mrbgems/mruby-compiler/core/parse.y" +#line 3555 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9518 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9519 "mrbgems/mruby-compiler/core/y.tab.c" break; case 504: -#line 3558 "mrbgems/mruby-compiler/core/parse.y" +#line 3559 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9527 "mrbgems/mruby-compiler/core/y.tab.c" break; case 505: -#line 3564 "mrbgems/mruby-compiler/core/parse.y" +#line 3565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9534 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9535 "mrbgems/mruby-compiler/core/y.tab.c" break; case 506: -#line 3568 "mrbgems/mruby-compiler/core/parse.y" +#line 3569 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: -#line 3578 "mrbgems/mruby-compiler/core/parse.y" +#line 3579 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id))); } -#line 9550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9551 "mrbgems/mruby-compiler/core/y.tab.c" break; case 510: -#line 3582 "mrbgems/mruby-compiler/core/parse.y" +#line 3583 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, 0); } -#line 9558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9559 "mrbgems/mruby-compiler/core/y.tab.c" break; case 511: -#line 3588 "mrbgems/mruby-compiler/core/parse.y" +#line 3589 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9567 "mrbgems/mruby-compiler/core/y.tab.c" break; case 512: -#line 3592 "mrbgems/mruby-compiler/core/parse.y" +#line 3593 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9574 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9575 "mrbgems/mruby-compiler/core/y.tab.c" break; case 513: -#line 3596 "mrbgems/mruby-compiler/core/parse.y" +#line 3597 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9582 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9583 "mrbgems/mruby-compiler/core/y.tab.c" break; case 514: -#line 3600 "mrbgems/mruby-compiler/core/parse.y" +#line 3601 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9590 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9591 "mrbgems/mruby-compiler/core/y.tab.c" break; case 515: -#line 3606 "mrbgems/mruby-compiler/core/parse.y" +#line 3607 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9599 "mrbgems/mruby-compiler/core/y.tab.c" break; case 516: -#line 3610 "mrbgems/mruby-compiler/core/parse.y" +#line 3611 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9607 "mrbgems/mruby-compiler/core/y.tab.c" break; case 517: -#line 3616 "mrbgems/mruby-compiler/core/parse.y" +#line 3617 "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 9614 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9615 "mrbgems/mruby-compiler/core/y.tab.c" break; case 518: -#line 3620 "mrbgems/mruby-compiler/core/parse.y" +#line 3621 "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 9622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9623 "mrbgems/mruby-compiler/core/y.tab.c" break; case 519: -#line 3624 "mrbgems/mruby-compiler/core/parse.y" +#line 3625 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 520: -#line 3628 "mrbgems/mruby-compiler/core/parse.y" +#line 3629 "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 9638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9639 "mrbgems/mruby-compiler/core/y.tab.c" break; case 521: -#line 3632 "mrbgems/mruby-compiler/core/parse.y" +#line 3633 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9646 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9647 "mrbgems/mruby-compiler/core/y.tab.c" break; case 522: -#line 3636 "mrbgems/mruby-compiler/core/parse.y" +#line 3637 "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 9654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9655 "mrbgems/mruby-compiler/core/y.tab.c" break; case 523: -#line 3640 "mrbgems/mruby-compiler/core/parse.y" +#line 3641 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 524: -#line 3644 "mrbgems/mruby-compiler/core/parse.y" +#line 3645 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: -#line 3648 "mrbgems/mruby-compiler/core/parse.y" +#line 3649 "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 9678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9679 "mrbgems/mruby-compiler/core/y.tab.c" break; case 526: -#line 3652 "mrbgems/mruby-compiler/core/parse.y" +#line 3653 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9686 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9687 "mrbgems/mruby-compiler/core/y.tab.c" break; case 527: -#line 3656 "mrbgems/mruby-compiler/core/parse.y" +#line 3657 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9694 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9695 "mrbgems/mruby-compiler/core/y.tab.c" break; case 528: -#line 3660 "mrbgems/mruby-compiler/core/parse.y" +#line 3661 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9702 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9703 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: -#line 3664 "mrbgems/mruby-compiler/core/parse.y" +#line 3665 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9711 "mrbgems/mruby-compiler/core/y.tab.c" break; case 530: -#line 3668 "mrbgems/mruby-compiler/core/parse.y" +#line 3669 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9719 "mrbgems/mruby-compiler/core/y.tab.c" break; case 531: -#line 3672 "mrbgems/mruby-compiler/core/parse.y" +#line 3673 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, MRB_OPSYM(and)); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 9727 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9728 "mrbgems/mruby-compiler/core/y.tab.c" break; case 532: -#line 3679 "mrbgems/mruby-compiler/core/parse.y" +#line 3680 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9736 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 533: -#line 3684 "mrbgems/mruby-compiler/core/parse.y" +#line 3685 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9745 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 534: -#line 3689 "mrbgems/mruby-compiler/core/parse.y" +#line 3690 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9755 "mrbgems/mruby-compiler/core/y.tab.c" break; case 535: -#line 3694 "mrbgems/mruby-compiler/core/parse.y" +#line 3695 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9764 "mrbgems/mruby-compiler/core/y.tab.c" break; case 536: -#line 3699 "mrbgems/mruby-compiler/core/parse.y" +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 9772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9773 "mrbgems/mruby-compiler/core/y.tab.c" break; case 537: -#line 3706 "mrbgems/mruby-compiler/core/parse.y" +#line 3707 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 9780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9781 "mrbgems/mruby-compiler/core/y.tab.c" break; case 538: -#line 3710 "mrbgems/mruby-compiler/core/parse.y" +#line 3711 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9790 "mrbgems/mruby-compiler/core/y.tab.c" break; case 539: -#line 3717 "mrbgems/mruby-compiler/core/parse.y" +#line 3718 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_arg(p, (yyvsp[0].id)); } -#line 9797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9798 "mrbgems/mruby-compiler/core/y.tab.c" break; case 540: -#line 3721 "mrbgems/mruby-compiler/core/parse.y" +#line 3722 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 9805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9806 "mrbgems/mruby-compiler/core/y.tab.c" break; case 541: -#line 3725 "mrbgems/mruby-compiler/core/parse.y" +#line 3726 "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 9815 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 542: -#line 3733 "mrbgems/mruby-compiler/core/parse.y" +#line 3734 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 543: -#line 3737 "mrbgems/mruby-compiler/core/parse.y" +#line 3738 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: -#line 3743 "mrbgems/mruby-compiler/core/parse.y" +#line 3744 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 9841 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9842 "mrbgems/mruby-compiler/core/y.tab.c" break; case 545: -#line 3751 "mrbgems/mruby-compiler/core/parse.y" +#line 3752 "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 9851 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9852 "mrbgems/mruby-compiler/core/y.tab.c" break; case 546: -#line 3759 "mrbgems/mruby-compiler/core/parse.y" +#line 3760 "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 9861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9862 "mrbgems/mruby-compiler/core/y.tab.c" break; case 547: -#line 3767 "mrbgems/mruby-compiler/core/parse.y" +#line 3768 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9870 "mrbgems/mruby-compiler/core/y.tab.c" break; case 548: -#line 3771 "mrbgems/mruby-compiler/core/parse.y" +#line 3772 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9878 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: -#line 3777 "mrbgems/mruby-compiler/core/parse.y" +#line 3778 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9886 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: -#line 3781 "mrbgems/mruby-compiler/core/parse.y" +#line 3782 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9894 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: -#line 3791 "mrbgems/mruby-compiler/core/parse.y" +#line 3792 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9902 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9903 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: -#line 3796 "mrbgems/mruby-compiler/core/parse.y" +#line 3797 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, MRB_OPSYM(mul)); (yyval.id) = -1; } -#line 9911 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9912 "mrbgems/mruby-compiler/core/y.tab.c" break; case 557: -#line 3807 "mrbgems/mruby-compiler/core/parse.y" +#line 3808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9919 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9920 "mrbgems/mruby-compiler/core/y.tab.c" break; case 558: -#line 3813 "mrbgems/mruby-compiler/core/parse.y" +#line 3814 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9927 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9928 "mrbgems/mruby-compiler/core/y.tab.c" break; case 559: -#line 3817 "mrbgems/mruby-compiler/core/parse.y" +#line 3818 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 9935 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9936 "mrbgems/mruby-compiler/core/y.tab.c" break; case 560: -#line 3823 "mrbgems/mruby-compiler/core/parse.y" +#line 3824 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9945 "mrbgems/mruby-compiler/core/y.tab.c" break; case 561: -#line 3827 "mrbgems/mruby-compiler/core/parse.y" +#line 3828 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 9950 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 562: -#line 3828 "mrbgems/mruby-compiler/core/parse.y" +#line 3829 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -9973,55 +9974,55 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 9977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9978 "mrbgems/mruby-compiler/core/y.tab.c" break; case 564: -#line 3854 "mrbgems/mruby-compiler/core/parse.y" +#line 3855 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9986 "mrbgems/mruby-compiler/core/y.tab.c" break; case 565: -#line 3860 "mrbgems/mruby-compiler/core/parse.y" +#line 3861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 9994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9995 "mrbgems/mruby-compiler/core/y.tab.c" break; case 566: -#line 3865 "mrbgems/mruby-compiler/core/parse.y" +#line 3866 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10003 "mrbgems/mruby-compiler/core/y.tab.c" break; case 569: -#line 3875 "mrbgems/mruby-compiler/core/parse.y" +#line 3876 "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 10012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 570: -#line 3881 "mrbgems/mruby-compiler/core/parse.y" +#line 3882 "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 10021 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10022 "mrbgems/mruby-compiler/core/y.tab.c" break; case 571: -#line 3886 "mrbgems/mruby-compiler/core/parse.y" +#line 3887 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->car == (node*)NODE_DSTR) { @@ -10031,67 +10032,67 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10036 "mrbgems/mruby-compiler/core/y.tab.c" break; case 572: -#line 3896 "mrbgems/mruby-compiler/core/parse.y" +#line 3897 "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 10044 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10045 "mrbgems/mruby-compiler/core/y.tab.c" break; case 585: -#line 3923 "mrbgems/mruby-compiler/core/parse.y" +#line 3924 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 10052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10053 "mrbgems/mruby-compiler/core/y.tab.c" break; case 586: -#line 3927 "mrbgems/mruby-compiler/core/parse.y" +#line 3928 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 10060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" break; case 588: -#line 3934 "mrbgems/mruby-compiler/core/parse.y" +#line 3935 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 10068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" break; case 597: -#line 3955 "mrbgems/mruby-compiler/core/parse.y" +#line 3956 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 10074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 600: -#line 3961 "mrbgems/mruby-compiler/core/parse.y" +#line 3962 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 603: -#line 3972 "mrbgems/mruby-compiler/core/parse.y" +#line 3973 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10092 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 10095 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10096 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10316,7 +10317,7 @@ yyreturn: return yyresult; } -#line 3976 "mrbgems/mruby-compiler/core/parse.y" +#line 3977 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -10466,20 +10467,20 @@ static inline int nextc0(parser_state *p) { int c; -#ifndef MRB_DISABLE_STDIO - if (p->f) { - if (feof(p->f)) return -1; - c = fgetc(p->f); - if (c == EOF) return -1; + + if (p->s && p->s < p->send) { + c = (unsigned char)*p->s++; } - else + else { +#ifndef MRB_DISABLE_STDIO + if (p->f) { + c = fgetc(p->f); + if (feof(p->f)) return -1; + } + else #endif - if (!p->s || p->s >= p->send) { return -1; - } - else { - c = (unsigned char)*p->s++; - } + } return c; } @@ -12864,19 +12865,26 @@ mrb_parser_get_filename(struct mrb_parser_state* p, uint16_t idx) { } #ifndef MRB_DISABLE_STDIO -MRB_API parser_state* -mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c) +static struct mrb_parser_state * +mrb_parse_file_continue(mrb_state *mrb, FILE *f, const void *prebuf, size_t prebufsize, mrbc_context *c) { parser_state *p; p = mrb_parser_new(mrb); if (!p) return NULL; - p->s = p->send = NULL; + p->s = (const char *)prebuf; + p->send = (const char *)prebuf + prebufsize; p->f = f; mrb_parser_parse(p, c); return p; } + +MRB_API parser_state* +mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c) +{ + return mrb_parse_file_continue(mrb, f, NULL, 0, c); +} #endif MRB_API parser_state* @@ -12973,6 +12981,55 @@ mrb_load_file(mrb_state *mrb, FILE *f) { return mrb_load_file_cxt(mrb, f, NULL); } + +#define DETECT_SIZE 64 + +/* + * In order to be recognized as a `.mrb` file, the following three points must be satisfied: + * - File starts with "RITE" + * - At least `sizeof(struct rite_binary_header)` bytes can be read + * - `NUL` is included in the first 64 bytes of the file + */ +MRB_API mrb_value +mrb_load_detect_file_cxt(mrb_state *mrb, FILE *fp, mrbc_context *c) +{ + union { + char b[DETECT_SIZE]; + struct rite_binary_header h; + } leading; + size_t bufsize; + + if (mrb == NULL || fp == NULL) { + return mrb_nil_value(); + } + + bufsize = fread(leading.b, sizeof(char), sizeof(leading), fp); + if (bufsize < sizeof(leading.h) || + memcmp(leading.h.binary_ident, RITE_BINARY_IDENT, sizeof(leading.h.binary_ident)) != 0 || + memchr(leading.b, '\0', bufsize) == NULL) { + return mrb_load_exec(mrb, mrb_parse_file_continue(mrb, fp, leading.b, bufsize, c), c); + } + else { + size_t binsize; + uint8_t *bin; + mrb_value bin_obj = mrb_nil_value(); /* temporary string object */ + mrb_value result; + + binsize = bin_to_uint32(leading.h.binary_size); + bin_obj = mrb_str_new(mrb, NULL, binsize); + bin = (uint8_t *)RSTRING_PTR(bin_obj); + memcpy(bin, leading.b, bufsize); + if (binsize > bufsize && + fread(bin + bufsize, binsize - bufsize, 1, fp) == 0) { + binsize = bufsize; + /* The error is reported by mrb_load_irep_buf_cxt() */ + } + + result = mrb_load_irep_buf_cxt(mrb, bin, binsize, c); + if (mrb_string_p(bin_obj)) mrb_str_resize(mrb, bin_obj, 0); + return result; + } +} #endif MRB_API mrb_value |
