From 40264c9aade6aa4f0cf3ed431850916fe4cb9b19 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 16 May 2026 22:01:52 +0900 Subject: [PATCH] mruby-compiler: accept double-quoted strings in case/in patterns The p_value rule only accepted bare tSTRING tokens, which the lexer emits for single-quoted strings. Double-quoted strings emit tSTRING_BEG ... tSTRING (or with interpolation, tSTRING_BEG string_rep tSTRING), so case "hello" in "hello" :match end raised "syntax error, unexpected string literal" at the `"` after `in`. Use the existing `string` non-terminal instead of bare tSTRING, which also enables alternation (`"a" | "b"`), interpolation (`"hel#{x}"`), and concatenation by juxtaposition in patterns. close #6830 Co-authored-by: Claude --- mrbgems/mruby-compiler/core/parse.y | 4 +- mrbgems/mruby-compiler/core/y.tab.c | 2508 ++++++++++++++------------- test/t/syntax.rb | 26 + 3 files changed, 1288 insertions(+), 1250 deletions(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 10c67f028..a10a6df9c 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -3987,9 +3987,9 @@ p_value : p_var { $$ = new_pat_value(p, $1); } - | tSTRING + | string { - $$ = new_pat_value(p, new_str(p, list1($1))); + $$ = new_pat_value(p, new_str(p, $1)); } | keyword_nil { diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 697e27fd1..e847aff08 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -2952,7 +2952,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 13757 +#define YYLAST 13819 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 @@ -3181,7 +3181,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-975) +#define YYPACT_NINF (-981) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -3195,127 +3195,127 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -975, 3710, 183, 8854, 10978, 11320, 7162, -975, 10624, 10624, - -975, -975, 11092, 8344, 6778, 9090, 9090, -975, -975, 9090, - 4231, 3370, -975, -975, -975, -975, 54, 8344, -975, 66, - -975, -975, -975, 7304, 3823, -975, -975, 7446, -975, -975, - -975, -975, -975, -975, -975, 210, 10742, 10742, 10742, 10742, - 109, 5891, 6010, 9562, 9916, 8626, -975, 8062, 1236, 893, - 314, 1249, 1252, -975, 447, 10860, 10742, -975, 857, -975, - 745, -975, 569, 2754, 2754, -975, -975, 173, 89, -975, - 106, 11206, -975, 136, 1909, 631, 667, 130, 41, -975, - 341, -975, -975, -975, -975, -975, -975, -975, -975, -975, - 211, 195, -975, 214, 87, -975, -975, -975, -975, -975, - -975, 180, 180, 54, 125, 498, -975, 10624, 187, 6129, - 556, 2225, 2225, -975, 215, -975, 691, -975, -975, 87, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, 77, 143, - 149, 153, -975, -975, -975, -975, -975, -975, 164, 181, - 233, 247, -975, 248, -975, -975, -975, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, 264, - 4923, 351, 569, 2754, 2754, 179, 261, 701, 220, 310, - 221, 179, 10624, 10624, 759, 365, -975, -975, 823, 404, - 21, 58, -975, -975, -975, -975, -975, -975, -975, -975, - -975, 8203, -975, -975, 298, -975, -975, -975, -975, -975, - -975, 857, -975, 951, -975, 439, -975, -975, 857, 3959, - 129, 10742, 10742, 10742, 10742, -975, 3465, -975, -975, 322, - 409, 322, -975, -975, -975, 9208, -975, -975, 9090, -975, - -975, -975, -975, 6778, 7016, -975, 334, 6248, -975, 891, - 379, 13606, 13606, 279, 8972, 5891, 355, 1572, 745, 857, - 402, -975, 6129, 857, 345, 1350, 1350, -975, 3465, 405, - 1350, -975, 491, 11434, 408, 950, 952, 981, 1713, -975, - -975, -975, -975, -975, 1327, -975, -975, -975, -975, -975, - -975, 966, 1331, -975, -975, 1244, -975, 872, -975, 1338, - -975, 1341, 452, 458, -975, -975, -975, -975, 6659, 10624, - 10624, 10624, 10624, 8972, 10624, 10624, 124, -975, -975, -975, - -975, 509, 857, -975, -975, -975, -975, -975, -975, -975, - 2841, 451, 459, 4923, 10742, -975, 441, 540, 453, -975, - 857, -975, -975, -975, 455, 10742, -975, 462, 549, 467, - 283, -975, -975, 516, 4923, -975, -975, 10034, -975, 5891, - 8740, 504, 10034, -975, 10742, 10742, 10742, 10742, 10742, 10742, - 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, -975, 10742, + -981, 3710, 87, 8854, 10978, 11320, 7162, -981, 10624, 10624, + -981, -981, 11092, 8344, 6778, 9090, 9090, -981, -981, 9090, + 4231, 3370, -981, -981, -981, -981, -46, 8344, -981, 23, + -981, -981, -981, 7304, 3823, -981, -981, 7446, -981, -981, + -981, -981, -981, -981, -981, 232, 10742, 10742, 10742, 10742, + 111, 5891, 6010, 9562, 9916, 8626, -981, 8062, 1248, 1022, + 365, 1325, 1340, -981, 259, 10860, 10742, -981, 985, -981, + 834, -981, 507, 2969, 2969, -981, -981, 85, 76, -981, + -3, 11206, -981, 78, 3465, 631, 667, 143, 45, -981, + 209, -981, -981, -981, -981, -981, -981, -981, -981, -981, + 214, 109, -981, 279, 66, -981, -981, -981, -981, -981, + -981, 88, 88, -46, 498, 748, -981, 10624, 389, 6129, + 447, 2225, 2225, -981, 114, -981, 701, -981, -981, 66, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, 77, 82, + 91, 130, -981, -981, -981, -981, -981, -981, 155, 156, + 165, 229, -981, 233, -981, -981, -981, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, 248, + 4923, 202, 507, 2969, 2969, 179, 210, 823, 244, 158, + 263, 179, 10624, 10624, 855, 287, -981, -981, 898, 309, + 58, 89, -981, -981, -981, -981, -981, -981, -981, -981, + -981, 8203, -981, -981, 237, -981, -981, -981, -981, -981, + -981, 985, -981, 549, -981, 384, -981, -981, 985, 3959, + 106, 10742, 10742, 10742, 10742, -981, 13544, -981, -981, 318, + 407, 318, -981, -981, -981, 9208, -981, -981, 9090, -981, + -981, -981, -981, 6778, 7016, -981, 334, 6248, -981, 929, + 379, 13668, 13668, 291, 8972, 5891, 341, 1458, 834, 985, + 402, -981, 6129, 985, 359, 1229, 1229, -981, 13544, 400, + 1229, -981, 491, 11434, 408, 934, 950, 952, 2307, -981, + -981, -981, -981, -981, 1353, -981, -981, -981, -981, -981, + -981, 576, 1398, -981, -981, 1181, -981, 892, -981, 1401, + -981, 1416, 452, 458, -981, -981, -981, -981, 6659, 10624, + 10624, 10624, 10624, 8972, 10624, 10624, 54, -981, -981, -981, + -981, 515, 985, -981, -981, -981, -981, -981, -981, -981, + 2406, 462, 470, 4923, 10742, -981, 455, 553, 465, -981, + 985, -981, -981, -981, 480, 10742, -981, 492, 586, 504, + 51, -981, -981, 479, 4923, -981, -981, 10034, -981, 5891, + 8740, 511, 10034, -981, 10742, 10742, 10742, 10742, 10742, 10742, + 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, -981, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, - 10742, 11712, -975, 9090, -975, 11798, -975, -975, 13002, -975, - -975, -975, -975, 10860, 10860, -975, 541, -975, 569, -975, - 1001, -975, -975, -975, -975, -975, -975, 11884, 9090, 11970, - 4923, 10624, -975, -975, -975, 635, 640, 244, 535, 547, - -975, 5069, 646, 10742, 12056, 9090, 12142, 10742, 10742, 5507, - 750, 750, 84, 12228, 9090, 12314, -975, 614, -975, 6248, - 435, -975, -975, 10152, 668, -975, 10742, 10742, 13544, 13544, - 13544, 10742, -975, -975, 9326, -975, 10742, -975, 9680, 6897, - 550, 857, 322, 322, -975, -975, 914, 571, -975, -975, - -975, 8344, 5626, 546, 12056, 12142, 10742, 745, 857, -975, - -975, 6540, 559, -975, -975, -975, 9798, -975, 857, 9916, - -975, -975, -975, 1001, 106, 11434, -975, 11434, 12400, 9090, - 12486, 2165, -975, -975, 590, -975, 1398, 6248, 966, -975, - -975, -975, -975, -975, -975, -975, 10742, 10742, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - 1453, 857, 857, 595, 10860, 727, 13544, 578, -975, -975, - -975, 59, -975, -975, 2966, -975, 13544, 2165, -975, -975, - 1242, -975, -975, -975, 10860, 729, 35, 10742, -975, 13260, - 322, -975, 857, 11434, 606, -975, -975, -975, 702, 628, - 2901, -975, -975, 1024, 263, 2044, 3556, 3556, 3556, 3556, - 1659, 1659, 13624, 3121, 3556, 3556, 13606, 13606, 1564, 1564, - 2044, 379, 13544, 1659, 1659, 1814, 1814, 1470, 542, 542, - 379, 379, 379, 4367, 7802, 4639, 7920, -975, 180, -975, - 611, 322, 291, -975, 342, -975, -975, 4095, -975, -975, - 2566, 35, 35, -975, 13074, -975, -975, -975, -975, -975, - 857, 10624, 4923, 757, 161, -975, 180, 624, 180, 751, - 914, 8485, -975, 10270, 755, -975, 10742, 10742, 604, -975, - 7564, 7683, 634, 346, 347, 755, -975, -975, -975, -975, - 55, 63, 641, 86, 105, 10624, 8344, 651, 2044, 779, - 13544, 327, -975, 13544, 13544, 13544, 1208, 10742, 3465, -975, - 322, 13544, -975, -975, -975, -975, 9444, 9680, -975, -975, - -975, 656, -975, -975, 131, 745, 857, 1350, 504, -975, - 757, 161, 659, 936, 1105, -975, 61, 2165, -975, 658, - -975, 379, 379, -975, -975, 336, 857, 666, -975, -975, - 2986, 765, 13136, -975, 753, 509, -975, 453, -975, 857, - -975, -975, 671, 678, 682, -975, 690, 753, 682, 789, - 13198, -975, -975, 2165, 4923, -975, -975, 13331, 10388, -975, - -975, 11434, 8972, 10860, 10742, 12572, 9090, 12658, -975, -975, - -975, 777, -975, -975, 782, 1383, 107, 800, 393, 801, - -975, 2304, 713, 46, -975, -975, 716, 763, -975, 728, - -975, -975, -975, -975, -975, -975, 797, 10860, 10860, -975, - 541, 468, 9326, 10860, 10860, -975, 541, 41, 173, 4923, - 6248, 35, -975, 857, 859, -975, -975, -975, -975, 13260, - -975, 784, -975, 5772, 858, -975, 10624, 863, -975, 10742, - 10742, 349, 10742, 10742, 871, 6394, 6394, 113, 750, -975, - -975, 536, -975, 10506, 5215, 13544, -975, 6897, 322, -975, - -975, -975, 615, 743, 989, 4923, 6248, -975, -975, -975, - 758, -975, 1560, 857, 10742, 10742, -975, -975, 2165, -975, - 1242, -975, 1242, -975, 1242, -975, -975, 10742, 10742, -975, - -975, -975, 11548, -975, 760, 453, 761, 11548, -975, 766, - 769, -975, 902, 10742, 13402, -975, -975, 13544, 4503, 4775, - 790, 360, 361, 2410, -975, -975, -975, -975, 791, 776, - 783, 777, -975, 799, 798, -975, -975, -975, -975, -975, - 807, 813, -975, 890, 2410, 2410, 901, 50, 10742, 10742, - -975, -975, -975, -975, -975, 10860, -975, -975, -975, -975, - -975, -975, -975, 945, 826, 6248, 4923, -975, -975, 11662, - 179, -975, -975, 6394, -975, -975, 179, -975, 10742, -975, - 953, 956, -975, 10624, 10624, 5361, 13544, 300, -975, 9680, - -975, 1608, 958, 827, 1582, 1582, 838, -975, 13544, 13544, - 682, 850, 682, 682, 13544, 13544, 869, 874, 947, 1064, - 578, -975, -975, 1963, -975, 1064, 2165, -975, 1242, -975, - -975, 13473, 469, -975, -975, 2304, 2410, -975, 50, -975, - 2410, -975, -975, 866, -975, -975, -975, -975, 13544, 13544, - -975, -975, -975, -975, 875, 996, 963, -975, 1097, 952, - 981, 4923, -975, 5069, -975, -975, 6394, 179, 179, 389, - -975, -975, -975, -975, 877, -975, -975, -975, -975, 882, - 882, 1582, 886, -975, 1242, -975, -975, -975, -975, -975, - -975, 12744, -975, 453, 578, -975, -975, 888, 892, 897, - -975, 903, 897, -975, 916, 922, -975, 866, 2410, -975, - -975, 1001, 12830, 9090, 12916, 640, 604, 1005, 5361, 5361, - 2044, -975, 1041, 1608, 1208, 1582, 882, 1582, 682, 921, - 923, -975, 2165, -975, 1242, -975, 1242, -975, 1242, -975, - -975, 2410, 2304, -975, 757, 161, 946, 711, 725, -975, - -975, -975, 389, 389, 594, -975, -975, 882, -975, 897, - 961, 897, 897, 967, -975, 615, 1074, 1079, 179, 1055, - 1059, -975, 1242, -975, -975, -975, 2410, -975, -975, 5361, - 10624, 10624, 897, 389, 179, 179, -975, -975, 5361, 5361, - 389, 389, -975, -975 + 10742, 11712, -981, 9090, -981, 11798, -981, -981, 13002, -981, + -981, -981, -981, 10860, 10860, -981, 541, -981, 507, -981, + 1063, -981, -981, -981, -981, -981, -981, 11884, 9090, 11970, + 4923, 10624, -981, -981, -981, 650, 649, 286, 556, 562, + -981, 5069, 673, 10742, 12056, 9090, 12142, 10742, 10742, 5507, + 327, 327, 105, 12228, 9090, 12314, -981, 638, -981, 6248, + 381, -981, -981, 10152, 697, -981, 10742, 10742, 13606, 13606, + 13606, 10742, -981, -981, 9326, -981, 10742, -981, 9680, 6897, + 571, 985, 318, 318, -981, -981, 943, 587, -981, -981, + -981, 8344, 5626, 598, 12056, 12142, 10742, 834, 985, -981, + -981, 6540, 600, -981, -981, -981, 9798, -981, 985, 9916, + -981, -981, -981, 1063, -3, 11434, -981, 11434, 12400, 9090, + 12486, 2459, -981, -981, 602, -981, 1447, 6248, 576, -981, + -981, -981, -981, -981, -981, -981, 10742, 10742, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + 1453, 985, 985, 604, 10860, 737, 13606, 578, -981, -981, + -981, 311, -981, -981, 2734, -981, 13606, 2459, -981, -981, + 1251, -981, -981, -981, 10860, 754, 95, 10742, -981, 13260, + 318, -981, 985, 11434, 628, -981, -981, -981, 729, 654, + 1535, -981, -981, 1076, 290, 2835, 3556, 3556, 3556, 3556, + 1656, 1656, 13686, 3121, 3556, 3556, 13668, 13668, 337, 337, + 2835, 379, 13606, 1656, 1656, 1702, 1702, 1587, 542, 542, + 379, 379, 379, 4367, 7802, 4639, 7920, -981, 88, -981, + 636, 318, 310, -981, 342, -981, -981, 4095, -981, -981, + 2566, 95, 95, -981, 13074, -981, -981, -981, -981, -981, + 985, 10624, 4923, 759, 161, -981, 88, 640, 88, 767, + 943, 8485, -981, 10270, 765, -981, 10742, 10742, 597, -981, + 7564, 7683, 645, 469, 474, 765, -981, -981, -981, -981, + 63, 84, 646, 123, 129, 10624, 8344, 655, 2835, 773, + 13606, 195, -981, 13606, 13606, 13606, 857, 10742, 13544, -981, + 318, 13606, -981, -981, -981, -981, 9444, 9680, -981, -981, + -981, 656, -981, -981, 190, 834, 985, 1229, 511, -981, + 759, 161, 648, 764, 811, -981, 122, 2459, -981, 657, + -981, 379, 379, -981, -981, 336, 985, 658, -981, -981, + 2754, 753, 13136, -981, 751, 515, -981, 465, -981, 985, + -981, -981, 668, 671, 678, -981, 689, 751, 678, 780, + 13198, -981, -981, 2459, 4923, -981, -981, 13331, 10388, -981, + -981, 11434, 8972, 10860, 10742, 12572, 9090, 12658, -981, -981, + -981, 752, -981, 777, 2044, 113, 782, 191, 783, -981, + 2438, 700, 194, -981, -981, 705, 761, -981, 710, -981, + -981, -981, 209, -981, -981, -981, 1139, 10860, 10860, -981, + 541, 468, 9326, 10860, 10860, -981, 541, 45, 85, 4923, + 6248, 95, -981, 985, 840, -981, -981, -981, -981, 13260, + -981, 769, -981, 5772, 844, -981, 10624, 850, -981, 10742, + 10742, 488, 10742, 10742, 853, 6394, 6394, 154, 327, -981, + -981, 536, -981, 10506, 5215, 13606, -981, 6897, 318, -981, + -981, -981, 615, 727, 1002, 4923, 6248, -981, -981, -981, + 728, -981, 1600, 985, 10742, 10742, -981, -981, 2459, -981, + 1251, -981, 1251, -981, 1251, -981, -981, 10742, 10742, -981, + -981, -981, 11548, -981, 747, 465, 749, 11548, -981, 756, + 758, -981, 879, 10742, 13402, -981, -981, 13606, 4503, 4775, + 755, 514, 529, 2921, -981, -981, -981, -981, 771, 768, + 775, 752, -981, 776, 778, -981, -981, -981, -981, -981, + 789, 790, -981, 842, 2921, 2921, 852, 135, 10742, 10742, + -981, -981, -981, -981, -981, 10860, -981, -981, -981, -981, + -981, -981, -981, 903, 786, 6248, 4923, -981, -981, 11662, + 179, -981, -981, 6394, -981, -981, 179, -981, 10742, -981, + 919, 921, -981, 10624, 10624, 5361, 13606, 81, -981, 9680, + -981, 1341, 922, 799, 1642, 1642, 977, -981, 13606, 13606, + 678, 798, 678, 678, 13606, 13606, 815, 826, 907, 1097, + 578, -981, -981, 2165, -981, 1097, 2459, -981, 1251, -981, + -981, 13473, 564, -981, -981, 2438, 2921, -981, 135, -981, + 2921, -981, -981, 824, -981, -981, -981, -981, 13606, 13606, + -981, -981, -981, -981, 829, 956, 910, -981, 1144, 950, + 952, 4923, -981, 5069, -981, -981, 6394, 179, 179, 430, + -981, -981, -981, -981, 831, -981, -981, -981, -981, 847, + 847, 1642, 854, -981, 1251, -981, -981, -981, -981, -981, + -981, 12744, -981, 465, 578, -981, -981, 858, 868, 869, + -981, 872, 869, -981, 876, 884, -981, 824, 2921, -981, + -981, 1063, 12830, 9090, 12916, 649, 597, 1005, 5361, 5361, + 2835, -981, 1014, 1341, 857, 1642, 847, 1642, 678, 848, + 897, -981, 2459, -981, 1251, -981, 1251, -981, 1251, -981, + -981, 2921, 2438, -981, 759, 161, 915, 711, 725, -981, + -981, -981, 430, 430, 682, -981, -981, 847, -981, 869, + 918, 869, 869, 923, -981, 615, 1051, 1052, 179, 1031, + 1039, -981, 1251, -981, -981, -981, 2921, -981, -981, 5361, + 10624, 10624, 869, 430, 179, 179, -981, -981, 5361, 5361, + 430, 430, -981, -981 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3404,9 +3404,9 @@ static const yytype_int16 yydefact[] = 598, 627, 600, 600, 600, 634, 600, 622, 600, 42, 249, 343, 395, 393, 0, 392, 391, 288, 0, 94, 88, 0, 0, 0, 0, 0, 692, 0, 457, 458, - 459, 491, 476, 456, 0, 0, 0, 475, 490, 0, - 56, 0, 436, 449, 451, 461, 440, 460, 462, 442, - 484, 444, 453, 455, 454, 54, 0, 0, 0, 415, + 459, 491, 476, 0, 0, 0, 475, 490, 0, 56, + 0, 436, 449, 451, 461, 440, 460, 462, 442, 484, + 444, 453, 456, 455, 454, 54, 0, 0, 0, 415, 72, 421, 265, 0, 0, 414, 70, 410, 65, 0, 0, 692, 338, 0, 0, 421, 341, 649, 60, 494, 495, 692, 496, 0, 692, 356, 0, 0, 354, 0, @@ -3449,26 +3449,26 @@ static const yytype_int16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -975, -975, -975, 583, -975, 14, -975, -267, 357, -975, - -975, 65, -318, -327, -5, -975, -975, 878, -975, 1448, - 18, -45, -975, -975, -692, 29, 1098, -224, 4, -38, - -298, -482, -19, 1858, -97, 1106, 20, -20, -975, -975, - 12, -975, 2730, -975, 780, 73, 24, -384, 83, -975, - -9, -454, -269, 17, 118, -379, 26, -975, -975, -975, - -975, -975, -975, -975, -975, -975, -975, -975, -975, -975, - -975, -975, -975, 141, -151, -468, -14, -590, -975, -975, - -975, 324, 497, -975, -637, -975, -975, -256, -975, -18, - -975, -975, -975, 271, -975, -975, -975, -80, -975, -479, - -975, -569, -975, -975, -975, -599, -975, 70, -276, -975, - 159, -975, -975, -914, -729, -975, -975, -975, 317, -882, - -738, -975, 15, -975, -975, -975, -975, -975, 276, 62, - -159, -975, -975, -975, -975, -975, -302, -975, 885, -975, - -975, 421, 1, -975, -975, 679, 1875, 2479, 1141, 1627, - -975, -975, -23, 601, 13, 146, 562, 120, -975, -975, - -975, -69, 67, -219, -242, -974, -723, -554, -975, 1045, - -769, -575, -931, 122, -538, -975, -534, -975, 230, -368, - -975, -975, -975, 43, -475, 699, -356, -975, -975, -81, - -975, 75, -25, 647, -249, 1060, -268, -21, -1 + -981, -981, -981, 563, -981, 14, -981, -267, 357, -981, + -981, 65, -318, -327, -5, -981, -981, 878, -981, 1448, + 18, -45, -981, -981, -387, 29, 1072, -190, 4, -38, + -298, -461, -19, 1858, -97, 1100, 20, -20, -981, -981, + 12, -981, 2730, -981, 651, 73, -247, -384, 116, -981, + -9, -454, -269, 17, 118, -365, 26, -981, -981, -981, + -981, -981, -981, -981, -981, -981, -981, -981, -981, -981, + -981, -981, -981, 141, -151, -468, -17, -590, -981, -981, + -981, 313, 275, -981, -637, -981, -981, -172, -981, -26, + -981, -981, -981, 262, -981, -981, -981, -80, -981, -479, + -981, -569, -981, -981, -981, -599, -981, 61, 250, -981, + 148, -981, -981, -888, -791, -981, -981, -981, 299, -889, + -748, -981, -10, -981, -981, -981, -981, 766, 276, 62, + -159, -981, -981, -981, -981, -981, -285, -981, 870, -981, + -981, 1046, 1, -981, -981, 1154, 1875, 2479, 1129, 1627, + -981, -981, -23, 644, 16, 146, 550, 110, -981, -981, + -981, -69, 67, -219, -242, -946, -723, -554, -981, 1045, + -769, -575, -980, 108, -514, -981, -534, -981, 230, -368, + -981, -981, -981, 43, -475, 699, -356, -981, -981, -81, + -981, 75, -25, 647, -249, 1060, -268, -21, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -3484,9 +3484,9 @@ static const yytype_int16 yydefgoto[] = 680, 986, 460, 289, 471, 707, 867, 1131, 229, 766, 1014, 1105, 1034, 920, 794, 921, 795, 893, 1084, 1085, 552, 897, 606, 396, 87, 88, 672, 447, 671, 494, - 1082, 1132, 1178, 1179, 1180, 820, 821, 1053, 822, 823, - 824, 825, 948, 949, 826, 827, 828, 953, 829, 830, - 831, 832, 694, 861, 990, 994, 89, 90, 91, 332, + 1082, 1132, 1178, 1179, 1180, 819, 820, 1053, 821, 822, + 823, 824, 948, 949, 825, 826, 827, 953, 828, 829, + 830, 831, 694, 861, 990, 994, 89, 90, 91, 332, 333, 557, 92, 93, 94, 558, 252, 253, 254, 489, 95, 96, 97, 326, 98, 99, 218, 219, 102, 220, 456, 681, 371, 372, 373, 374, 375, 923, 924, 376, @@ -3503,264 +3503,264 @@ static const yytype_int16 yytable[] = { 105, 284, 507, 212, 212, 435, 437, 285, 441, 212, 592, 719, 282, 709, 245, 545, 520, 107, 206, 280, - 344, 451, 785, 622, 927, 206, 205, 221, 245, 559, - 125, 125, 251, 732, 849, 850, 314, 1086, 125, 206, - 781, 835, 900, 401, 265, 265, -107, 348, 265, 660, - 729, 393, 307, 311, 729, 300, 782, 540, 271, 271, - 783, 542, 271, 786, 732, 749, 70, 439, 70, 206, - 479, 528, 392, 392, 687, 658, 553, 325, 955, 667, - -110, 125, 670, -114, 616, 1056, 950, 394, -112, 255, - 895, 702, 961, 276, 281, 446, 306, 310, 267, 273, - 712, 951, 274, 688, 864, 1110, 585, 125, 868, -113, - 280, -109, 448, 439, 792, 874, 673, 676, 658, 881, + 344, 451, 785, 950, 927, 206, 205, 221, 245, 961, + 125, 125, 251, 732, 849, 850, 314, 622, 125, 206, + 781, 835, 900, 401, 265, 265, 559, 348, 265, 660, + 729, 393, 307, 311, 729, 300, 1110, 540, 271, 271, + 783, 542, 271, 786, 732, 1086, 70, 955, 70, 206, + 479, 439, 392, 392, 687, 658, 553, 325, 1056, 667, + 782, 125, 670, -107, 616, 602, 749, 106, -110, 255, + 394, 702, 439, 276, 281, 446, 306, 310, 283, 863, + 712, 493, 603, 688, 864, 528, 585, 125, 868, -112, + 280, 576, 448, 395, -114, 874, 673, 676, 658, 881, 667, 335, 337, 339, 341, 616, 616, 605, 582, 688, - -111, 800, 1115, 269, 269, 394, 476, 269, -108, 963, - 379, 379, 86, 347, 86, 126, 126, 485, 974, 217, - 217, -662, 818, 228, 980, 217, 217, 217, 951, 1086, - 217, 793, 367, -99, 293, 752, 1056, -560, 598, 688, - 601, 305, 964, 561, 896, 612, 561, 445, 561, 440, - 561, 576, 561, 106, 276, 281, 497, 368, 379, 379, - 468, 469, 86, 689, 688, 470, 315, -102, 283, -665, - -106, 395, 445, 781, 287, -104, 217, -666, 525, 818, - 397, 1110, 392, 392, 985, -550, 781, 212, 212, 782, - 436, -556, 315, 783, -560, 440, -105, 394, -101, 1057, - -550, 275, 782, -559, 550, 432, 783, 1173, 449, -561, - 480, 481, 450, -562, 507, 577, 952, -103, 398, 545, - -115, -305, -80, 206, -564, -100, 760, 402, 217, 930, - 86, 325, 732, -662, 927, -550, -305, 927, 505, -662, - 505, -563, -550, -94, 514, 544, 531, 434, 516, 519, - 379, 379, 729, 729, 538, 538, 504, 443, 508, 538, - -559, 270, 270, 1092, 246, 270, -561, 247, 248, 300, - -562, -305, -556, -555, 265, -666, 444, 265, -305, 755, - 1116, -564, -555, 478, 860, 545, 1114, 602, 863, 935, - 493, 271, 536, -565, 275, 249, 490, 250, -563, 270, - 270, -115, -107, 785, 603, -114, 526, -550, -554, 125, - 455, -107, -114, 470, 212, 212, 212, 212, 781, 574, - 575, 86, 608, -99, 462, 444, -106, 618, 781, 527, - 685, 515, 568, 217, 217, -113, 442, 569, 570, 571, - 572, 526, 530, 927, 1021, 589, 336, 589, 328, 329, - -565, 614, 473, 843, -114, 379, 556, 763, 729, 357, - 358, 359, 360, 512, -550, -554, 269, 561, 618, 618, - -113, 41, 477, 300, 42, 764, 467, 863, 296, 906, - 1002, 463, -109, 70, 1130, 854, 217, 1080, 573, 217, - 482, -105, 940, 1174, 217, 217, 125, 957, 86, 486, - 330, 331, 514, -101, 844, 86, 86, 379, 872, 873, - 488, 998, 246, 86, 958, 247, 248, 665, 58, 658, - 665, 667, 843, 844, 315, 493, 690, 514, 520, 493, - 718, 886, 265, -111, 502, 695, 506, -109, -111, 502, - -108, 665, 522, 249, 514, 250, 296, 726, 899, 781, - 419, -109, -111, 514, -103, 616, 535, 265, 665, 86, + -113, 267, 273, 269, 269, 274, 476, 269, 394, 398, + 379, 379, 86, 347, 86, 126, 126, 485, -109, 217, + 217, 895, 800, 228, -111, 217, 217, 217, 1115, 1056, + 217, 287, 1110, 497, 951, 752, 293, -560, 598, 688, + 601, 305, -559, 561, 792, 577, 561, 445, 561, -108, + 561, -561, 561, 440, 276, 281, 951, 1086, 379, 379, + 468, 469, 86, 689, 688, 470, 315, 397, -556, 402, + -99, 443, 445, 781, 440, -102, 217, -665, 525, 612, + 275, 470, 392, 392, 985, 817, 781, 212, 212, 1057, + -562, 793, 315, 783, -560, 957, -104, -115, -666, -559, + 394, -106, 275, 436, 550, 896, 783, 817, -561, 455, + 480, 481, 958, 782, 507, -564, -563, -105, 432, 545, + 477, -305, 952, 206, 1114, -565, 782, 467, 217, 930, + 86, 325, 732, 1173, 927, -101, -305, 927, 505, 41, + 505, -103, 42, 760, 514, 544, 531, -562, 516, 519, + 379, 379, 729, 729, 538, 538, 504, 963, 508, 538, + 434, 270, 270, 1092, 246, 270, -100, 247, 248, 300, + 1116, -305, -564, -563, 265, -666, -555, 265, -305, 755, + 246, -80, -565, 247, 248, 545, 58, 342, 343, -550, + 964, 271, 536, -554, -556, 249, 490, 250, 860, 270, + 270, 473, -94, 785, 486, -107, -555, 502, 462, 125, + 935, 249, 482, 250, 212, 212, 212, 212, 781, 574, + 575, 86, 608, -115, 706, 478, -99, 618, 781, 527, + 685, 1174, 568, 217, 217, -107, 442, 569, 570, 571, + 572, 444, 530, 927, 1021, 589, -550, 589, 526, 488, + -554, 614, 444, 526, -114, 379, 556, 763, 729, 357, + 358, 359, 360, 512, 515, 463, 269, 561, 618, 618, + -114, 493, 843, 300, 493, 764, 718, -113, 296, 906, + 1002, -114, -113, 70, 367, 854, 217, 1080, 573, 217, + 845, -106, 940, 847, 217, 217, 125, 336, 86, 328, + 329, -109, 514, -105, 844, 86, 86, 379, 419, 368, + 449, 845, 246, 86, 450, 247, 248, 665, 863, 658, + 665, 667, -101, 974, 315, 1130, 690, 514, 520, 980, + 502, 886, 265, -111, 506, 695, 426, 427, 428, 429, + 430, 665, 522, 249, 514, 250, 296, 726, 899, 781, + 419, 330, 331, 514, -103, 616, 529, 265, 665, 86, 217, 217, 217, 217, 86, 217, 217, 665, 891, 1108, - 529, 740, 1111, 545, 265, 342, 343, 748, 666, 544, + 535, 740, 1111, 545, 265, 452, 453, 748, 666, 544, 970, 505, 505, 265, 86, 610, 976, 978, 777, 616, - 610, 105, 245, -79, -663, 616, 616, 932, 1081, 736, - 737, 1164, 666, 206, 732, 86, 868, 665, 217, 947, - 86, 315, 807, 623, 541, 960, 543, 730, 514, 666, + 610, 105, 245, -79, -662, 616, 616, 932, 1081, 736, + 737, 1164, 666, 206, 732, 86, 868, 665, 217, 541, + 86, 315, 807, 623, 354, 355, 543, 730, 514, 666, 547, 270, 470, 566, 270, 729, 1031, 1032, 666, 567, - 975, 975, 665, 909, 911, 913, 578, 915, 520, 916, - 884, 125, 584, 125, 217, 544, 1003, 1004, 265, 747, - -571, 781, 983, 587, 623, 623, 735, 70, -554, -108, - -108, 590, 781, 1176, 1177, 591, 745, 594, 666, 217, - 599, 86, 217, -554, 597, 796, 354, 355, 1170, 600, - -100, 721, 86, 771, 452, 453, 217, 836, 379, 886, - 86, 866, 863, 666, 1197, 217, 520, 798, 1012, 774, - 86, 1202, 1203, 789, -432, -434, -663, 604, -554, 125, - 678, -421, -663, 419, 523, -554, 615, 775, 1060, 840, - 692, 246, 296, 693, 247, 248, 696, 616, 846, 533, - 505, 848, 699, 86, 1026, 1027, 280, 1043, 697, 280, - 796, 796, 86, 428, 429, 430, 212, 555, 842, 365, - 366, 367, 249, 722, 250, 742, 315, 280, 315, 1054, - 217, 845, 862, 865, 847, 734, 879, 865, 86, 853, - 104, -94, 104, 206, 865, -421, 368, 104, 104, 270, - 212, 858, 845, 104, 104, 104, 739, 245, 104, 1065, - -421, -348, 454, 454, 925, 217, 538, -109, 206, 505, - 1005, 839, 757, 878, 270, 1141, -348, 770, 883, 1156, - 276, -111, 773, 276, 791, 217, 802, 508, 801, 803, - 104, 270, 841, -421, 315, -421, 296, 431, 618, 839, - 270, 276, -421, 544, 104, 855, 856, 981, 688, 1113, - 947, -348, 432, 863, 1054, 871, 589, 706, -348, 888, - 270, 457, 877, -669, 270, 349, 350, 351, 352, 353, - 880, 474, 618, 972, 882, 889, 432, 898, 618, 618, - 892, 1093, 1095, 1096, 1097, 514, 432, 433, 902, 904, - 576, 610, 270, 908, 434, 270, 104, 778, 104, 665, - 910, 778, 217, 86, 912, 270, -109, 125, 698, -109, - -109, 458, 914, 917, 943, 265, 705, 944, 434, 1071, - -111, 475, 1153, -111, -111, 1073, 717, -669, 434, -558, - 796, 956, 959, 966, 968, 962, 217, -109, 965, -109, - 991, 212, -669, 995, -558, 246, 520, 936, 247, 248, - 967, -111, 993, -111, 988, 947, 1113, 989, 997, 73, - 666, 73, 121, 121, 996, 888, 999, 505, 1010, 763, - 121, 357, 358, 359, 360, -669, 249, -669, 250, -558, - 1015, -665, 1030, 1033, -669, 1009, -558, 764, 1036, 104, - 1113, 1038, 246, 483, 759, 247, 248, 1040, 1045, 1168, - 969, 104, 104, 589, 589, 1046, 1128, 1129, 432, 73, - 618, 1042, 1044, 121, 563, 86, 328, 329, 1047, 922, - 1048, 1051, 315, 86, 623, 250, 532, 217, 125, 1049, - 534, 354, 355, 125, 334, 1050, 1055, 328, 329, 121, - 1062, 1103, -665, 484, 925, 1063, 1088, 925, 1074, 925, - 434, 1075, 246, 1087, 104, 247, 248, 104, 623, 217, - 1091, 524, 104, 104, 623, 623, 104, 1124, 330, 331, - 86, 86, 1094, 104, 104, 1098, 432, 73, 212, 212, - 1099, 104, 1100, 249, 86, 250, 865, 217, 1118, 330, - 331, 1120, 270, 270, 1119, 125, 86, 86, 1121, 1133, - 1161, 1077, 1078, 931, 1135, 86, -665, 1189, 1137, 246, - 1142, 475, 247, 248, 1144, 925, 86, 86, 434, 1146, - 548, -665, -557, 1198, 1199, 1148, 833, 104, 104, 104, - 104, 104, 104, 104, 104, 432, 1165, -557, 1151, 1134, - 249, 833, 250, 1029, 1152, -665, 491, -666, 1035, 247, - 248, -295, 104, 925, -665, 925, -665, 925, 865, 925, - -665, 246, 270, -665, 247, 248, -295, 1175, 73, 1187, - 549, -306, -557, 104, 1188, 1190, 104, 434, 104, -557, - 1191, 104, 589, 1182, 246, 741, -306, 247, 248, 1186, - 226, 130, 1160, 925, 805, 1166, 623, 919, 270, 982, - 1117, -295, 514, 1052, 695, 865, 86, 86, -295, 432, - 1068, -666, 104, 954, 86, 1011, 665, 250, 492, 833, - 1159, -306, 104, 104, 217, 217, 86, 208, -306, 776, - 1102, 0, 265, 0, 1101, 1107, 733, 104, 0, 104, - 104, 865, 865, 738, 806, 73, 0, 0, 0, 432, - 104, 434, 73, 73, 104, 744, 922, 0, 104, 922, - 73, 0, 922, 104, 922, 212, 212, 1122, 104, 0, - 0, 121, 865, 0, 0, -666, 0, 666, 0, 865, - 865, 0, 432, 0, 458, 0, 0, 984, 1194, 1195, - -666, 434, 86, 0, 86, 0, 0, 86, 0, 0, - 992, 104, 0, 675, 677, 0, 73, 0, 768, 769, - 104, 73, 1000, 1001, 0, 0, 833, 1123, 0, 0, - 0, 1007, 833, -666, 434, -666, 0, 0, 104, -666, - 922, 73, -666, 1013, 0, 0, 104, 675, 677, 799, - 778, 0, 0, 931, 217, 0, 931, 0, 931, 86, + 975, 872, 665, 909, 911, 913, 873, 915, 520, 916, + 884, 125, 578, 125, 217, 544, 1003, 1004, 265, 747, + 998, 781, 983, 584, 623, 623, 735, 70, -550, -108, + -109, -571, 781, 1176, 1177, -111, 745, 587, 666, 217, + 604, 86, 217, -550, 590, 796, 843, 591, 1170, -108, + -100, 721, 86, 771, 866, 863, 217, 836, 379, 886, + 86, 844, 594, 666, 1197, 217, 520, 798, 1012, 774, + 86, 1202, 1203, 789, 597, -109, -662, 599, -550, 125, + 678, -421, -662, 419, 523, -550, 600, 775, 1060, 840, + -111, 246, 296, 615, 247, 248, 975, 616, 846, 533, + 505, 848, 693, 86, 491, 692, 280, 247, 248, 280, + 796, 796, 86, 428, 429, 430, 212, 696, 842, 365, + 366, 367, 249, 697, 250, -108, 315, 280, 315, 699, + 217, 246, 862, 865, 247, 248, 879, 865, 86, 853, + 104, 555, 104, 206, 865, -421, 368, 104, 104, 270, + 212, 858, 722, 104, 104, 104, 734, 245, 104, 1065, + -421, -348, -432, -434, 925, 217, 538, -109, 206, 505, + 1005, 839, 739, 878, 270, 1141, -348, 742, 883, 1156, + 276, -111, -94, 276, 757, 217, 770, 508, 1026, 1027, + 104, 270, 773, -421, 315, -421, 296, 431, 618, 839, + 270, 276, -421, 544, 104, 454, 454, 981, 688, 791, + 801, -348, 432, 802, -663, 803, 589, 841, -348, 888, + 270, 855, 856, 863, 270, -669, 871, 877, 882, 892, + -665, 457, 618, 972, 880, 889, 898, 904, 618, 618, + 902, 1093, 1095, 1096, 1097, 514, 432, 433, 576, 943, + 908, 610, 270, 910, 434, 270, 104, 778, 104, 665, + 912, 778, 217, 86, 917, 270, -109, 125, 698, -109, + -109, 914, 944, 956, 959, 265, 705, -666, -554, 1071, + -111, 458, 962, -111, -111, 1073, 717, 965, 434, -669, + 796, 966, 967, -554, -665, 988, 217, -109, 993, -109, + 991, 212, 989, 995, -669, 997, 520, 936, 999, -665, + 1015, -111, 1010, -111, 349, 350, 351, 352, 353, 73, + 666, 73, 121, 121, 996, 888, -663, 505, -554, 1030, + 121, 1033, -663, 1051, 1040, -554, 1042, -669, 1036, -669, + 1038, -666, -665, -665, -665, 1009, -669, 1055, -665, 104, + 1045, -665, 1044, 474, 759, 1047, -666, 1046, 1062, 1168, + 1048, 104, 104, 589, 589, 1063, 1128, 1129, 432, 73, + 618, 1049, 1050, 121, 1074, 86, 1075, 1087, 1088, 922, + 1094, 1098, 315, 86, 623, -558, 532, 217, 125, -666, + 534, -666, 1099, 125, 563, -666, 328, 329, -666, 121, + -558, 1103, 1100, 475, 925, 1121, 1118, 925, 1119, 925, + 434, 1120, 246, 1133, 104, 247, 248, 104, 623, 217, + 354, 355, 104, 104, 623, 623, 104, 1124, 483, 1135, + 86, 86, -665, 104, 104, -558, 1137, 73, 212, 212, + 1142, 104, -558, 432, 86, 250, 865, 217, 330, 331, + 1144, 1146, 270, 270, 1148, 125, 86, 86, 1151, 524, + 1161, 1077, 1078, 931, 548, 86, 1152, 1189, 763, 1165, + 357, 358, 359, 360, 432, 925, 86, 86, 484, 432, + -557, -666, -295, 1198, 1199, 434, 764, 104, 104, 104, + 104, 104, 104, 104, 104, -557, 1175, -295, 246, 1134, + 1182, 247, 248, 1029, 947, 1186, 1187, 1188, 1035, 475, + 960, 1190, 104, 925, 549, 925, 434, 925, 865, 925, + 1191, 434, 270, 334, 226, 741, 328, 329, 73, 249, + -557, 250, -295, 104, 675, 677, 104, -557, 104, -295, + 246, 104, 589, 247, 248, 130, 919, 1166, 442, 1160, + 982, 1117, 1052, 925, 954, 1159, 623, 246, 270, 1091, + 247, 248, 514, 492, 695, 865, 86, 86, 675, 677, + 1068, 249, 104, 250, 86, 208, 665, 776, 330, 331, + 1102, 1107, 104, 104, 217, 217, 86, 0, 1011, 0, + 250, 0, 265, -306, 0, 0, 733, 104, 0, 104, + 104, 865, 865, 738, 0, 73, 805, 0, -306, 0, + 104, 0, 73, 73, 104, 744, 922, 743, 104, 922, + 73, 432, 922, 104, 922, 212, 212, 1101, 104, 0, + 0, 121, 865, 1043, 0, 0, 968, 666, 0, 865, + 865, 0, 432, -306, 1037, 1039, 0, 984, 1194, 1195, + -306, 0, 86, 0, 86, 1054, 806, 86, 0, 0, + 992, 104, 0, 434, 0, 0, 73, 0, 768, 769, + 104, 73, 1000, 1001, 1122, 0, 0, 458, 0, 0, + 0, 1007, 562, 0, 434, 328, 329, 0, 104, 432, + 922, 73, 0, 1013, 246, 0, 104, 247, 248, 799, + 778, 0, 969, 931, 217, 0, 931, 0, 931, 86, 86, 0, 73, 0, 0, 472, 0, 73, 121, 0, - 73, 472, 0, 104, 0, 270, 0, 0, 922, 0, - 922, 0, 922, 787, 922, 357, 358, 359, 360, 327, - 328, 329, 0, 104, 834, 562, 743, 0, 328, 329, - 0, 361, 338, 328, 329, 340, 328, 329, 495, 834, - 0, 73, 73, 246, 0, 0, 247, 248, 922, 0, - 86, 217, 217, 0, 931, 0, 363, 857, 73, 86, - 86, 0, 1064, 365, 366, 367, 0, 0, 0, 73, - 1072, 0, 330, 331, 0, 0, 250, 73, 0, 0, - 330, 331, 1079, 554, 833, 330, 331, 73, 330, 331, - 368, 0, 931, 0, 931, 0, 931, 0, 931, 0, - 104, 104, 0, 0, 0, 833, 833, 0, 0, 0, - 555, 328, 329, 890, 560, 328, 329, 834, 0, 270, - 73, 564, 328, 329, 565, 328, 329, 0, 495, 73, - 0, 0, 931, 901, 104, 583, 0, 808, 809, 810, - 0, 0, 579, 121, 0, 121, 1037, 1039, 1125, 0, - 1126, 0, 0, 1127, 945, 73, 0, 0, 812, 0, - 593, 39, 40, 330, 331, 0, 813, 330, 331, 74, - 0, 74, 122, 122, 330, 331, 0, 330, 331, 0, - 122, 758, 328, 329, 0, 246, 833, 833, 247, 248, - 0, 833, 0, 0, 814, 0, 0, 0, 0, 0, - 815, 816, 0, 817, 0, 1162, 1163, 0, 0, 57, - 0, 121, 502, 104, 834, 0, 249, 0, 250, 74, - 834, 104, 104, 122, 763, 104, 357, 358, 359, 360, - 819, 0, 0, 0, 330, 331, 0, 120, 0, 0, - 0, 0, 764, 0, 946, 0, 0, 0, 0, 122, - 1106, 0, 0, 0, 1008, 0, 104, 104, 0, 833, + 73, 472, 0, 104, 1123, 270, 0, 250, 922, 0, + 922, 434, 922, 0, 922, 1113, 947, 330, 331, 0, + 1054, 0, 787, 104, 357, 358, 359, 360, 1106, 0, + 0, 327, 328, 329, 0, 0, 0, 0, 495, 0, + 361, 73, 73, 0, 0, 0, 0, 0, 922, 0, + 86, 217, 217, 0, 931, 0, 0, 857, 73, 86, + 86, 0, 1064, 0, 246, 363, 0, 247, 248, 73, + 1072, 0, 365, 366, 367, 0, 0, 73, 0, 0, + 0, 0, 1079, 554, 330, 331, 0, 73, 1153, 0, + 0, 502, 931, 0, 931, 249, 931, 250, 931, 368, + 104, 104, 1143, 1145, 1147, 0, 1149, 1150, 338, 328, + 329, 832, 1083, 890, 357, 358, 359, 360, 0, 270, + 73, 947, 1113, 340, 328, 329, 832, 0, 495, 73, + 764, 0, 931, 901, 104, 583, 555, 328, 329, 0, + 0, 0, 579, 121, 0, 121, 0, 0, 1125, 0, + 1126, 0, 0, 1127, 0, 73, 1113, 0, 0, 0, + 593, 330, 331, 0, 1181, 1183, 1184, 1185, 0, 74, + 0, 74, 122, 122, 0, 0, 330, 331, 0, 0, + 122, 560, 328, 329, 564, 328, 329, 1196, 0, 330, + 331, -678, -678, -678, 0, -678, -678, 0, -678, 565, + 328, 329, 0, -678, 832, 1162, 1163, 0, 971, 973, + 0, 121, 0, 104, 977, 979, 0, 0, 0, 74, + 0, 104, 104, 122, 763, 104, 357, 358, 359, 360, + 758, 328, 329, 0, 330, 331, 0, 330, 331, 0, + 971, 973, 764, 977, 979, 0, 0, 0, 0, 122, + 0, 0, 330, 331, 1008, 0, 104, 104, 0, 0, 708, 708, 104, 104, 0, 0, 1193, 363, 104, 104, - 1017, 833, 0, 765, 0, 1200, 1201, 0, 416, 417, - 73, 0, 104, 0, 0, 104, 0, 74, 0, 0, - 0, 419, 833, 833, 104, 104, 0, 0, 0, 0, - 0, 0, 0, 104, 0, -678, -678, -678, 0, -678, - -678, 495, -678, 0, 104, 104, 554, -678, 495, 426, - 427, 428, 429, 430, 1143, 1145, 1147, 833, 1149, 1150, - 0, 763, 0, 357, 358, 359, 360, 971, 973, 0, - 0, 0, 834, 977, 979, 767, 0, 0, 103, 764, - 103, 128, 128, 763, 0, 357, 358, 359, 360, 231, - 0, 0, 784, 834, 834, 788, 0, 0, 0, 971, - 973, 764, 977, 979, 363, 0, 0, 0, 74, 1083, - 1016, 357, 358, 359, 360, 419, 1181, 1183, 1184, 1185, - 0, 0, 73, 0, 104, 0, 363, 764, 103, 121, - 73, 73, 317, 0, 104, 104, 0, 246, 0, 1196, - 247, 248, 104, 426, 427, 428, 429, 430, 0, 0, - 0, 0, 104, 104, 104, 0, 0, 0, 317, 0, - 0, -678, 0, 0, 0, 73, 0, -678, 249, 0, - 250, 73, 73, 0, 834, 834, 0, 73, 73, 834, - 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, - 852, 73, 74, 74, 0, 0, 103, 416, 417, 0, - 74, 0, 0, 73, 73, 1061, 0, 0, 0, 0, - 419, 122, 73, 0, 356, 0, 357, 358, 359, 360, - 104, 0, 104, 73, 73, 104, 0, 0, 1061, 0, - 0, 472, 361, 0, 0, 423, 424, 425, 426, 427, - 428, 429, 430, 0, 0, 0, 74, 834, 0, 0, - 121, 74, 0, 0, 0, 121, 0, 363, 0, 834, - 0, 0, 0, 364, 365, 366, 367, 0, 0, 0, + 1017, 0, 0, 765, 0, 1200, 1201, 0, 0, 0, + 73, 0, 104, 330, 331, 104, 0, 74, 0, 0, + 0, 0, 0, 246, 104, 104, 247, 248, 0, 804, + 832, 0, 0, 104, 0, 0, 832, 0, 0, 0, + 0, 495, 0, 0, 104, 104, 554, -678, 495, 0, + 0, 0, 0, -678, 249, 0, 250, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, + 0, 0, 0, 416, 417, 767, 1061, 0, 103, 0, + 103, 128, 128, 0, 0, 0, 419, 0, 0, 231, + 0, 0, 784, 0, 0, 788, 0, 0, 0, 1061, + 0, 763, 0, 357, 358, 359, 360, 420, 74, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 764, + 0, 833, 73, 0, 104, 416, 417, -280, 103, 121, + 73, 73, 317, 0, 104, 104, 833, 0, 419, 0, + 0, 0, 104, 763, 363, 357, 358, 359, 360, 0, + 1016, 0, 104, 104, 104, 0, 0, 0, 317, 832, + 0, 764, 0, 0, 0, 73, 426, 427, 428, 429, + 430, 73, 73, 0, 0, 0, 0, 73, 73, 0, + 832, 832, 0, 0, 0, 74, 363, 0, 0, 0, + 852, 73, 74, 74, 416, 417, 103, 0, 0, 0, + 74, 0, 0, 73, 73, 0, 0, 419, 0, 0, + 0, 122, 73, 0, 833, 0, 0, 0, 0, 0, + 104, 0, 104, 73, 73, 104, 0, 0, 0, 834, + 0, 472, 423, 424, 425, 426, 427, 428, 429, 430, + 416, 417, 0, 0, 834, 0, 74, 0, 0, 0, + 121, 74, 0, 419, 0, 121, 0, 0, 0, 0, + 0, 832, 832, 0, 0, 0, 832, 0, 0, 0, 0, 74, 104, 0, 0, 0, 0, 104, 104, 0, - 834, 834, 0, 0, 0, 0, 0, 103, 926, 907, - 0, 368, 74, 0, 369, 0, 0, 74, 122, 0, - 74, 0, 0, 73, 0, 0, 0, 551, 0, 83, - 0, 83, 0, 73, 73, 834, 0, 121, 0, 0, - 227, 73, 0, 0, 0, 0, 100, 0, 100, 127, - 127, 127, 0, 73, 0, 0, 0, 230, 104, 104, - 104, 74, 74, 0, 0, 0, 0, 104, 104, 0, - 0, 0, 416, 417, 0, 0, 0, 0, 74, 83, - 0, 0, 0, 987, 103, 419, 0, 0, 0, 74, + 425, 426, 427, 428, 429, 430, 0, 103, 926, 907, + 0, 0, 74, 0, 0, 0, 0, 74, 122, 0, + 74, 0, 0, 73, 0, 0, 0, 0, 0, 83, + 833, 83, 0, 73, 73, 0, 833, 121, 0, 0, + 227, 73, 834, 0, 0, 0, 100, 0, 100, 127, + 127, 127, 0, 73, 832, 0, 0, 230, 104, 104, + 104, 74, 74, 0, 0, 0, 832, 104, 104, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 83, + 0, 0, 0, 987, 103, 0, 0, 832, 832, 74, 0, 103, 103, 0, 0, 0, 100, 74, 0, 103, - 316, 0, 0, 0, 403, 0, 0, 74, 708, 0, - 317, 472, 425, 426, 427, 428, 429, 430, 0, 73, - 0, 73, 0, 1020, 73, 1022, 316, 0, 0, 1023, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 103, 0, 83, 0, 74, - 103, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 122, 100, 122, 0, 416, 417, 0, - 103, 0, 418, 0, 0, 74, 73, 73, 0, 0, - 419, 0, 0, 0, 356, 0, 357, 358, 359, 360, + 316, 0, 0, 0, 0, 0, 0, 74, 708, 0, + 317, 472, 0, 0, 0, 0, 0, 0, 0, 73, + 0, 73, 832, 1020, 73, 1022, 316, 0, 0, 1023, + 0, 0, 0, 0, 0, 0, 0, 0, 834, 0, + 74, 0, 0, 0, 834, 103, 0, 83, 0, 74, + 103, 0, 0, 0, 0, 0, 0, 0, 0, 833, + 0, 0, 0, 122, 100, 122, 0, 0, 0, 0, + 103, 0, 0, 0, 0, 74, 73, 73, 0, 0, + 833, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 103, 317, 0, 624, - 0, 420, 361, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 0, 0, 0, 472, 363, 0, 1089, - 1090, 122, 0, 364, 365, 366, 367, 73, 83, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 472, 0, 0, 0, 0, 0, 472, 0, 0, 1089, + 1090, 122, 0, 0, 0, 0, 0, 73, 83, 0, 624, 624, 0, 0, 0, 0, 73, 73, 808, 809, 810, 1109, 0, 1112, 0, 100, 0, 103, 0, 0, - 0, 368, 0, 0, 369, 811, 0, 0, 103, 812, - 0, 0, 39, 40, 0, 1104, 103, 813, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 833, 833, 0, 0, 945, 833, 834, 103, 812, + 0, 0, 39, 40, 41, 0, 103, 42, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 834, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 814, 1136, 472, 472, 1138, - 0, 815, 816, 0, 817, 83, 818, 0, 0, 103, - 57, 0, 83, 83, 0, 0, 0, 0, 103, 0, - 83, 0, 100, 0, 0, 0, 0, 0, 0, 100, - 100, 819, 317, 0, 317, 0, 0, 100, 120, 0, - 0, 0, 1167, 0, 103, 0, 0, 1169, 316, 1171, - 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 74, 0, 0, 0, 0, 813, 1136, 472, 472, 1138, + 0, 814, 815, 0, 816, 83, 0, 0, 0, 103, + 57, 58, 83, 83, 0, 0, 0, 0, 103, 0, + 83, 0, 100, 0, 833, 0, 0, 0, 0, 100, + 100, 818, 317, 0, 317, 0, 833, 100, 120, 0, + 0, 0, 1167, 0, 103, 946, 0, 1169, 316, 1171, + 0, 0, 0, 1172, 0, 0, 0, 833, 833, 834, + 834, 0, 0, 0, 834, 0, 83, 0, 0, 0, 0, 83, 0, 0, 0, 0, 356, 0, 357, 358, 359, 360, 0, 100, 0, 0, 0, 1192, 100, 0, - 0, 83, 0, 0, 361, 0, 0, 0, 472, 0, + 0, 83, 833, 0, 361, 0, 0, 0, 472, 0, 317, 0, 74, 0, 0, 0, 0, 0, 100, 122, 74, 74, 83, 0, 472, 472, 0, 83, 0, 363, 619, 0, 0, 0, 0, 364, 365, 366, 367, 100, - 0, 0, 0, 0, 100, 316, 356, 0, 357, 358, - 359, 360, 0, 0, 0, 74, 0, 0, 0, 0, + 0, 0, 834, 0, 100, 316, 356, 0, 357, 358, + 359, 360, 0, 0, 834, 74, 0, 0, 0, 0, 0, 74, 74, 368, 361, 0, 369, 74, 74, 0, - 0, 619, 619, 0, 0, 0, 0, 0, 362, 103, + 0, 619, 619, 0, 0, 834, 834, 1104, 362, 103, 0, 74, 0, 0, 0, 0, 0, 0, 83, 363, 0, 0, 0, 74, 74, 364, 365, 366, 367, 83, - 0, 0, 74, 0, 0, 100, 0, 83, 808, 809, - 810, 0, 0, 74, 74, 0, 100, 83, 0, 0, - 0, 0, 0, 368, 100, 945, 369, 0, 0, 812, - 0, 0, 39, 40, 100, 0, 0, 813, 0, 370, - 122, 0, 0, 0, 0, 122, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 100, 0, 83, 0, 0, + 834, 0, 0, 74, 74, 0, 100, 83, 0, 0, + 0, 0, 0, 368, 100, 0, 369, 0, 356, 0, + 357, 358, 359, 360, 100, 0, 0, 0, 0, 370, + 122, 0, 0, 0, 0, 122, 361, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 0, 0, 0, 0, 0, 814, 0, 100, 0, 0, - 0, 815, 816, 0, 817, 0, 100, 0, 0, 0, - 57, 0, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, + 0, 363, 0, 0, 0, 0, 100, 364, 365, 366, + 367, 0, 0, 0, 0, 83, 0, 0, 0, 0, 316, 103, 316, 74, 0, 0, 0, 0, 317, 103, - 624, 819, 100, 74, 74, 0, 0, 122, 120, 0, - 0, 74, 0, 0, 808, 809, 810, 0, 0, 0, - 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, - 0, 945, 0, 0, 624, 812, 0, 0, 39, 40, - 624, 624, 0, 813, 0, 0, 103, 103, 0, 0, - 101, 0, 101, 0, 0, 0, 0, 0, 316, 0, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 814, 103, 103, 0, 0, 0, 815, 816, 0, - 0, 103, 0, 0, 0, 0, 57, 0, 0, 74, - 0, 74, 103, 103, 74, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 819, 0, 0, - 83, 0, 0, 0, 120, 0, 0, 0, 0, 128, - 0, 0, 0, 0, 128, 0, 0, 100, 0, 0, - 0, 0, 0, 0, 0, 0, -692, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 74, 0, -692, - -692, -692, -692, -692, -692, 0, -692, 0, 0, 0, - 0, -692, -692, -692, 0, 0, 0, 0, 101, 0, + 624, 0, 100, 74, 74, 368, 0, 122, 369, 0, + 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 551, 0, 74, 0, 0, 0, 356, 0, 357, + 358, 359, 360, 0, 624, 0, 0, 0, 0, 0, + 624, 624, 808, 809, 810, 361, 103, 103, 0, 0, + 101, 0, 101, 0, 0, 0, 0, 0, 316, 945, + 103, 581, 0, 812, 0, 0, 39, 40, 41, 0, + 363, 42, 103, 103, 0, 0, 364, 365, 366, 367, + 356, 103, 357, 358, 359, 360, 0, 0, 0, 74, + 0, 74, 103, 103, 74, 0, 0, 0, 361, 813, + 101, 0, 0, 0, 368, 814, 815, 369, 816, 0, + 83, 0, 0, 0, 57, 58, 0, 0, 0, 128, + 0, 0, 0, 363, 128, 0, 0, 100, 0, 364, + 365, 366, 367, 0, 0, 818, -692, 0, 0, 0, + 0, 0, 120, 0, 0, 0, 74, 74, 0, -692, + -692, -692, -692, -692, -692, 0, -692, 368, 0, 0, + 369, -692, -692, -692, 0, 0, 0, 0, 101, 0, 0, 0, 624, -692, -692, 0, -692, -692, -692, -692, -692, 0, 103, 103, 0, 0, 1070, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3779,40 +3779,40 @@ static const yytype_int16 yytable[] = 100, 100, 0, 83, 83, 103, 103, 0, 0, 100, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 100, 100, 0, 101, 101, 0, 288, 290, 291, 292, - 0, 101, 0, 266, 308, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 345, 346, 127, 0, 0, - 0, 0, 127, 0, 0, 356, 0, 357, 358, 359, - 360, 0, 0, 0, 0, 0, 103, 0, 0, 0, - 0, 0, 0, 361, 0, 103, 103, 101, 0, 0, - 0, 0, 101, 619, 0, 0, 0, 362, 0, 0, + 0, 101, 0, 266, 308, 356, 0, 357, 358, 359, + 360, 0, 0, 0, 0, 345, 346, 127, 0, 0, + 0, 0, 127, 361, 0, 356, 0, 357, 358, 359, + 360, 0, 0, 0, 0, 0, 103, 0, 0, 779, + 0, 0, 0, 361, 0, 103, 103, 101, 363, 0, + 0, 0, 101, 619, 364, 365, 366, 367, 0, 903, 0, 0, 0, 83, 83, 0, 0, 1067, 363, 0, 0, 83, 101, 0, 364, 365, 366, 367, 0, 0, - 100, 100, 0, 83, 1069, 0, 0, 0, 100, 0, - 0, 0, 0, 101, 0, -692, 0, 0, 101, 0, - 100, 101, 368, 0, 0, 369, 0, 0, 0, 0, - 0, 0, 356, 0, 357, 358, 359, 360, 370, 0, + 100, 100, 368, 83, 1069, 369, 0, 0, 100, 808, + 809, 810, 0, 101, 0, 0, 0, 0, 101, 0, + 100, 101, 368, 0, 0, 369, 811, 0, 0, 0, + 812, 0, 0, 39, 40, 41, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 101, 0, 0, 581, 0, 0, 83, - 0, 83, 0, 0, 83, 363, 0, 0, 0, 101, - 0, 364, 365, 366, 367, 804, 100, 0, 100, 0, - 101, 100, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 368, - 0, 0, 369, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 0, 83, 83, 0, 416, - 417, 498, 499, 500, 345, 0, 0, 0, 0, 0, - 0, 101, 419, 100, 100, 266, 0, 0, 266, 0, - 101, 0, 0, 0, 0, 0, 0, 356, 0, 357, - 358, 359, 360, 420, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 361, 101, 356, 0, 357, - 358, 359, 360, -280, 0, 0, 0, 83, 0, 0, - 0, 779, 0, 0, 0, 361, 83, 83, 0, 0, - 363, 0, 0, 0, 100, 0, 364, 365, 366, 367, - 0, 903, 0, 100, 100, 0, 0, 0, 0, 0, - 363, 0, 0, 0, 0, 0, 364, 365, 366, 367, - 0, 0, 0, 0, 368, 0, 0, 369, 0, 0, - 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 368, 596, 0, 369, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 101, 101, 0, 0, 813, 0, 0, 83, + 0, 83, 814, 815, 83, 816, 0, 817, 0, 101, + 0, 57, 58, 0, 0, 0, 100, 0, 100, 0, + 101, 100, 0, 0, 0, 808, 809, 810, 101, 0, + 0, 0, 818, 0, 0, 0, 0, 0, 101, 120, + 0, 0, 945, 0, 0, 0, 812, 0, 0, 39, + 40, 41, 0, 0, 42, 0, 83, 83, 0, 0, + 0, 498, 499, 500, 345, 0, 0, 0, 0, 0, + 0, 101, 0, 100, 100, 266, 0, 0, 266, 0, + 101, 0, 813, 0, 0, 0, 0, 0, 814, 815, + 356, 0, 357, 358, 359, 360, 0, 57, 58, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 361, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 818, 0, + 0, 0, 362, 0, 0, 120, 83, 83, 0, 0, + 0, 0, 0, 363, 100, 0, 0, 0, 0, 364, + 365, 366, 367, 100, 100, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -692, 0, 0, 0, 0, 0, 0, 368, 0, 0, + 369, 0, 0, 0, 586, 0, 0, 0, 0, 0, + 0, 0, 0, 370, 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, 0, 620, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 0, 641, @@ -3850,13 +3850,13 @@ static const yytype_int16 yytable[] = -420, 0, 0, -420, 101, 101, 728, 308, 0, -420, 0, -420, 101, 0, 0, -420, 0, 0, 0, 0, 0, 0, 0, 0, 101, -420, 0, 0, -420, -420, - 0, 0, -420, 0, -420, -420, -420, -420, -420, -420, + 403, 0, -420, 0, -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, 0, 0, 0, -420, -420, -420, -420, -420, 0, 275, -420, -420, -420, -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 674, 937, 0, 266, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, - 101, 0, 101, 416, 417, 101, 0, 0, 501, 0, + 101, 0, 101, 416, 417, 101, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 419, 674, 674, 0, 0, 0, 728, 674, 674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, @@ -4864,283 +4864,289 @@ static const yytype_int16 yytable[] = 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, -285, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, + 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, -693, -693, - 0, 0, 0, 0, 416, 417, 404, 405, 406, 407, - 408, 409, 0, 0, 412, 413, 0, 419, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 0, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430 + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + -693, -693, 0, 0, 0, 0, 416, 417, 404, 405, + 406, 407, 408, 409, 0, 0, 412, 413, 0, 419, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430 }; static const yytype_int16 yycheck[] = { 1, 26, 271, 8, 9, 86, 87, 27, 88, 14, 378, 490, 21, 481, 13, 313, 284, 3, 6, 20, - 65, 118, 597, 402, 793, 13, 6, 9, 27, 331, - 4, 5, 14, 508, 671, 672, 55, 1011, 12, 27, - 594, 640, 765, 81, 15, 16, 25, 68, 19, 433, - 504, 74, 53, 54, 508, 51, 594, 306, 15, 16, - 594, 310, 19, 597, 539, 547, 1, 26, 3, 57, - 221, 295, 73, 74, 458, 431, 318, 57, 816, 435, - 25, 55, 438, 25, 402, 967, 815, 74, 25, 14, - 29, 475, 821, 20, 21, 104, 53, 54, 15, 16, - 484, 51, 19, 459, 694, 1036, 373, 81, 698, 25, - 111, 25, 117, 26, 79, 705, 443, 444, 474, 718, + 65, 118, 597, 814, 793, 13, 6, 9, 27, 820, + 4, 5, 14, 508, 671, 672, 55, 402, 12, 27, + 594, 640, 765, 81, 15, 16, 331, 68, 19, 433, + 504, 74, 53, 54, 508, 51, 1036, 306, 15, 16, + 594, 310, 19, 597, 539, 1011, 1, 815, 3, 57, + 221, 26, 73, 74, 458, 431, 318, 57, 967, 435, + 594, 55, 438, 25, 402, 34, 547, 0, 25, 14, + 74, 475, 26, 20, 21, 104, 53, 54, 144, 18, + 484, 20, 51, 459, 694, 295, 373, 81, 698, 25, + 111, 57, 117, 28, 25, 705, 443, 444, 474, 718, 476, 59, 60, 61, 62, 443, 444, 394, 370, 485, - 25, 613, 1046, 15, 16, 122, 217, 19, 25, 93, - 73, 74, 1, 68, 3, 4, 5, 228, 840, 8, - 9, 26, 102, 12, 846, 14, 15, 16, 51, 1133, - 19, 126, 103, 142, 55, 549, 1048, 90, 387, 525, - 389, 53, 126, 332, 113, 399, 335, 104, 337, 138, - 339, 57, 341, 0, 111, 112, 57, 128, 121, 122, - 213, 214, 51, 460, 550, 16, 55, 142, 144, 144, - 142, 28, 129, 757, 138, 142, 65, 144, 289, 102, - 121, 1142, 213, 214, 851, 90, 770, 222, 223, 757, - 90, 92, 81, 757, 147, 138, 142, 214, 142, 967, - 105, 144, 770, 90, 315, 105, 770, 1151, 51, 90, - 222, 223, 55, 90, 513, 121, 139, 142, 142, 547, - 121, 90, 121, 241, 90, 142, 558, 121, 117, 793, - 119, 241, 737, 138, 1033, 140, 105, 1036, 269, 144, - 271, 90, 147, 142, 275, 313, 297, 147, 283, 284, - 213, 214, 736, 737, 305, 306, 269, 92, 271, 310, - 147, 15, 16, 1016, 115, 19, 147, 118, 119, 295, - 147, 140, 92, 92, 275, 144, 92, 278, 147, 551, - 1048, 147, 92, 92, 693, 613, 1045, 34, 18, 801, - 20, 278, 305, 90, 144, 146, 251, 148, 147, 53, - 54, 121, 121, 908, 51, 121, 92, 90, 90, 313, - 125, 121, 121, 16, 349, 350, 351, 352, 902, 354, - 355, 210, 397, 142, 90, 92, 142, 402, 912, 294, - 457, 278, 348, 222, 223, 121, 90, 349, 350, 351, - 352, 92, 297, 1142, 908, 376, 62, 378, 64, 65, - 147, 400, 121, 92, 121, 318, 324, 51, 842, 53, - 54, 55, 56, 275, 147, 147, 278, 556, 443, 444, - 121, 60, 92, 399, 63, 69, 55, 18, 51, 777, - 878, 147, 121, 348, 25, 682, 275, 1007, 353, 278, - 55, 142, 806, 1152, 283, 284, 400, 34, 287, 25, - 116, 117, 433, 142, 92, 294, 295, 370, 92, 92, - 142, 92, 115, 302, 51, 118, 119, 435, 107, 805, - 438, 807, 92, 92, 313, 20, 461, 458, 726, 20, - 25, 730, 433, 121, 142, 466, 57, 121, 121, 142, - 121, 459, 138, 146, 475, 148, 119, 502, 142, 1033, - 101, 121, 121, 484, 142, 803, 141, 458, 476, 348, + 25, 15, 16, 15, 16, 19, 217, 19, 122, 142, + 73, 74, 1, 68, 3, 4, 5, 228, 25, 8, + 9, 29, 613, 12, 25, 14, 15, 16, 1046, 1048, + 19, 138, 1142, 57, 51, 549, 55, 90, 387, 525, + 389, 53, 90, 332, 79, 121, 335, 104, 337, 25, + 339, 90, 341, 138, 111, 112, 51, 1133, 121, 122, + 213, 214, 51, 460, 550, 16, 55, 121, 92, 121, + 142, 92, 129, 757, 138, 142, 65, 144, 289, 399, + 144, 16, 213, 214, 851, 102, 770, 222, 223, 967, + 90, 126, 81, 757, 147, 34, 142, 121, 144, 147, + 214, 142, 144, 90, 315, 113, 770, 102, 147, 125, + 222, 223, 51, 757, 513, 90, 90, 142, 105, 547, + 92, 90, 139, 241, 1045, 90, 770, 55, 117, 793, + 119, 241, 737, 1151, 1033, 142, 105, 1036, 269, 60, + 271, 142, 63, 558, 275, 313, 297, 147, 283, 284, + 213, 214, 736, 737, 305, 306, 269, 93, 271, 310, + 147, 15, 16, 1016, 115, 19, 142, 118, 119, 295, + 1048, 140, 147, 147, 275, 144, 92, 278, 147, 551, + 115, 121, 147, 118, 119, 613, 107, 58, 59, 90, + 126, 278, 305, 90, 92, 146, 251, 148, 693, 53, + 54, 121, 142, 908, 25, 121, 92, 142, 90, 313, + 801, 146, 55, 148, 349, 350, 351, 352, 902, 354, + 355, 210, 397, 121, 27, 92, 142, 402, 912, 294, + 457, 1152, 348, 222, 223, 121, 90, 349, 350, 351, + 352, 92, 297, 1142, 908, 376, 147, 378, 92, 142, + 147, 400, 92, 92, 121, 318, 324, 51, 842, 53, + 54, 55, 56, 275, 278, 147, 278, 556, 443, 444, + 121, 20, 92, 399, 20, 69, 25, 121, 51, 777, + 878, 121, 121, 348, 103, 682, 275, 1007, 353, 278, + 667, 142, 806, 670, 283, 284, 400, 62, 287, 64, + 65, 121, 433, 142, 92, 294, 295, 370, 101, 128, + 51, 688, 115, 302, 55, 118, 119, 435, 18, 805, + 438, 807, 142, 840, 313, 25, 461, 458, 726, 846, + 142, 730, 433, 121, 57, 466, 129, 130, 131, 132, + 133, 459, 138, 146, 475, 148, 119, 502, 142, 1033, + 101, 116, 117, 484, 142, 803, 145, 458, 476, 348, 349, 350, 351, 352, 353, 354, 355, 485, 747, 1033, - 145, 521, 1036, 801, 475, 58, 59, 545, 435, 547, + 141, 521, 1036, 801, 475, 58, 59, 545, 435, 547, 837, 512, 513, 484, 373, 397, 843, 844, 587, 837, 402, 522, 521, 121, 26, 843, 844, 794, 1007, 512, - 513, 1130, 459, 521, 1009, 394, 1126, 525, 397, 815, - 399, 400, 623, 402, 139, 821, 55, 504, 549, 476, + 513, 1130, 459, 521, 1009, 394, 1126, 525, 397, 139, + 399, 400, 623, 402, 37, 38, 55, 504, 549, 476, 142, 275, 16, 101, 278, 1009, 924, 925, 485, 101, - 92, 92, 550, 782, 783, 784, 57, 786, 836, 788, - 721, 545, 121, 547, 433, 613, 40, 41, 549, 536, - 121, 1135, 849, 142, 443, 444, 511, 522, 90, 121, - 121, 51, 1146, 1162, 1163, 142, 531, 142, 525, 458, - 51, 460, 461, 105, 142, 606, 37, 38, 1142, 142, - 142, 493, 471, 584, 58, 59, 475, 642, 551, 888, - 479, 17, 18, 550, 1193, 484, 894, 610, 895, 51, - 489, 1200, 1201, 604, 40, 41, 138, 121, 140, 613, + 92, 92, 550, 782, 783, 784, 92, 786, 836, 788, + 721, 545, 57, 547, 433, 613, 40, 41, 549, 536, + 92, 1135, 849, 121, 443, 444, 511, 522, 90, 121, + 121, 121, 1146, 1162, 1163, 121, 531, 142, 525, 458, + 121, 460, 461, 105, 51, 606, 92, 142, 1142, 121, + 142, 493, 471, 584, 17, 18, 475, 642, 551, 888, + 479, 92, 142, 550, 1193, 484, 894, 610, 895, 51, + 489, 1200, 1201, 604, 142, 121, 138, 51, 140, 613, 99, 26, 144, 101, 287, 147, 142, 69, 975, 658, - 15, 115, 295, 13, 118, 119, 121, 975, 667, 302, - 661, 670, 16, 522, 920, 921, 667, 943, 121, 670, - 671, 672, 531, 131, 132, 133, 681, 63, 661, 101, - 102, 103, 146, 15, 148, 139, 545, 688, 547, 965, - 549, 667, 693, 694, 670, 145, 716, 698, 557, 681, - 1, 142, 3, 691, 705, 90, 128, 8, 9, 433, - 715, 691, 688, 14, 15, 16, 145, 716, 19, 986, - 105, 90, 121, 122, 793, 584, 747, 16, 716, 730, - 881, 658, 142, 715, 458, 1103, 105, 142, 721, 1123, - 667, 16, 15, 670, 15, 604, 44, 730, 142, 121, - 51, 475, 141, 138, 613, 140, 399, 90, 803, 686, - 484, 688, 147, 801, 65, 141, 15, 847, 1124, 1045, - 1046, 140, 105, 18, 1050, 141, 777, 27, 147, 736, - 504, 90, 141, 26, 508, 40, 41, 42, 43, 44, - 139, 90, 837, 838, 15, 139, 105, 139, 843, 844, - 141, 1020, 1021, 1022, 1023, 806, 105, 140, 142, 44, - 57, 693, 536, 142, 147, 539, 117, 587, 119, 807, - 142, 591, 681, 682, 142, 549, 115, 801, 471, 118, - 119, 140, 142, 44, 57, 806, 479, 55, 147, 990, - 115, 140, 1118, 118, 119, 996, 489, 90, 147, 90, - 851, 51, 51, 90, 57, 142, 715, 146, 142, 148, - 861, 866, 105, 864, 105, 115, 1134, 802, 118, 119, - 142, 146, 14, 148, 15, 1151, 1152, 93, 15, 1, - 807, 3, 4, 5, 866, 842, 15, 888, 145, 51, - 12, 53, 54, 55, 56, 138, 146, 140, 148, 140, - 142, 144, 142, 142, 147, 888, 147, 69, 142, 210, - 1186, 142, 115, 90, 557, 118, 119, 15, 142, 1138, - 123, 222, 223, 924, 925, 142, 1077, 1078, 105, 51, - 975, 141, 141, 55, 62, 794, 64, 65, 139, 793, - 142, 51, 801, 802, 803, 148, 299, 806, 922, 142, - 303, 37, 38, 927, 61, 142, 55, 64, 65, 81, - 15, 1030, 26, 140, 1033, 139, 139, 1036, 15, 1038, - 147, 15, 115, 15, 275, 118, 119, 278, 837, 838, - 142, 90, 283, 284, 843, 844, 287, 1068, 116, 117, - 849, 850, 142, 294, 295, 126, 105, 119, 1003, 1004, - 126, 302, 55, 146, 863, 148, 1007, 866, 142, 116, - 117, 15, 736, 737, 139, 989, 875, 876, 55, 142, - 15, 1003, 1004, 793, 142, 884, 90, 1178, 142, 115, - 142, 140, 118, 119, 142, 1104, 895, 896, 147, 142, - 90, 105, 90, 1194, 1195, 142, 625, 348, 349, 350, - 351, 352, 353, 354, 355, 105, 15, 105, 142, 1084, - 146, 640, 148, 922, 142, 144, 115, 144, 927, 118, - 119, 90, 373, 1142, 138, 1144, 140, 1146, 1079, 1148, - 144, 115, 806, 147, 118, 119, 105, 141, 210, 15, - 140, 90, 140, 394, 15, 40, 397, 147, 399, 147, - 41, 402, 1103, 142, 115, 522, 105, 118, 119, 142, - 12, 5, 1126, 1182, 90, 1133, 975, 793, 842, 848, - 1050, 140, 1123, 964, 1125, 1126, 985, 986, 147, 105, - 989, 26, 433, 816, 993, 146, 1124, 148, 253, 718, - 1125, 140, 443, 444, 1003, 1004, 1005, 6, 147, 587, - 1030, -1, 1123, -1, 90, 1033, 509, 458, -1, 460, - 461, 1162, 1163, 516, 140, 287, -1, -1, -1, 105, - 471, 147, 294, 295, 475, 528, 1030, -1, 479, 1033, - 302, -1, 1036, 484, 1038, 1190, 1191, 90, 489, -1, - -1, 313, 1193, -1, -1, 90, -1, 1124, -1, 1200, - 1201, -1, 105, -1, 140, -1, -1, 850, 1190, 1191, - 105, 147, 1071, -1, 1073, -1, -1, 1076, -1, -1, - 863, 522, -1, 443, 444, -1, 348, -1, 581, 582, - 531, 353, 875, 876, -1, -1, 815, 140, -1, -1, - -1, 884, 821, 138, 147, 140, -1, -1, 549, 144, - 1104, 373, 147, 896, -1, -1, 557, 477, 478, 612, - 1030, -1, -1, 1033, 1123, -1, 1036, -1, 1038, 1128, + 121, 115, 295, 142, 118, 119, 92, 975, 667, 302, + 661, 670, 13, 522, 115, 15, 667, 118, 119, 670, + 671, 672, 531, 131, 132, 133, 681, 121, 661, 101, + 102, 103, 146, 121, 148, 121, 545, 688, 547, 16, + 549, 115, 693, 694, 118, 119, 716, 698, 557, 681, + 1, 63, 3, 691, 705, 90, 128, 8, 9, 433, + 715, 691, 15, 14, 15, 16, 145, 716, 19, 986, + 105, 90, 40, 41, 793, 584, 747, 16, 716, 730, + 881, 658, 145, 715, 458, 1103, 105, 139, 721, 1123, + 667, 16, 142, 670, 142, 604, 142, 730, 920, 921, + 51, 475, 15, 138, 613, 140, 399, 90, 803, 686, + 484, 688, 147, 801, 65, 121, 122, 847, 1124, 15, + 142, 140, 105, 44, 26, 121, 777, 141, 147, 736, + 504, 141, 15, 18, 508, 26, 141, 141, 15, 141, + 26, 90, 837, 838, 139, 139, 139, 44, 843, 844, + 142, 1020, 1021, 1022, 1023, 806, 105, 140, 57, 57, + 142, 693, 536, 142, 147, 539, 117, 587, 119, 807, + 142, 591, 681, 682, 44, 549, 115, 801, 471, 118, + 119, 142, 55, 51, 51, 806, 479, 26, 90, 990, + 115, 140, 142, 118, 119, 996, 489, 142, 147, 90, + 851, 90, 142, 105, 90, 15, 715, 146, 14, 148, + 861, 866, 93, 864, 105, 15, 1134, 802, 15, 105, + 142, 146, 145, 148, 40, 41, 42, 43, 44, 1, + 807, 3, 4, 5, 866, 842, 138, 888, 140, 142, + 12, 142, 144, 51, 15, 147, 141, 138, 142, 140, + 142, 90, 138, 144, 140, 888, 147, 55, 144, 210, + 142, 147, 141, 90, 557, 139, 105, 142, 15, 1138, + 142, 222, 223, 924, 925, 139, 1077, 1078, 105, 51, + 975, 142, 142, 55, 15, 794, 15, 15, 139, 793, + 142, 126, 801, 802, 803, 90, 299, 806, 922, 138, + 303, 140, 126, 927, 62, 144, 64, 65, 147, 81, + 105, 1030, 55, 140, 1033, 55, 142, 1036, 139, 1038, + 147, 15, 115, 142, 275, 118, 119, 278, 837, 838, + 37, 38, 283, 284, 843, 844, 287, 1068, 90, 142, + 849, 850, 144, 294, 295, 140, 142, 119, 1003, 1004, + 142, 302, 147, 105, 863, 148, 1007, 866, 116, 117, + 142, 142, 736, 737, 142, 989, 875, 876, 142, 90, + 15, 1003, 1004, 793, 90, 884, 142, 1178, 51, 15, + 53, 54, 55, 56, 105, 1104, 895, 896, 140, 105, + 90, 144, 90, 1194, 1195, 147, 69, 348, 349, 350, + 351, 352, 353, 354, 355, 105, 141, 105, 115, 1084, + 142, 118, 119, 922, 814, 142, 15, 15, 927, 140, + 820, 40, 373, 1142, 140, 1144, 147, 1146, 1079, 1148, + 41, 147, 806, 61, 12, 522, 64, 65, 210, 146, + 140, 148, 140, 394, 443, 444, 397, 147, 399, 147, + 115, 402, 1103, 118, 119, 5, 793, 1133, 832, 1126, + 848, 1050, 964, 1182, 815, 1125, 975, 115, 842, 142, + 118, 119, 1123, 253, 1125, 1126, 985, 986, 477, 478, + 989, 146, 433, 148, 993, 6, 1124, 587, 116, 117, + 1030, 1033, 443, 444, 1003, 1004, 1005, -1, 146, -1, + 148, -1, 1123, 90, -1, -1, 509, 458, -1, 460, + 461, 1162, 1163, 516, -1, 287, 90, -1, 105, -1, + 471, -1, 294, 295, 475, 528, 1030, 526, 479, 1033, + 302, 105, 1036, 484, 1038, 1190, 1191, 90, 489, -1, + -1, 313, 1193, 943, -1, -1, 57, 1124, -1, 1200, + 1201, -1, 105, 140, 929, 930, -1, 850, 1190, 1191, + 147, -1, 1071, -1, 1073, 965, 140, 1076, -1, -1, + 863, 522, -1, 147, -1, -1, 348, -1, 581, 582, + 531, 353, 875, 876, 90, -1, -1, 140, -1, -1, + -1, 884, 61, -1, 147, 64, 65, -1, 549, 105, + 1104, 373, -1, 896, 115, -1, 557, 118, 119, 612, + 1030, -1, 123, 1033, 1123, -1, 1036, -1, 1038, 1128, 1129, -1, 394, -1, -1, 215, -1, 399, 400, -1, - 402, 221, -1, 584, -1, 1009, -1, -1, 1142, -1, - 1144, -1, 1146, 51, 1148, 53, 54, 55, 56, 63, - 64, 65, -1, 604, 625, 61, 526, -1, 64, 65, - -1, 69, 63, 64, 65, 63, 64, 65, 258, 640, - -1, 443, 444, 115, -1, -1, 118, 119, 1182, -1, - 1189, 1190, 1191, -1, 1104, -1, 94, 690, 460, 1198, - 1199, -1, 985, 101, 102, 103, -1, -1, -1, 471, - 993, -1, 116, 117, -1, -1, 148, 479, -1, -1, - 116, 117, 1005, 318, 943, 116, 117, 489, 116, 117, - 128, -1, 1142, -1, 1144, -1, 1146, -1, 1148, -1, - 681, 682, -1, -1, -1, 964, 965, -1, -1, -1, - 63, 64, 65, 746, 63, 64, 65, 718, -1, 1123, - 522, 63, 64, 65, 63, 64, 65, -1, 348, 531, - -1, -1, 1182, 766, 715, 370, -1, 34, 35, 36, - -1, -1, 362, 545, -1, 547, 929, 930, 1071, -1, - 1073, -1, -1, 1076, 51, 557, -1, -1, 55, -1, - 380, 58, 59, 116, 117, -1, 63, 116, 117, 1, - -1, 3, 4, 5, 116, 117, -1, 116, 117, -1, - 12, 63, 64, 65, -1, 115, 1045, 1046, 118, 119, - -1, 1050, -1, -1, 91, -1, -1, -1, -1, -1, - 97, 98, -1, 100, -1, 1128, 1129, -1, -1, 106, - -1, 613, 142, 794, 815, -1, 146, -1, 148, 51, - 821, 802, 803, 55, 51, 806, 53, 54, 55, 56, - 127, -1, -1, -1, 116, 117, -1, 134, -1, -1, - -1, -1, 69, -1, 141, -1, -1, -1, -1, 81, - 1033, -1, -1, -1, 887, -1, 837, 838, -1, 1118, + 402, 221, -1, 584, 140, 1009, -1, 148, 1142, -1, + 1144, 147, 1146, -1, 1148, 1045, 1046, 116, 117, -1, + 1050, -1, 51, 604, 53, 54, 55, 56, 1033, -1, + -1, 63, 64, 65, -1, -1, -1, -1, 258, -1, + 69, 443, 444, -1, -1, -1, -1, -1, 1182, -1, + 1189, 1190, 1191, -1, 1104, -1, -1, 690, 460, 1198, + 1199, -1, 985, -1, 115, 94, -1, 118, 119, 471, + 993, -1, 101, 102, 103, -1, -1, 479, -1, -1, + -1, -1, 1005, 318, 116, 117, -1, 489, 1118, -1, + -1, 142, 1142, -1, 1144, 146, 1146, 148, 1148, 128, + 681, 682, 1107, 1108, 1109, -1, 1111, 1112, 63, 64, + 65, 625, 51, 746, 53, 54, 55, 56, -1, 1123, + 522, 1151, 1152, 63, 64, 65, 640, -1, 348, 531, + 69, -1, 1182, 766, 715, 370, 63, 64, 65, -1, + -1, -1, 362, 545, -1, 547, -1, -1, 1071, -1, + 1073, -1, -1, 1076, -1, 557, 1186, -1, -1, -1, + 380, 116, 117, -1, 1169, 1170, 1171, 1172, -1, 1, + -1, 3, 4, 5, -1, -1, 116, 117, -1, -1, + 12, 63, 64, 65, 63, 64, 65, 1192, -1, 116, + 117, 13, 14, 15, -1, 17, 18, -1, 20, 63, + 64, 65, -1, 25, 718, 1128, 1129, -1, 837, 838, + -1, 613, -1, 794, 843, 844, -1, -1, -1, 51, + -1, 802, 803, 55, 51, 806, 53, 54, 55, 56, + 63, 64, 65, -1, 116, 117, -1, 116, 117, -1, + 869, 870, 69, 872, 873, -1, -1, -1, -1, 81, + -1, -1, 116, 117, 887, -1, 837, 838, -1, -1, 480, 481, 843, 844, -1, -1, 1189, 94, 849, 850, - 903, 1130, -1, 100, -1, 1198, 1199, -1, 88, 89, - 682, -1, 863, -1, -1, 866, -1, 119, -1, -1, - -1, 101, 1151, 1152, 875, 876, -1, -1, -1, -1, - -1, -1, -1, 884, -1, 13, 14, 15, -1, 17, - 18, 531, 20, -1, 895, 896, 551, 25, 538, 129, - 130, 131, 132, 133, 1107, 1108, 1109, 1186, 1111, 1112, - -1, 51, -1, 53, 54, 55, 56, 837, 838, -1, - -1, -1, 943, 843, 844, 580, -1, -1, 1, 69, - 3, 4, 5, 51, -1, 53, 54, 55, 56, 12, - -1, -1, 597, 964, 965, 600, -1, -1, -1, 869, - 870, 69, 872, 873, 94, -1, -1, -1, 210, 51, - 100, 53, 54, 55, 56, 101, 1169, 1170, 1171, 1172, - -1, -1, 794, -1, 975, -1, 94, 69, 51, 801, - 802, 803, 55, -1, 985, 986, -1, 115, -1, 1192, - 118, 119, 993, 129, 130, 131, 132, 133, -1, -1, - -1, -1, 1003, 1004, 1005, -1, -1, -1, 81, -1, - -1, 139, -1, -1, -1, 837, -1, 145, 146, -1, - 148, 843, 844, -1, 1045, 1046, -1, 849, 850, 1050, - -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, - 680, 863, 294, 295, -1, -1, 119, 88, 89, -1, - 302, -1, -1, 875, 876, 975, -1, -1, -1, -1, - 101, 313, 884, -1, 51, -1, 53, 54, 55, 56, - 1071, -1, 1073, 895, 896, 1076, -1, -1, 998, -1, - -1, 721, 69, -1, -1, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, 348, 1118, -1, -1, - 922, 353, -1, -1, -1, 927, -1, 94, -1, 1130, - -1, -1, -1, 100, 101, 102, 103, -1, -1, -1, + 903, -1, -1, 100, -1, 1198, 1199, -1, -1, -1, + 682, -1, 863, 116, 117, 866, -1, 119, -1, -1, + -1, -1, -1, 115, 875, 876, 118, 119, -1, 44, + 814, -1, -1, 884, -1, -1, 820, -1, -1, -1, + -1, 531, -1, -1, 895, 896, 551, 139, 538, -1, + -1, -1, -1, 145, 146, -1, 148, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 580, 975, -1, 1, -1, + 3, 4, 5, -1, -1, -1, 101, -1, -1, 12, + -1, -1, 597, -1, -1, 600, -1, -1, -1, 998, + -1, 51, -1, 53, 54, 55, 56, 122, 210, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 69, + -1, 625, 794, -1, 975, 88, 89, 142, 51, 801, + 802, 803, 55, -1, 985, 986, 640, -1, 101, -1, + -1, -1, 993, 51, 94, 53, 54, 55, 56, -1, + 100, -1, 1003, 1004, 1005, -1, -1, -1, 81, 943, + -1, 69, -1, -1, -1, 837, 129, 130, 131, 132, + 133, 843, 844, -1, -1, -1, -1, 849, 850, -1, + 964, 965, -1, -1, -1, 287, 94, -1, -1, -1, + 680, 863, 294, 295, 88, 89, 119, -1, -1, -1, + 302, -1, -1, 875, 876, -1, -1, 101, -1, -1, + -1, 313, 884, -1, 718, -1, -1, -1, -1, -1, + 1071, -1, 1073, 895, 896, 1076, -1, -1, -1, 625, + -1, 721, 126, 127, 128, 129, 130, 131, 132, 133, + 88, 89, -1, -1, 640, -1, 348, -1, -1, -1, + 922, 353, -1, 101, -1, 927, -1, -1, -1, -1, + -1, 1045, 1046, -1, -1, -1, 1050, -1, -1, -1, -1, 373, 1123, -1, -1, -1, -1, 1128, 1129, -1, - 1151, 1152, -1, -1, -1, -1, -1, 210, 793, 779, - -1, 128, 394, -1, 131, -1, -1, 399, 400, -1, - 402, -1, -1, 975, -1, -1, -1, 144, -1, 1, - -1, 3, -1, 985, 986, 1186, -1, 989, -1, -1, - 12, 993, -1, -1, -1, -1, 1, -1, 3, 4, - 5, 6, -1, 1005, -1, -1, -1, 12, 1189, 1190, - 1191, 443, 444, -1, -1, -1, -1, 1198, 1199, -1, - -1, -1, 88, 89, -1, -1, -1, -1, 460, 51, - -1, -1, -1, 853, 287, 101, -1, -1, -1, 471, + 128, 129, 130, 131, 132, 133, -1, 210, 793, 779, + -1, -1, 394, -1, -1, -1, -1, 399, 400, -1, + 402, -1, -1, 975, -1, -1, -1, -1, -1, 1, + 814, 3, -1, 985, 986, -1, 820, 989, -1, -1, + 12, 993, 718, -1, -1, -1, 1, -1, 3, 4, + 5, 6, -1, 1005, 1118, -1, -1, 12, 1189, 1190, + 1191, 443, 444, -1, -1, -1, 1130, 1198, 1199, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 460, 51, + -1, -1, -1, 853, 287, -1, -1, 1151, 1152, 471, -1, 294, 295, -1, -1, -1, 51, 479, -1, 302, - 55, -1, -1, -1, 25, -1, -1, 489, 878, -1, - 313, 881, 128, 129, 130, 131, 132, 133, -1, 1071, - -1, 1073, -1, 908, 1076, 910, 81, -1, -1, 914, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 522, -1, -1, -1, -1, 348, -1, 119, -1, 531, - 353, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 545, 119, 547, -1, 88, 89, -1, - 373, -1, 93, -1, -1, 557, 1128, 1129, -1, -1, - 101, -1, -1, -1, 51, -1, 53, 54, 55, 56, + 55, -1, -1, -1, -1, -1, -1, 489, 878, -1, + 313, 881, -1, -1, -1, -1, -1, -1, -1, 1071, + -1, 1073, 1186, 908, 1076, 910, 81, -1, -1, 914, + -1, -1, -1, -1, -1, -1, -1, -1, 814, -1, + 522, -1, -1, -1, 820, 348, -1, 119, -1, 531, + 353, -1, -1, -1, -1, -1, -1, -1, -1, 943, + -1, -1, -1, 545, 119, 547, -1, -1, -1, -1, + 373, -1, -1, -1, -1, 557, 1128, 1129, -1, -1, + 964, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, 399, 400, -1, 402, - -1, 122, 69, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, - 990, -1, -1, -1, -1, -1, 996, 94, -1, 1014, - 1015, 613, -1, 100, 101, 102, 103, 1189, 210, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 990, -1, -1, -1, -1, -1, 996, -1, -1, 1014, + 1015, 613, -1, -1, -1, -1, -1, 1189, 210, -1, 443, 444, -1, -1, -1, -1, 1198, 1199, 34, 35, 36, 1036, -1, 1038, -1, 210, -1, 460, -1, -1, - -1, 128, -1, -1, 131, 51, -1, -1, 471, 55, - -1, -1, 58, 59, -1, 142, 479, 63, -1, -1, - -1, -1, -1, -1, -1, -1, 489, -1, -1, -1, + -1, 1045, 1046, -1, -1, 51, 1050, 943, 471, 55, + -1, -1, 58, 59, 60, -1, 479, 63, -1, -1, + -1, -1, -1, -1, -1, -1, 489, -1, 964, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 682, -1, -1, -1, -1, 91, 1091, 1077, 1078, 1094, - -1, 97, 98, -1, 100, 287, 102, -1, -1, 522, - 106, -1, 294, 295, -1, -1, -1, -1, 531, -1, - 302, -1, 287, -1, -1, -1, -1, -1, -1, 294, - 295, 127, 545, -1, 547, -1, -1, 302, 134, -1, - -1, -1, 1137, -1, 557, -1, -1, 1142, 313, 1144, - -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 348, -1, -1, -1, + -1, 97, 98, -1, 100, 287, -1, -1, -1, 522, + 106, 107, 294, 295, -1, -1, -1, -1, 531, -1, + 302, -1, 287, -1, 1118, -1, -1, -1, -1, 294, + 295, 127, 545, -1, 547, -1, 1130, 302, 134, -1, + -1, -1, 1137, -1, 557, 141, -1, 1142, 313, 1144, + -1, -1, -1, 1148, -1, -1, -1, 1151, 1152, 1045, + 1046, -1, -1, -1, 1050, -1, 348, -1, -1, -1, -1, 353, -1, -1, -1, -1, 51, -1, 53, 54, 55, 56, -1, 348, -1, -1, -1, 1182, 353, -1, - -1, 373, -1, -1, 69, -1, -1, -1, 1178, -1, + -1, 373, 1186, -1, 69, -1, -1, -1, 1178, -1, 613, -1, 794, -1, -1, -1, -1, -1, 373, 801, 802, 803, 394, -1, 1194, 1195, -1, 399, -1, 94, 402, -1, -1, -1, -1, 100, 101, 102, 103, 394, - -1, -1, -1, -1, 399, 400, 51, -1, 53, 54, - 55, 56, -1, -1, -1, 837, -1, -1, -1, -1, + -1, -1, 1118, -1, 399, 400, 51, -1, 53, 54, + 55, 56, -1, -1, 1130, 837, -1, -1, -1, -1, -1, 843, 844, 128, 69, -1, 131, 849, 850, -1, - -1, 443, 444, -1, -1, -1, -1, -1, 83, 682, + -1, 443, 444, -1, -1, 1151, 1152, 142, 83, 682, -1, 863, -1, -1, -1, -1, -1, -1, 460, 94, -1, -1, -1, 875, 876, 100, 101, 102, 103, 471, - -1, -1, 884, -1, -1, 460, -1, 479, 34, 35, - 36, -1, -1, 895, 896, -1, 471, 489, -1, -1, - -1, -1, -1, 128, 479, 51, 131, -1, -1, 55, - -1, -1, 58, 59, 489, -1, -1, 63, -1, 144, - 922, -1, -1, -1, -1, 927, -1, -1, -1, -1, + -1, -1, 884, -1, -1, 460, -1, 479, -1, -1, + 1186, -1, -1, 895, 896, -1, 471, 489, -1, -1, + -1, -1, -1, 128, 479, -1, 131, -1, 51, -1, + 53, 54, 55, 56, 489, -1, -1, -1, -1, 144, + 922, -1, -1, -1, -1, 927, 69, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, 531, - -1, -1, -1, -1, -1, 91, -1, 522, -1, -1, - -1, 97, 98, -1, 100, -1, 531, -1, -1, -1, - 106, -1, -1, -1, -1, 557, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, + -1, 94, -1, -1, -1, -1, 531, 100, 101, 102, + 103, -1, -1, -1, -1, 557, -1, -1, -1, -1, 545, 794, 547, 975, -1, -1, -1, -1, 801, 802, - 803, 127, 557, 985, 986, -1, -1, 989, 134, -1, - -1, 993, -1, -1, 34, 35, 36, -1, -1, -1, - -1, -1, -1, 1005, -1, -1, -1, -1, -1, -1, - -1, 51, -1, -1, 837, 55, -1, -1, 58, 59, - 843, 844, -1, 63, -1, -1, 849, 850, -1, -1, - 1, -1, 3, -1, -1, -1, -1, -1, 613, -1, - 863, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, 875, 876, -1, -1, -1, 97, 98, -1, - -1, 884, -1, -1, -1, -1, 106, -1, -1, 1071, - -1, 1073, 895, 896, 1076, -1, -1, -1, -1, -1, - 51, -1, -1, -1, -1, -1, -1, 127, -1, -1, - 682, -1, -1, -1, 134, -1, -1, -1, -1, 922, - -1, -1, -1, -1, 927, -1, -1, 682, -1, -1, - -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1128, 1129, -1, 13, - 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, - -1, 25, 26, 27, -1, -1, -1, -1, 119, -1, + 803, -1, 557, 985, 986, 128, -1, 989, 131, -1, + -1, 993, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 144, -1, 1005, -1, -1, -1, 51, -1, 53, + 54, 55, 56, -1, 837, -1, -1, -1, -1, -1, + 843, 844, 34, 35, 36, 69, 849, 850, -1, -1, + 1, -1, 3, -1, -1, -1, -1, -1, 613, 51, + 863, 85, -1, 55, -1, -1, 58, 59, 60, -1, + 94, 63, 875, 876, -1, -1, 100, 101, 102, 103, + 51, 884, 53, 54, 55, 56, -1, -1, -1, 1071, + -1, 1073, 895, 896, 1076, -1, -1, -1, 69, 91, + 51, -1, -1, -1, 128, 97, 98, 131, 100, -1, + 682, -1, -1, -1, 106, 107, -1, -1, -1, 922, + -1, -1, -1, 94, 927, -1, -1, 682, -1, 100, + 101, 102, 103, -1, -1, 127, 0, -1, -1, -1, + -1, -1, 134, -1, -1, -1, 1128, 1129, -1, 13, + 14, 15, 16, 17, 18, -1, 20, 128, -1, -1, + 131, 25, 26, 27, -1, -1, -1, -1, 119, -1, -1, -1, 975, 37, 38, -1, 40, 41, 42, 43, 44, -1, 985, 986, -1, -1, 989, -1, -1, -1, 993, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5159,40 +5165,40 @@ static const yytype_int16 yycheck[] = 875, 876, -1, 895, 896, 1128, 1129, -1, -1, 884, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, 895, 896, -1, 294, 295, -1, 46, 47, 48, 49, - -1, 302, -1, 53, 54, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, 922, -1, -1, - -1, -1, 927, -1, -1, 51, -1, 53, 54, 55, - 56, -1, -1, -1, -1, -1, 1189, -1, -1, -1, - -1, -1, -1, 69, -1, 1198, 1199, 348, -1, -1, - -1, -1, 353, 975, -1, -1, -1, 83, -1, -1, + -1, 302, -1, 53, 54, 51, -1, 53, 54, 55, + 56, -1, -1, -1, -1, 65, 66, 922, -1, -1, + -1, -1, 927, 69, -1, 51, -1, 53, 54, 55, + 56, -1, -1, -1, -1, -1, 1189, -1, -1, 85, + -1, -1, -1, 69, -1, 1198, 1199, 348, 94, -1, + -1, -1, 353, 975, 100, 101, 102, 103, -1, 85, -1, -1, -1, 985, 986, -1, -1, 989, 94, -1, -1, 993, 373, -1, 100, 101, 102, 103, -1, -1, - 985, 986, -1, 1005, 989, -1, -1, -1, 993, -1, - -1, -1, -1, 394, -1, 121, -1, -1, 399, -1, - 1005, 402, 128, -1, -1, 131, -1, -1, -1, -1, - -1, -1, 51, -1, 53, 54, 55, 56, 144, -1, + 985, 986, 128, 1005, 989, 131, -1, -1, 993, 34, + 35, 36, -1, 394, -1, -1, -1, -1, 399, -1, + 1005, 402, 128, -1, -1, 131, 51, -1, -1, -1, + 55, -1, -1, 58, 59, 60, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 443, 444, -1, -1, 85, -1, -1, 1071, - -1, 1073, -1, -1, 1076, 94, -1, -1, -1, 460, - -1, 100, 101, 102, 103, 44, 1071, -1, 1073, -1, - 471, 1076, -1, -1, -1, -1, -1, -1, 479, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 489, 128, - -1, -1, 131, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, 1128, 1129, -1, 88, - 89, 261, 262, 263, 264, -1, -1, -1, -1, -1, - -1, 522, 101, 1128, 1129, 275, -1, -1, 278, -1, - 531, -1, -1, -1, -1, -1, -1, 51, -1, 53, - 54, 55, 56, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 69, 557, 51, -1, 53, - 54, 55, 56, 142, -1, -1, -1, 1189, -1, -1, - -1, 85, -1, -1, -1, 69, 1198, 1199, -1, -1, - 94, -1, -1, -1, 1189, -1, 100, 101, 102, 103, - -1, 85, -1, 1198, 1199, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, 100, 101, 102, 103, - -1, -1, -1, -1, 128, -1, -1, 131, -1, -1, - -1, -1, -1, -1, 374, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 128, 385, -1, 131, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 443, 444, -1, -1, 91, -1, -1, 1071, + -1, 1073, 97, 98, 1076, 100, -1, 102, -1, 460, + -1, 106, 107, -1, -1, -1, 1071, -1, 1073, -1, + 471, 1076, -1, -1, -1, 34, 35, 36, 479, -1, + -1, -1, 127, -1, -1, -1, -1, -1, 489, 134, + -1, -1, 51, -1, -1, -1, 55, -1, -1, 58, + 59, 60, -1, -1, 63, -1, 1128, 1129, -1, -1, + -1, 261, 262, 263, 264, -1, -1, -1, -1, -1, + -1, 522, -1, 1128, 1129, 275, -1, -1, 278, -1, + 531, -1, 91, -1, -1, -1, -1, -1, 97, 98, + 51, -1, 53, 54, 55, 56, -1, 106, 107, -1, + -1, -1, -1, -1, -1, -1, 557, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, 1189, 127, -1, + -1, -1, 83, -1, -1, 134, 1198, 1199, -1, -1, + -1, -1, -1, 94, 1189, -1, -1, -1, -1, 100, + 101, 102, 103, 1198, 1199, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 121, -1, -1, -1, -1, -1, -1, 128, -1, -1, + 131, -1, -1, -1, 374, -1, -1, -1, -1, -1, + -1, -1, -1, 144, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 397, -1, -1, -1, -1, 402, -1, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, -1, 419, @@ -5230,7 +5236,7 @@ static const yytype_int16 yycheck[] = 90, -1, -1, 93, 985, 986, 736, 737, -1, 99, -1, 101, 993, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, 1005, 115, -1, -1, 118, 119, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, + 25, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, 798, -1, @@ -6244,19 +6250,25 @@ static const yytype_int16 yycheck[] = 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, 101, -1, -1, - -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133 + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, 101, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -6344,9 +6356,9 @@ static const yytype_int16 yystos[] = 311, 316, 323, 325, 318, 320, 325, 51, 318, 174, 191, 15, 79, 126, 233, 235, 347, 191, 202, 342, 180, 142, 44, 121, 44, 90, 140, 338, 34, 35, - 36, 51, 55, 63, 91, 97, 98, 100, 102, 127, - 254, 255, 257, 258, 259, 260, 263, 264, 265, 267, - 268, 269, 270, 290, 294, 254, 341, 92, 92, 194, + 36, 51, 55, 91, 97, 98, 100, 102, 127, 254, + 255, 257, 258, 259, 260, 263, 264, 265, 267, 268, + 269, 270, 276, 290, 294, 254, 341, 92, 92, 194, 199, 141, 202, 92, 92, 195, 199, 195, 199, 233, 233, 172, 344, 169, 156, 141, 15, 342, 185, 191, 204, 272, 347, 18, 226, 347, 17, 225, 226, 92, @@ -7200,7 +7212,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7204 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7216 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7418,7 +7430,7 @@ yyreduce: p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7434 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ @@ -7426,7 +7438,7 @@ yyreduce: { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7442 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ @@ -7434,7 +7446,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 7438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7450 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ @@ -7442,7 +7454,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7458 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ @@ -7450,7 +7462,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7466 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ @@ -7458,7 +7470,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7474 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ @@ -7466,7 +7478,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7482 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ @@ -7475,7 +7487,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7491 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ @@ -7486,7 +7498,7 @@ yyreduce: nvars_unnest(p); (yyval.nd) = 0; } -#line 7490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ @@ -7511,7 +7523,7 @@ yyreduce: } } } -#line 7515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7527 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ @@ -7519,7 +7531,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 7523 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7535 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ @@ -7527,7 +7539,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ @@ -7535,7 +7547,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7539 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7551 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ @@ -7543,7 +7555,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7547 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7559 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ @@ -7551,13 +7563,13 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7567 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ #line 2281 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7573 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ @@ -7565,7 +7577,7 @@ yyreduce: { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 7569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7581 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ @@ -7573,7 +7585,7 @@ yyreduce: { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 7577 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7589 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ @@ -7581,7 +7593,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 7585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ @@ -7589,7 +7601,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 7593 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7605 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ @@ -7602,7 +7614,7 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7618 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ @@ -7615,7 +7627,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ @@ -7623,7 +7635,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7639 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ @@ -7632,7 +7644,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 7636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7648 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ @@ -7640,7 +7652,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ @@ -7648,7 +7660,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7664 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ @@ -7656,7 +7668,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ @@ -7664,7 +7676,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 33: /* command_asgn: lhs '=' command_rhs */ @@ -7672,7 +7684,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7688 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: var_lhs tOP_ASGN command_rhs */ @@ -7680,7 +7692,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ @@ -7688,7 +7700,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ @@ -7696,7 +7708,7 @@ yyreduce: { (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 7700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7712 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ @@ -7704,7 +7716,7 @@ yyreduce: { (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 7708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7720 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ @@ -7713,7 +7725,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 7717 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ @@ -7721,7 +7733,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ @@ -7734,7 +7746,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7750 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -7747,7 +7759,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7763 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ @@ -7760,7 +7772,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7764 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7776 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -7773,7 +7785,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7777 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7789 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: backref tOP_ASGN command_rhs */ @@ -7782,7 +7794,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 7786 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7798 "mrbgems/mruby-compiler/core/y.tab.c" break; case 46: /* command_rhs: command_call "'rescue' modifier" stmt */ @@ -7790,7 +7802,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7794 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7806 "mrbgems/mruby-compiler/core/y.tab.c" break; case 49: /* expr: expr "'and'" expr */ @@ -7798,7 +7810,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7802 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7814 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'or'" expr */ @@ -7806,7 +7818,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7810 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7822 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: "'not'" opt_nl expr */ @@ -7814,7 +7826,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7818 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: '!' command_call */ @@ -7822,13 +7834,13 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7826 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7838 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* $@4: %empty */ #line 2441 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 7832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7844 "mrbgems/mruby-compiler/core/y.tab.c" break; case 54: /* expr: arg "=>" $@4 p_expr */ @@ -7838,13 +7850,13 @@ yyreduce: p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), TRUE); } -#line 7842 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7854 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* $@5: %empty */ #line 2447 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 7848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7860 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* expr: arg "'in'" $@5 p_expr */ @@ -7854,7 +7866,7 @@ yyreduce: p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), FALSE); } -#line 7858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7870 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* defn_head: "'def'" fname */ @@ -7865,7 +7877,7 @@ yyreduce: p->in_def++; nvars_block(p); } -#line 7869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7881 "mrbgems/mruby-compiler/core/y.tab.c" break; case 59: /* $@6: %empty */ @@ -7873,7 +7885,7 @@ yyreduce: { p->lstate = EXPR_FNAME; } -#line 7877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 60: /* defs_head: "'def'" singleton dot_or_colon $@6 fname */ @@ -7886,7 +7898,7 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 7890 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7902 "mrbgems/mruby-compiler/core/y.tab.c" break; case 61: /* expr_value: expr */ @@ -7897,7 +7909,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); } } -#line 7901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7913 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* block_command: block_call call_op2 operation2 command_args */ @@ -7905,7 +7917,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 7909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7921 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* $@7: %empty */ @@ -7914,7 +7926,7 @@ yyreduce: local_nest(p); nvars_nest(p); } -#line 7918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* cmd_brace_block: "{" $@7 opt_block_param compstmt '}' */ @@ -7924,7 +7936,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 7928 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: operation command_args */ @@ -7932,7 +7944,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7936 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: operation command_args cmd_brace_block */ @@ -7941,7 +7953,7 @@ yyreduce: args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 7945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value call_op operation2 command_args */ @@ -7949,7 +7961,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 7953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7965 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: primary_value call_op operation2 command_args cmd_brace_block */ @@ -7958,7 +7970,7 @@ yyreduce: 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 7962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7974 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: primary_value "::" operation2 command_args */ @@ -7966,7 +7978,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 7970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7982 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: primary_value "::" operation2 command_args cmd_brace_block */ @@ -7975,7 +7987,7 @@ yyreduce: 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 7979 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'super'" command_args */ @@ -7983,7 +7995,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 7987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'yield'" command_args */ @@ -7991,7 +8003,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 7995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8007 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* command: "'return'" call_args */ @@ -7999,7 +8011,7 @@ yyreduce: { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8015 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* command: "'break'" call_args */ @@ -8007,7 +8019,7 @@ yyreduce: { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8011 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 78: /* command: "'next'" call_args */ @@ -8015,7 +8027,7 @@ yyreduce: { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8019 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8031 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs: mlhs_basic */ @@ -8023,7 +8035,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 8027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8039 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs: tLPAREN mlhs_inner rparen */ @@ -8031,7 +8043,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_inner: tLPAREN mlhs_inner rparen */ @@ -8039,7 +8051,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8055 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list */ @@ -8047,7 +8059,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8063 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list mlhs_item */ @@ -8055,7 +8067,7 @@ yyreduce: { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8071 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" mlhs_node */ @@ -8063,7 +8075,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8079 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ @@ -8071,7 +8083,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8087 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: mlhs_list "*" */ @@ -8079,7 +8091,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8095 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ @@ -8087,7 +8099,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8103 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: /* mlhs_basic: "*" mlhs_node */ @@ -8095,7 +8107,7 @@ yyreduce: { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8111 "mrbgems/mruby-compiler/core/y.tab.c" break; case 90: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ @@ -8103,7 +8115,7 @@ yyreduce: { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8119 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: /* mlhs_basic: "*" */ @@ -8111,7 +8123,7 @@ yyreduce: { (yyval.nd) = list2(0, new_nil(p)); } -#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8127 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: /* mlhs_basic: "*" ',' mlhs_post */ @@ -8119,7 +8131,7 @@ yyreduce: { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 8123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8135 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: /* mlhs_item: tLPAREN mlhs_inner rparen */ @@ -8127,7 +8139,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: /* mlhs_list: mlhs_item ',' */ @@ -8135,7 +8147,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 8139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8151 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: /* mlhs_list: mlhs_list mlhs_item ',' */ @@ -8143,7 +8155,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: /* mlhs_post: mlhs_item */ @@ -8151,7 +8163,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: /* mlhs_post: mlhs_list mlhs_item */ @@ -8159,7 +8171,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8175 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: /* mlhs_node: variable */ @@ -8167,7 +8179,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8183 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: /* mlhs_node: primary_value '[' opt_call_args ']' */ @@ -8175,7 +8187,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8179 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8191 "mrbgems/mruby-compiler/core/y.tab.c" break; case 101: /* mlhs_node: primary_value call_op "local variable or method" */ @@ -8183,7 +8195,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8199 "mrbgems/mruby-compiler/core/y.tab.c" break; case 102: /* mlhs_node: primary_value "::" "local variable or method" */ @@ -8191,7 +8203,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8195 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8207 "mrbgems/mruby-compiler/core/y.tab.c" break; case 103: /* mlhs_node: primary_value call_op "constant" */ @@ -8199,7 +8211,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8203 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8215 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: /* mlhs_node: primary_value "::" "constant" */ @@ -8209,7 +8221,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8213 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8225 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: /* mlhs_node: tCOLON3 "constant" */ @@ -8219,7 +8231,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8235 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: /* mlhs_node: backref */ @@ -8228,7 +8240,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8244 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: /* lhs: variable */ @@ -8236,7 +8248,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8252 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: /* lhs: primary_value '[' opt_call_args ']' */ @@ -8244,7 +8256,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8260 "mrbgems/mruby-compiler/core/y.tab.c" break; case 109: /* lhs: primary_value call_op "local variable or method" */ @@ -8252,7 +8264,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8268 "mrbgems/mruby-compiler/core/y.tab.c" break; case 110: /* lhs: primary_value "::" "local variable or method" */ @@ -8260,7 +8272,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: /* lhs: primary_value call_op "constant" */ @@ -8268,7 +8280,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8284 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: primary_value "::" "constant" */ @@ -8278,7 +8290,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8294 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* lhs: tCOLON3 "constant" */ @@ -8288,7 +8300,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8304 "mrbgems/mruby-compiler/core/y.tab.c" break; case 114: /* lhs: backref */ @@ -8297,7 +8309,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8313 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* lhs: "numbered parameter" */ @@ -8305,7 +8317,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8321 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cname: "local variable or method" */ @@ -8313,7 +8325,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8329 "mrbgems/mruby-compiler/core/y.tab.c" break; case 118: /* cpath: tCOLON3 cname */ @@ -8321,7 +8333,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8337 "mrbgems/mruby-compiler/core/y.tab.c" break; case 119: /* cpath: cname */ @@ -8329,7 +8341,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" break; case 120: /* cpath: primary_value "::" cname */ @@ -8338,7 +8350,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8342 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8354 "mrbgems/mruby-compiler/core/y.tab.c" break; case 124: /* fname: op */ @@ -8347,7 +8359,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8363 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* fname: reswords */ @@ -8356,7 +8368,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8372 "mrbgems/mruby-compiler/core/y.tab.c" break; case 128: /* undef_list: fsym */ @@ -8364,13 +8376,13 @@ yyreduce: { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 129: /* $@8: %empty */ #line 2777 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8386 "mrbgems/mruby-compiler/core/y.tab.c" break; case 130: /* undef_list: undef_list ',' $@8 fsym */ @@ -8378,187 +8390,187 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } -#line 8382 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8394 "mrbgems/mruby-compiler/core/y.tab.c" break; case 131: /* op: '|' */ #line 2783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(or); } -#line 8388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8400 "mrbgems/mruby-compiler/core/y.tab.c" break; case 132: /* op: '^' */ #line 2784 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(xor); } -#line 8394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8406 "mrbgems/mruby-compiler/core/y.tab.c" break; case 133: /* op: '&' */ #line 2785 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 8400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8412 "mrbgems/mruby-compiler/core/y.tab.c" break; case 134: /* op: "<=>" */ #line 2786 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(cmp); } -#line 8406 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8418 "mrbgems/mruby-compiler/core/y.tab.c" break; case 135: /* op: "==" */ #line 2787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eq); } -#line 8412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8424 "mrbgems/mruby-compiler/core/y.tab.c" break; case 136: /* op: "===" */ #line 2788 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eqq); } -#line 8418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8430 "mrbgems/mruby-compiler/core/y.tab.c" break; case 137: /* op: "=~" */ #line 2789 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(match); } -#line 8424 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8436 "mrbgems/mruby-compiler/core/y.tab.c" break; case 138: /* op: "!~" */ #line 2790 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(nmatch); } -#line 8430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8442 "mrbgems/mruby-compiler/core/y.tab.c" break; case 139: /* op: '>' */ #line 2791 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(gt); } -#line 8436 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8448 "mrbgems/mruby-compiler/core/y.tab.c" break; case 140: /* op: ">=" */ #line 2792 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(ge); } -#line 8442 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8454 "mrbgems/mruby-compiler/core/y.tab.c" break; case 141: /* op: '<' */ #line 2793 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lt); } -#line 8448 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8460 "mrbgems/mruby-compiler/core/y.tab.c" break; case 142: /* op: "<=" */ #line 2794 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(le); } -#line 8454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8466 "mrbgems/mruby-compiler/core/y.tab.c" break; case 143: /* op: "!=" */ #line 2795 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neq); } -#line 8460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8472 "mrbgems/mruby-compiler/core/y.tab.c" break; case 144: /* op: "<<" */ #line 2796 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lshift); } -#line 8466 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8478 "mrbgems/mruby-compiler/core/y.tab.c" break; case 145: /* op: ">>" */ #line 2797 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(rshift); } -#line 8472 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" break; case 146: /* op: '+' */ #line 2798 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(add); } -#line 8478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8490 "mrbgems/mruby-compiler/core/y.tab.c" break; case 147: /* op: '-' */ #line 2799 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(sub); } -#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8496 "mrbgems/mruby-compiler/core/y.tab.c" break; case 148: /* op: '*' */ #line 2800 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 149: /* op: "*" */ #line 2801 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8496 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8508 "mrbgems/mruby-compiler/core/y.tab.c" break; case 150: /* op: '/' */ #line 2802 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(div); } -#line 8502 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8514 "mrbgems/mruby-compiler/core/y.tab.c" break; case 151: /* op: '%' */ #line 2803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mod); } -#line 8508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8520 "mrbgems/mruby-compiler/core/y.tab.c" break; case 152: /* op: tPOW */ #line 2804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8514 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" break; case 153: /* op: "**" */ #line 2805 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8520 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8532 "mrbgems/mruby-compiler/core/y.tab.c" break; case 154: /* op: '!' */ #line 2806 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(not); } -#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8538 "mrbgems/mruby-compiler/core/y.tab.c" break; case 155: /* op: '~' */ #line 2807 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neg); } -#line 8532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8544 "mrbgems/mruby-compiler/core/y.tab.c" break; case 156: /* op: "unary plus" */ #line 2808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(plus); } -#line 8538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8550 "mrbgems/mruby-compiler/core/y.tab.c" break; case 157: /* op: "unary minus" */ #line 2809 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(minus); } -#line 8544 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8556 "mrbgems/mruby-compiler/core/y.tab.c" break; case 158: /* op: tAREF */ #line 2810 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aref); } -#line 8550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8562 "mrbgems/mruby-compiler/core/y.tab.c" break; case 159: /* op: tASET */ #line 2811 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aset); } -#line 8556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 160: /* op: '`' */ #line 2812 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(tick); } -#line 8562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: /* arg: lhs '=' arg_rhs */ @@ -8566,7 +8578,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8582 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: /* arg: var_lhs tOP_ASGN arg_rhs */ @@ -8574,7 +8586,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8578 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8590 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ @@ -8582,7 +8594,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8598 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ @@ -8590,7 +8602,7 @@ yyreduce: { (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 8594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ @@ -8598,7 +8610,7 @@ yyreduce: { (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 8602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8614 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ @@ -8606,7 +8618,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8610 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ @@ -8615,7 +8627,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ @@ -8624,7 +8636,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8640 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: backref tOP_ASGN arg_rhs */ @@ -8633,7 +8645,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8637 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8649 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg ".." arg */ @@ -8641,7 +8653,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8645 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8657 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg ".." */ @@ -8649,7 +8661,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8653 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8665 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT2 arg */ @@ -8657,7 +8669,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 8661 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8673 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg "..." arg */ @@ -8665,7 +8677,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg "..." */ @@ -8673,7 +8685,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8677 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: tBDOT3 arg */ @@ -8681,7 +8693,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 8685 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '+' arg */ @@ -8689,7 +8701,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 8693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '-' arg */ @@ -8697,7 +8709,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 8701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg '*' arg */ @@ -8705,7 +8717,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 8709 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: arg '/' arg */ @@ -8713,7 +8725,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 8717 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: arg '%' arg */ @@ -8721,7 +8733,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 8725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: arg tPOW arg */ @@ -8729,7 +8741,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 8733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8745 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ @@ -8737,7 +8749,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8753 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: tUMINUS_NUM "float literal" tPOW arg */ @@ -8745,7 +8757,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8761 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: "unary plus" arg */ @@ -8753,7 +8765,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8769 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: "unary minus" arg */ @@ -8761,7 +8773,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 8765 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8777 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg '|' arg */ @@ -8769,7 +8781,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 8773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8785 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '^' arg */ @@ -8777,7 +8789,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 8781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8793 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg '&' arg */ @@ -8785,7 +8797,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 8789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8801 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg "<=>" arg */ @@ -8793,7 +8805,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 8797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8809 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg '>' arg */ @@ -8801,7 +8813,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 8805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8817 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg ">=" arg */ @@ -8809,7 +8821,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 8813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8825 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg '<' arg */ @@ -8817,7 +8829,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 8821 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8833 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "<=" arg */ @@ -8825,7 +8837,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 8829 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8841 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "==" arg */ @@ -8833,7 +8845,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 8837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8849 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "===" arg */ @@ -8841,7 +8853,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 8845 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8857 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: arg "!=" arg */ @@ -8849,7 +8861,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 8853 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8865 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: arg "=~" arg */ @@ -8857,7 +8869,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 8861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8873 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "!~" arg */ @@ -8865,7 +8877,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 8869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8881 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: '!' arg */ @@ -8873,7 +8885,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: '~' arg */ @@ -8881,7 +8893,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 8885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "<<" arg */ @@ -8889,7 +8901,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 8893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8905 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg ">>" arg */ @@ -8897,7 +8909,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 8901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8913 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg "&&" arg */ @@ -8905,7 +8917,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: arg "||" arg */ @@ -8913,7 +8925,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8929 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: arg '?' arg opt_nl ':' arg */ @@ -8921,7 +8933,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8937 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: arg '?' arg opt_nl "label" arg */ @@ -8929,7 +8941,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defn_head f_opt_arglist_paren '=' arg */ @@ -8942,7 +8954,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8958 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -8955,7 +8967,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8959 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8971 "mrbgems/mruby-compiler/core/y.tab.c" break; case 249: /* arg: defs_head f_opt_arglist_paren '=' arg */ @@ -8968,7 +8980,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8984 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -8981,7 +8993,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8997 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* arg: primary */ @@ -8989,7 +9001,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 8993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9005 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* aref_args: args trailer */ @@ -8997,7 +9009,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* aref_args: args comma assocs trailer */ @@ -9005,7 +9017,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9021 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* aref_args: assocs trailer */ @@ -9013,7 +9025,7 @@ yyreduce: { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9029 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* arg_rhs: arg */ @@ -9021,7 +9033,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9037 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* arg_rhs: arg "'rescue' modifier" arg */ @@ -9030,7 +9042,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9034 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 258: /* paren_args: '(' opt_call_args ')' */ @@ -9038,7 +9050,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9054 "mrbgems/mruby-compiler/core/y.tab.c" break; case 259: /* paren_args: '(' args comma tBDOT3 rparen */ @@ -9051,7 +9063,7 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9055 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9067 "mrbgems/mruby-compiler/core/y.tab.c" break; case 260: /* paren_args: '(' tBDOT3 rparen */ @@ -9070,7 +9082,7 @@ yyreduce: (yyval.nd) = 0; } } -#line 9074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9086 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: /* opt_call_args: args comma */ @@ -9078,7 +9090,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9082 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9094 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: /* opt_call_args: args comma assocs comma */ @@ -9086,7 +9098,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9102 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: /* opt_call_args: assocs comma */ @@ -9094,7 +9106,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9110 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: /* call_args: command */ @@ -9103,7 +9115,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9119 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: /* call_args: args opt_block_arg */ @@ -9111,7 +9123,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9127 "mrbgems/mruby-compiler/core/y.tab.c" break; case 270: /* call_args: assocs opt_block_arg */ @@ -9119,7 +9131,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9135 "mrbgems/mruby-compiler/core/y.tab.c" break; case 271: /* call_args: args comma assocs opt_block_arg */ @@ -9127,7 +9139,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: /* call_args: block_arg */ @@ -9135,7 +9147,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9151 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: /* @9: %empty */ @@ -9144,7 +9156,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9148 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: /* command_args: @9 call_args */ @@ -9153,7 +9165,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: /* block_arg: "&" arg */ @@ -9161,7 +9173,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9177 "mrbgems/mruby-compiler/core/y.tab.c" break; case 276: /* block_arg: "&" */ @@ -9169,7 +9181,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, 0); } -#line 9173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9185 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: /* opt_block_arg: comma block_arg */ @@ -9177,7 +9189,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9193 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: /* opt_block_arg: none */ @@ -9185,7 +9197,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: /* args: arg */ @@ -9194,7 +9206,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9210 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: /* args: "*" */ @@ -9202,7 +9214,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9218 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: /* args: "*" arg */ @@ -9210,7 +9222,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: /* args: args comma arg */ @@ -9219,7 +9231,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9235 "mrbgems/mruby-compiler/core/y.tab.c" break; case 284: /* args: args comma "*" */ @@ -9227,7 +9239,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9231 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 285: /* args: args comma "*" arg */ @@ -9235,7 +9247,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 286: /* mrhs: args comma arg */ @@ -9244,7 +9256,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9260 "mrbgems/mruby-compiler/core/y.tab.c" break; case 287: /* mrhs: args comma "*" arg */ @@ -9252,7 +9264,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9268 "mrbgems/mruby-compiler/core/y.tab.c" break; case 288: /* mrhs: "*" arg */ @@ -9260,7 +9272,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 290: /* primary: string */ @@ -9268,7 +9280,7 @@ yyreduce: { (yyval.nd) = new_str(p, (yyvsp[0].nd)); } -#line 9272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" break; case 291: /* primary: xstring */ @@ -9276,7 +9288,7 @@ yyreduce: { (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); } -#line 9280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: /* primary: "method" */ @@ -9284,7 +9296,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 9288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9300 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: /* @10: %empty */ @@ -9293,7 +9305,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: /* primary: "'begin'" @10 bodystmt "'end'" */ @@ -9302,7 +9314,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); } -#line 9306 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9318 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: /* @11: %empty */ @@ -9311,13 +9323,13 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9315 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9327 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* $@12: %empty */ #line 3267 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9321 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: "(" @11 compstmt $@12 rparen */ @@ -9326,13 +9338,13 @@ yyreduce: p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 9330 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9342 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* $@13: %empty */ #line 3272 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9348 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: "(" $@13 rparen */ @@ -9340,7 +9352,7 @@ yyreduce: { (yyval.nd) = new_nil(p); } -#line 9344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9356 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: tLPAREN compstmt ')' */ @@ -9348,7 +9360,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9364 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: primary_value "::" "constant" */ @@ -9356,7 +9368,7 @@ yyreduce: { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9372 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: tCOLON3 "constant" */ @@ -9364,7 +9376,7 @@ yyreduce: { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "[" aref_args ']' */ @@ -9372,7 +9384,7 @@ yyreduce: { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9388 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: tLBRACE assoc_list '}' */ @@ -9380,7 +9392,7 @@ yyreduce: { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9396 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'return'" */ @@ -9388,7 +9400,7 @@ yyreduce: { (yyval.nd) = new_return(p, 0); } -#line 9392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9404 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: "'yield'" opt_paren_args */ @@ -9396,7 +9408,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9412 "mrbgems/mruby-compiler/core/y.tab.c" break; case 311: /* primary: "'not'" '(' expr rparen */ @@ -9404,7 +9416,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9408 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9420 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: "'not'" '(' rparen */ @@ -9412,7 +9424,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9416 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9428 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* primary: operation brace_block */ @@ -9420,7 +9432,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9424 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9436 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: method_call brace_block */ @@ -9429,7 +9441,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9433 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9445 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* @14: %empty */ @@ -9440,7 +9452,7 @@ yyreduce: (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9444 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9456 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* @15: %empty */ @@ -9449,7 +9461,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9453 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* primary: "->" @14 f_larglist @15 lambda_body */ @@ -9462,7 +9474,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9466 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9478 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ @@ -9471,7 +9483,7 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9487 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ @@ -9480,19 +9492,19 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd), (yyvsp[-2].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9496 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ #line 3359 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ #line 3359 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9496 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9508 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'while'" $@16 expr_value do $@17 compstmt "'end'" */ @@ -9501,19 +9513,19 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9505 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9517 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* $@18: %empty */ #line 3366 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* $@19: %empty */ #line 3366 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9517 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'until'" $@18 expr_value do $@19 compstmt "'end'" */ @@ -9522,7 +9534,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9538 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ @@ -9530,7 +9542,7 @@ yyreduce: { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9534 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9546 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: /* primary: "'case'" opt_terms case_body "'end'" */ @@ -9538,7 +9550,7 @@ yyreduce: { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9554 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ @@ -9547,7 +9559,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-7].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9551 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ @@ -9556,7 +9568,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9560 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9572 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ @@ -9565,19 +9577,19 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), TRUE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9581 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* $@20: %empty */ #line 3411 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9575 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* $@21: %empty */ #line 3413 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9581 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9593 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* primary: "'for'" for_var "'in'" $@20 expr_value do $@21 compstmt "'end'" */ @@ -9586,7 +9598,7 @@ yyreduce: (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 9590 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9602 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ @@ -9597,7 +9609,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" cpath superclass @22 bodystmt "'end'" */ @@ -9608,7 +9620,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9624 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ @@ -9617,7 +9629,7 @@ yyreduce: (yyval.num) = p->in_def; p->in_def = 0; } -#line 9621 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9633 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* @24: %empty */ @@ -9627,7 +9639,7 @@ yyreduce: nvars_block(p); p->in_single = 0; } -#line 9631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9643 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: "'class'" "<<" expr @23 term @24 bodystmt "'end'" */ @@ -9640,7 +9652,7 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 9644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* @25: %empty */ @@ -9651,7 +9663,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9667 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'module'" cpath @25 bodystmt "'end'" */ @@ -9662,7 +9674,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9666 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: defn_head f_arglist bodystmt "'end'" */ @@ -9673,7 +9685,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9677 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: defs_head f_arglist bodystmt "'end'" */ @@ -9685,7 +9697,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9701 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'break'" */ @@ -9693,7 +9705,7 @@ yyreduce: { (yyval.nd) = new_break(p, 0); } -#line 9697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9709 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary: "'next'" */ @@ -9701,7 +9713,7 @@ yyreduce: { (yyval.nd) = new_next(p, 0); } -#line 9705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9717 "mrbgems/mruby-compiler/core/y.tab.c" break; case 346: /* primary: "'redo'" */ @@ -9709,7 +9721,7 @@ yyreduce: { (yyval.nd) = new_redo(p); } -#line 9713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9725 "mrbgems/mruby-compiler/core/y.tab.c" break; case 347: /* primary: "'retry'" */ @@ -9717,7 +9729,7 @@ yyreduce: { (yyval.nd) = new_retry(p); } -#line 9721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9733 "mrbgems/mruby-compiler/core/y.tab.c" break; case 348: /* primary_value: primary */ @@ -9726,7 +9738,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9742 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ @@ -9734,7 +9746,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9750 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* opt_else: "'else'" compstmt */ @@ -9742,7 +9754,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9758 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* for_var: lhs */ @@ -9750,7 +9762,7 @@ yyreduce: { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9766 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg */ @@ -9758,7 +9770,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 9762 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9774 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" f_norm_arg */ @@ -9766,7 +9778,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 9770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9782 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ @@ -9774,7 +9786,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9790 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: f_arg ',' "*" */ @@ -9783,7 +9795,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 9787 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9799 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: f_arg ',' "*" ',' f_arg */ @@ -9791,7 +9803,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 9795 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9807 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* f_margs: "*" f_norm_arg */ @@ -9799,7 +9811,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 9803 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9815 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" f_norm_arg ',' f_arg */ @@ -9807,7 +9819,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9811 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9823 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* f_margs: "*" */ @@ -9816,7 +9828,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 9820 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* $@26: %empty */ @@ -9824,7 +9836,7 @@ yyreduce: { local_add_f(p, intern_op(mul)); } -#line 9828 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* f_margs: "*" ',' $@26 f_arg */ @@ -9832,7 +9844,7 @@ yyreduce: { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ @@ -9840,7 +9852,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* block_args_tail: f_block_kwarg opt_f_block_arg */ @@ -9848,7 +9860,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* block_args_tail: f_kwrest opt_f_block_arg */ @@ -9856,7 +9868,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9860 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_args_tail: f_block_arg */ @@ -9864,7 +9876,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* opt_block_args_tail: ',' block_args_tail */ @@ -9872,7 +9884,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9876 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* opt_block_args_tail: %empty */ @@ -9880,7 +9892,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9896 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -9888,7 +9900,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9892 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9904 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9896,7 +9908,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9912 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ @@ -9904,7 +9916,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9920 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ @@ -9912,7 +9924,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9916 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9928 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ @@ -9920,7 +9932,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9924 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9936 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_arg ',' opt_block_args_tail */ @@ -9928,7 +9940,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9944 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9936,7 +9948,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9952 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_arg opt_block_args_tail */ @@ -9944,7 +9956,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9960 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -9952,7 +9964,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9956 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9968 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9960,7 +9972,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9976 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_block_optarg opt_block_args_tail */ @@ -9968,7 +9980,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9984 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ @@ -9976,7 +9988,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9992 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: /* block_param: f_rest_arg opt_block_args_tail */ @@ -9984,7 +9996,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10000 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9992,7 +10004,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9996 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10008 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: /* block_param: block_args_tail */ @@ -10000,7 +10012,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10004 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10016 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: /* opt_block_param: none */ @@ -10009,7 +10021,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10013 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: /* opt_block_param: block_param_def */ @@ -10018,13 +10030,13 @@ yyreduce: p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10022 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10034 "mrbgems/mruby-compiler/core/y.tab.c" break; case 393: /* $@27: %empty */ #line 3698 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p);} -#line 10028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10040 "mrbgems/mruby-compiler/core/y.tab.c" break; case 394: /* block_param_def: '|' $@27 opt_bv_decl '|' */ @@ -10032,7 +10044,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10048 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: /* block_param_def: "||" */ @@ -10041,7 +10053,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10045 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: /* block_param_def: '|' block_param opt_bv_decl '|' */ @@ -10049,7 +10061,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10053 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: /* opt_bv_decl: opt_nl */ @@ -10057,7 +10069,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10073 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ @@ -10065,7 +10077,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10081 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: /* bvar: "local variable or method" */ @@ -10074,7 +10086,7 @@ yyreduce: local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 10078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10090 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: /* f_larglist: '(' f_args opt_bv_decl ')' */ @@ -10082,7 +10094,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10086 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10098 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: /* f_larglist: f_args */ @@ -10090,7 +10102,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10106 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: /* lambda_body: tLAMBEG compstmt '}' */ @@ -10098,7 +10110,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10114 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ @@ -10106,7 +10118,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* @28: %empty */ @@ -10116,7 +10128,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10132 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* do_block: "'do' for block" @28 opt_block_param bodystmt "'end'" */ @@ -10127,7 +10139,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: command do_block */ @@ -10136,7 +10148,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10140 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10152 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: /* block_call: block_call call_op2 operation2 opt_paren_args */ @@ -10144,7 +10156,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10148 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ @@ -10153,7 +10165,7 @@ yyreduce: (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 10157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10169 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: /* block_call: block_call call_op2 operation2 command_args do_block */ @@ -10162,7 +10174,7 @@ yyreduce: (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 10166 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10178 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: operation paren_args */ @@ -10170,7 +10182,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10186 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: /* method_call: primary_value call_op operation2 opt_paren_args */ @@ -10178,7 +10190,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10194 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: /* method_call: primary_value "::" operation2 paren_args */ @@ -10186,7 +10198,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10202 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: primary_value "::" operation3 */ @@ -10194,7 +10206,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10210 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: /* method_call: primary_value call_op paren_args */ @@ -10202,7 +10214,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM(call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 10206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10218 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value "::" paren_args */ @@ -10210,7 +10222,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM(call), (yyvsp[0].nd), tCOLON2); } -#line 10214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* method_call: "'super'" paren_args */ @@ -10218,7 +10230,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10234 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* method_call: "'super'" */ @@ -10226,7 +10238,7 @@ yyreduce: { (yyval.nd) = new_zsuper(p); } -#line 10230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: /* method_call: primary_value '[' opt_call_args ']' */ @@ -10234,7 +10246,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10238 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10250 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* @29: %empty */ @@ -10244,7 +10256,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10260 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: /* brace_block: '{' @29 opt_block_param compstmt '}' */ @@ -10255,7 +10267,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10271 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* @30: %empty */ @@ -10265,7 +10277,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10269 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10281 "mrbgems/mruby-compiler/core/y.tab.c" break; case 425: /* brace_block: "'do'" @30 opt_block_param bodystmt "'end'" */ @@ -10276,7 +10288,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10292 "mrbgems/mruby-compiler/core/y.tab.c" break; case 426: /* case_body: "'when'" args then compstmt cases */ @@ -10284,7 +10296,7 @@ yyreduce: { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10300 "mrbgems/mruby-compiler/core/y.tab.c" break; case 427: /* cases: opt_else */ @@ -10297,7 +10309,7 @@ yyreduce: (yyval.nd) = 0; } } -#line 10301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10313 "mrbgems/mruby-compiler/core/y.tab.c" break; case 429: /* in_clauses: opt_else */ @@ -10305,13 +10317,13 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10321 "mrbgems/mruby-compiler/core/y.tab.c" break; case 430: /* $@31: %empty */ #line 3887 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10315 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10327 "mrbgems/mruby-compiler/core/y.tab.c" break; case 431: /* in_clauses: "'in'" p_expr $@31 then compstmt in_clauses */ @@ -10320,13 +10332,13 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10336 "mrbgems/mruby-compiler/core/y.tab.c" break; case 432: /* $@32: %empty */ #line 3892 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10330 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10342 "mrbgems/mruby-compiler/core/y.tab.c" break; case 433: /* in_clauses: "'in'" p_expr $@32 "'if' modifier" expr_value then compstmt in_clauses */ @@ -10335,13 +10347,13 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10339 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10351 "mrbgems/mruby-compiler/core/y.tab.c" break; case 434: /* $@33: %empty */ #line 3897 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 435: /* in_clauses: "'in'" p_expr $@33 "'unless' modifier" expr_value then compstmt in_clauses */ @@ -10350,7 +10362,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10354 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10366 "mrbgems/mruby-compiler/core/y.tab.c" break; case 437: /* p_expr: p_args_head p_as */ @@ -10358,7 +10370,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 438: /* p_expr: p_args_head p_rest */ @@ -10366,7 +10378,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 10370 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10382 "mrbgems/mruby-compiler/core/y.tab.c" break; case 439: /* p_expr: p_args_head p_rest ',' p_args_post */ @@ -10374,7 +10386,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10390 "mrbgems/mruby-compiler/core/y.tab.c" break; case 440: /* p_expr: p_rest */ @@ -10382,7 +10394,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10398 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: /* p_expr: p_rest ',' p_args_post */ @@ -10390,7 +10402,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10406 "mrbgems/mruby-compiler/core/y.tab.c" break; case 442: /* p_expr: p_hash_elems */ @@ -10399,7 +10411,7 @@ yyreduce: /* Brace-less hash pattern: in a:, b: x */ (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10403 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: /* p_expr: p_hash_elems ',' p_kwrest */ @@ -10408,7 +10420,7 @@ yyreduce: /* Brace-less hash pattern with kwrest: in a:, **rest */ (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10424 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: /* p_expr: p_kwrest */ @@ -10417,7 +10429,7 @@ yyreduce: /* Brace-less kwrest only: in **rest */ (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10433 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: /* p_args_head: p_as ',' */ @@ -10425,7 +10437,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 10429 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10441 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: /* p_args_head: p_args_head p_as ',' */ @@ -10433,7 +10445,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 10437 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10449 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: /* p_args_post: p_as */ @@ -10441,7 +10453,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10445 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10457 "mrbgems/mruby-compiler/core/y.tab.c" break; case 448: /* p_args_post: p_args_post ',' p_as */ @@ -10449,7 +10461,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10453 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: /* p_as: p_alt "=>" "local variable or method" */ @@ -10457,7 +10469,7 @@ yyreduce: { (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10461 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10473 "mrbgems/mruby-compiler/core/y.tab.c" break; case 452: /* p_alt: p_alt '|' p_value */ @@ -10465,7 +10477,7 @@ yyreduce: { (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10469 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10481 "mrbgems/mruby-compiler/core/y.tab.c" break; case 454: /* p_value: numeric */ @@ -10473,7 +10485,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10477 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10489 "mrbgems/mruby-compiler/core/y.tab.c" break; case 455: /* p_value: symbol */ @@ -10481,15 +10493,15 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10485 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10497 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 456: /* p_value: tSTRING */ + case 456: /* p_value: string */ #line 3991 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, new_str(p, list1((yyvsp[0].nd)))); + (yyval.nd) = new_pat_value(p, new_str(p, (yyvsp[0].nd))); } -#line 10493 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10505 "mrbgems/mruby-compiler/core/y.tab.c" break; case 457: /* p_value: "'nil'" */ @@ -10497,7 +10509,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_nil(p)); } -#line 10501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10513 "mrbgems/mruby-compiler/core/y.tab.c" break; case 458: /* p_value: "'true'" */ @@ -10505,7 +10517,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_true(p)); } -#line 10509 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10521 "mrbgems/mruby-compiler/core/y.tab.c" break; case 459: /* p_value: "'false'" */ @@ -10513,7 +10525,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_false(p)); } -#line 10517 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10529 "mrbgems/mruby-compiler/core/y.tab.c" break; case 460: /* p_value: p_const */ @@ -10521,7 +10533,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10525 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10537 "mrbgems/mruby-compiler/core/y.tab.c" break; case 463: /* p_value: '^' "local variable or method" */ @@ -10529,7 +10541,7 @@ yyreduce: { (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); } -#line 10533 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10545 "mrbgems/mruby-compiler/core/y.tab.c" break; case 464: /* p_array: "[" p_array_body ']' */ @@ -10537,7 +10549,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10541 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10553 "mrbgems/mruby-compiler/core/y.tab.c" break; case 465: /* p_array: "[" ']' */ @@ -10545,7 +10557,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, 0, 0); } -#line 10549 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10561 "mrbgems/mruby-compiler/core/y.tab.c" break; case 466: /* p_array_body: p_array_elems */ @@ -10554,7 +10566,7 @@ yyreduce: /* Just pre elements, no rest */ (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); } -#line 10558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10570 "mrbgems/mruby-compiler/core/y.tab.c" break; case 467: /* p_array_body: p_array_elems ',' p_rest */ @@ -10563,7 +10575,7 @@ yyreduce: /* Pre elements + rest, no post */ (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); } -#line 10567 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 468: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ @@ -10572,7 +10584,7 @@ yyreduce: /* Pre + rest + post */ (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10588 "mrbgems/mruby-compiler/core/y.tab.c" break; case 469: /* p_array_body: p_rest */ @@ -10581,7 +10593,7 @@ yyreduce: /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 470: /* p_array_body: p_rest ',' p_array_elems */ @@ -10590,7 +10602,7 @@ yyreduce: /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 471: /* p_array_body: p_rest ',' p_array_elems ',' p_rest */ @@ -10599,7 +10611,7 @@ yyreduce: /* Find pattern: [*pre, elems, *post] */ (yyval.nd) = new_pat_find(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10615 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: /* p_array_elems: p_as */ @@ -10607,7 +10619,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10623 "mrbgems/mruby-compiler/core/y.tab.c" break; case 473: /* p_array_elems: p_array_elems ',' p_as */ @@ -10615,7 +10627,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 474: /* p_rest: "*" "local variable or method" */ @@ -10623,7 +10635,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10639 "mrbgems/mruby-compiler/core/y.tab.c" break; case 475: /* p_rest: "*" */ @@ -10632,7 +10644,7 @@ yyreduce: /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 10636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10648 "mrbgems/mruby-compiler/core/y.tab.c" break; case 476: /* p_const: "constant" */ @@ -10640,7 +10652,7 @@ yyreduce: { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 10644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 477: /* p_const: p_const "::" "constant" */ @@ -10648,7 +10660,7 @@ yyreduce: { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" break; case 478: /* p_const: tCOLON3 "constant" */ @@ -10656,7 +10668,7 @@ yyreduce: { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 10660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 479: /* p_hash: tLBRACE p_hash_body '}' */ @@ -10664,7 +10676,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 480: /* p_hash: tLBRACE '}' */ @@ -10672,7 +10684,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 10676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10688 "mrbgems/mruby-compiler/core/y.tab.c" break; case 481: /* p_hash_body: p_hash_elems */ @@ -10680,7 +10692,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: /* p_hash_body: p_hash_elems ',' p_kwrest */ @@ -10688,7 +10700,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 483: /* p_hash_body: p_kwrest */ @@ -10696,7 +10708,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10712 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: /* p_hash_elems: p_hash_elem */ @@ -10704,7 +10716,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10720 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ @@ -10712,7 +10724,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10728 "mrbgems/mruby-compiler/core/y.tab.c" break; case 486: /* p_hash_elem: "local variable or method" "label" p_as */ @@ -10721,7 +10733,7 @@ yyreduce: /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: /* p_hash_elem: "local variable or method" "label" */ @@ -10730,7 +10742,7 @@ yyreduce: /* {key:} shorthand - binds to variable with same name */ (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), new_pat_var(p, (yyvsp[-1].id))); } -#line 10734 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 488: /* p_kwrest: "**" "local variable or method" */ @@ -10738,7 +10750,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10742 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 489: /* p_kwrest: "**" "'nil'" */ @@ -10747,7 +10759,7 @@ yyreduce: /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 10751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10763 "mrbgems/mruby-compiler/core/y.tab.c" break; case 490: /* p_kwrest: "**" */ @@ -10756,7 +10768,7 @@ yyreduce: /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 10760 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10772 "mrbgems/mruby-compiler/core/y.tab.c" break; case 491: /* p_var: "local variable or method" */ @@ -10764,7 +10776,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10768 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10780 "mrbgems/mruby-compiler/core/y.tab.c" break; case 492: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ @@ -10773,7 +10785,7 @@ yyreduce: (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 10777 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10789 "mrbgems/mruby-compiler/core/y.tab.c" break; case 494: /* exc_list: arg */ @@ -10781,7 +10793,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10785 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10797 "mrbgems/mruby-compiler/core/y.tab.c" break; case 497: /* exc_var: "=>" lhs */ @@ -10789,7 +10801,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10805 "mrbgems/mruby-compiler/core/y.tab.c" break; case 499: /* opt_ensure: "'ensure'" compstmt */ @@ -10797,7 +10809,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10801 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10813 "mrbgems/mruby-compiler/core/y.tab.c" break; case 506: /* string: string string_fragment */ @@ -10805,7 +10817,7 @@ yyreduce: { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10821 "mrbgems/mruby-compiler/core/y.tab.c" break; case 507: /* string_fragment: "character literal" */ @@ -10814,7 +10826,7 @@ yyreduce: /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10818 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 508: /* string_fragment: tSTRING */ @@ -10823,7 +10835,7 @@ yyreduce: /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10827 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10839 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: /* string_fragment: "string literal" tSTRING */ @@ -10832,7 +10844,7 @@ yyreduce: /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10836 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 510: /* string_fragment: "string literal" string_rep tSTRING */ @@ -10840,7 +10852,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 512: /* string_rep: string_rep string_interp */ @@ -10848,7 +10860,7 @@ yyreduce: { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 513: /* string_interp: tSTRING_MID */ @@ -10857,7 +10869,7 @@ yyreduce: /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10873 "mrbgems/mruby-compiler/core/y.tab.c" break; case 514: /* @34: %empty */ @@ -10865,7 +10877,7 @@ yyreduce: { (yyval.nd) = push_strterm(p); } -#line 10869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10881 "mrbgems/mruby-compiler/core/y.tab.c" break; case 515: /* string_interp: tSTRING_PART @34 compstmt '}' */ @@ -10876,7 +10888,7 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); (yyval.nd) = list2((yyvsp[-3].nd), expr_elem); } -#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10892 "mrbgems/mruby-compiler/core/y.tab.c" break; case 516: /* string_interp: tLITERAL_DELIM */ @@ -10884,7 +10896,7 @@ yyreduce: { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10888 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10900 "mrbgems/mruby-compiler/core/y.tab.c" break; case 517: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ @@ -10892,7 +10904,7 @@ yyreduce: { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10896 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10908 "mrbgems/mruby-compiler/core/y.tab.c" break; case 518: /* xstring: tXSTRING_BEG tXSTRING */ @@ -10900,7 +10912,7 @@ yyreduce: { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 10904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10916 "mrbgems/mruby-compiler/core/y.tab.c" break; case 519: /* xstring: tXSTRING_BEG string_rep tXSTRING */ @@ -10908,7 +10920,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10912 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10924 "mrbgems/mruby-compiler/core/y.tab.c" break; case 520: /* regexp: tREGEXP_BEG tREGEXP */ @@ -10921,7 +10933,7 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 10925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10937 "mrbgems/mruby-compiler/core/y.tab.c" break; case 521: /* regexp: tREGEXP_BEG string_rep tREGEXP */ @@ -10934,7 +10946,7 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 10938 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10950 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: /* heredoc_body: tHEREDOC_END */ @@ -10944,7 +10956,7 @@ yyreduce: info->doc = push(info->doc, new_str_empty(p)); heredoc_end(p); } -#line 10948 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10960 "mrbgems/mruby-compiler/core/y.tab.c" break; case 526: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ @@ -10952,7 +10964,7 @@ yyreduce: { heredoc_end(p); } -#line 10956 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10968 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: /* heredoc_string_interp: tHD_STRING_MID */ @@ -10962,7 +10974,7 @@ yyreduce: info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 10966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10978 "mrbgems/mruby-compiler/core/y.tab.c" break; case 530: /* @35: %empty */ @@ -10970,7 +10982,7 @@ yyreduce: { (yyval.nd) = push_strterm(p); } -#line 10974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10986 "mrbgems/mruby-compiler/core/y.tab.c" break; case 531: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ @@ -10982,7 +10994,7 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); info->doc = push(push(info->doc, (yyvsp[-3].nd)), expr_elem); } -#line 10986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 532: /* words: tWORDS_BEG tSTRING */ @@ -10990,7 +11002,7 @@ yyreduce: { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 10994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11006 "mrbgems/mruby-compiler/core/y.tab.c" break; case 533: /* words: tWORDS_BEG string_rep tSTRING */ @@ -11000,7 +11012,7 @@ yyreduce: n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11004 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11016 "mrbgems/mruby-compiler/core/y.tab.c" break; case 534: /* symbol: basic_symbol */ @@ -11008,7 +11020,7 @@ yyreduce: { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11024 "mrbgems/mruby-compiler/core/y.tab.c" break; case 535: /* symbol: "symbol" "string literal" string_rep tSTRING */ @@ -11024,7 +11036,7 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11040 "mrbgems/mruby-compiler/core/y.tab.c" break; case 536: /* symbol: "symbol" "numbered parameter" */ @@ -11033,7 +11045,7 @@ yyreduce: mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11049 "mrbgems/mruby-compiler/core/y.tab.c" break; case 537: /* basic_symbol: "symbol" sym */ @@ -11042,7 +11054,7 @@ yyreduce: p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11046 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11058 "mrbgems/mruby-compiler/core/y.tab.c" break; case 542: /* sym: tSTRING */ @@ -11050,7 +11062,7 @@ yyreduce: { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11054 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11066 "mrbgems/mruby-compiler/core/y.tab.c" break; case 543: /* sym: "string literal" tSTRING */ @@ -11058,7 +11070,7 @@ yyreduce: { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11074 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: /* symbols: tSYMBOLS_BEG tSTRING */ @@ -11066,7 +11078,7 @@ yyreduce: { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11070 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11082 "mrbgems/mruby-compiler/core/y.tab.c" break; case 545: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ @@ -11076,7 +11088,7 @@ yyreduce: n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11080 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11092 "mrbgems/mruby-compiler/core/y.tab.c" break; case 548: /* numeric: tUMINUS_NUM "integer literal" */ @@ -11084,7 +11096,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11088 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11100 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: /* numeric: tUMINUS_NUM "float literal" */ @@ -11092,7 +11104,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11108 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: /* variable: "local variable or method" */ @@ -11100,7 +11112,7 @@ yyreduce: { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11116 "mrbgems/mruby-compiler/core/y.tab.c" break; case 551: /* variable: "instance variable" */ @@ -11108,7 +11120,7 @@ yyreduce: { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11112 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11124 "mrbgems/mruby-compiler/core/y.tab.c" break; case 552: /* variable: "global variable" */ @@ -11116,7 +11128,7 @@ yyreduce: { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11132 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: /* variable: "class variable" */ @@ -11124,7 +11136,7 @@ yyreduce: { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11140 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: /* variable: "constant" */ @@ -11132,7 +11144,7 @@ yyreduce: { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11148 "mrbgems/mruby-compiler/core/y.tab.c" break; case 555: /* var_lhs: variable */ @@ -11140,7 +11152,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 11144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11156 "mrbgems/mruby-compiler/core/y.tab.c" break; case 556: /* var_lhs: "numbered parameter" */ @@ -11148,7 +11160,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11164 "mrbgems/mruby-compiler/core/y.tab.c" break; case 557: /* var_ref: variable */ @@ -11156,7 +11168,7 @@ yyreduce: { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11172 "mrbgems/mruby-compiler/core/y.tab.c" break; case 558: /* var_ref: "numbered parameter" */ @@ -11164,7 +11176,7 @@ yyreduce: { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11180 "mrbgems/mruby-compiler/core/y.tab.c" break; case 559: /* var_ref: "'nil'" */ @@ -11172,7 +11184,7 @@ yyreduce: { (yyval.nd) = new_nil(p); } -#line 11176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11188 "mrbgems/mruby-compiler/core/y.tab.c" break; case 560: /* var_ref: "'self'" */ @@ -11180,7 +11192,7 @@ yyreduce: { (yyval.nd) = new_self(p); } -#line 11184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11196 "mrbgems/mruby-compiler/core/y.tab.c" break; case 561: /* var_ref: "'true'" */ @@ -11188,7 +11200,7 @@ yyreduce: { (yyval.nd) = new_true(p); } -#line 11192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11204 "mrbgems/mruby-compiler/core/y.tab.c" break; case 562: /* var_ref: "'false'" */ @@ -11196,7 +11208,7 @@ yyreduce: { (yyval.nd) = new_false(p); } -#line 11200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11212 "mrbgems/mruby-compiler/core/y.tab.c" break; case 563: /* var_ref: "'__FILE__'" */ @@ -11208,7 +11220,7 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11224 "mrbgems/mruby-compiler/core/y.tab.c" break; case 564: /* var_ref: "'__LINE__'" */ @@ -11219,7 +11231,7 @@ yyreduce: dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11235 "mrbgems/mruby-compiler/core/y.tab.c" break; case 565: /* var_ref: "'__ENCODING__'" */ @@ -11227,7 +11239,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, MRB_SYM(__ENCODING__), 0); } -#line 11231 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 568: /* superclass: %empty */ @@ -11235,7 +11247,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 11239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 569: /* $@36: %empty */ @@ -11244,7 +11256,7 @@ yyreduce: p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11260 "mrbgems/mruby-compiler/core/y.tab.c" break; case 570: /* superclass: '<' $@36 expr_value term */ @@ -11252,7 +11264,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 11256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11268 "mrbgems/mruby-compiler/core/y.tab.c" break; case 573: /* f_arglist_paren: '(' f_args rparen */ @@ -11262,7 +11274,7 @@ yyreduce: p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11266 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11278 "mrbgems/mruby-compiler/core/y.tab.c" break; case 574: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ @@ -11270,7 +11282,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11274 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11286 "mrbgems/mruby-compiler/core/y.tab.c" break; case 575: /* f_arglist_paren: '(' tBDOT3 rparen */ @@ -11278,7 +11290,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, 0); } -#line 11282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11294 "mrbgems/mruby-compiler/core/y.tab.c" break; case 577: /* f_arglist: f_args term */ @@ -11286,7 +11298,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 11290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11302 "mrbgems/mruby-compiler/core/y.tab.c" break; case 578: /* f_arglist: f_arg ',' tBDOT3 term */ @@ -11294,7 +11306,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11310 "mrbgems/mruby-compiler/core/y.tab.c" break; case 579: /* f_arglist: "..." term */ @@ -11302,7 +11314,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, 0); } -#line 11306 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11318 "mrbgems/mruby-compiler/core/y.tab.c" break; case 580: /* f_label: "local variable or method" "label" */ @@ -11312,7 +11324,7 @@ yyreduce: local_nest(p); p->lstate = EXPR_MID; /* make newlines significant after label */ } -#line 11316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11328 "mrbgems/mruby-compiler/core/y.tab.c" break; case 581: /* f_label: "numbered parameter" "label" */ @@ -11322,7 +11334,7 @@ yyreduce: local_nest(p); p->lstate = EXPR_MID; /* make newlines significant after label */ } -#line 11326 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11338 "mrbgems/mruby-compiler/core/y.tab.c" break; case 582: /* f_kw: f_label arg */ @@ -11332,7 +11344,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11348 "mrbgems/mruby-compiler/core/y.tab.c" break; case 583: /* f_kw: f_label */ @@ -11341,7 +11353,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 584: /* f_block_kw: f_label primary_value */ @@ -11351,7 +11363,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11355 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11367 "mrbgems/mruby-compiler/core/y.tab.c" break; case 585: /* f_block_kw: f_label */ @@ -11360,7 +11372,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11376 "mrbgems/mruby-compiler/core/y.tab.c" break; case 586: /* f_block_kwarg: f_block_kw */ @@ -11368,7 +11380,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11372 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11384 "mrbgems/mruby-compiler/core/y.tab.c" break; case 587: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ @@ -11376,7 +11388,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11392 "mrbgems/mruby-compiler/core/y.tab.c" break; case 588: /* f_kwarg: f_kw */ @@ -11384,7 +11396,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11400 "mrbgems/mruby-compiler/core/y.tab.c" break; case 589: /* f_kwarg: f_kwarg ',' f_kw */ @@ -11392,7 +11404,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11408 "mrbgems/mruby-compiler/core/y.tab.c" break; case 592: /* f_kwrest: kwrest_mark "local variable or method" */ @@ -11400,7 +11412,7 @@ yyreduce: { (yyval.id) = (yyvsp[0].id); } -#line 11404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11416 "mrbgems/mruby-compiler/core/y.tab.c" break; case 593: /* f_kwrest: kwrest_mark */ @@ -11408,7 +11420,7 @@ yyreduce: { (yyval.id) = intern_op(pow); } -#line 11412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11424 "mrbgems/mruby-compiler/core/y.tab.c" break; case 594: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ @@ -11416,7 +11428,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11420 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11432 "mrbgems/mruby-compiler/core/y.tab.c" break; case 595: /* args_tail: f_kwarg opt_f_block_arg */ @@ -11424,7 +11436,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 11428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11440 "mrbgems/mruby-compiler/core/y.tab.c" break; case 596: /* args_tail: f_kwrest opt_f_block_arg */ @@ -11432,7 +11444,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11436 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11448 "mrbgems/mruby-compiler/core/y.tab.c" break; case 597: /* args_tail: f_block_arg */ @@ -11440,7 +11452,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 11444 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11456 "mrbgems/mruby-compiler/core/y.tab.c" break; case 598: /* opt_args_tail: ',' args_tail */ @@ -11448,7 +11460,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 11452 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11464 "mrbgems/mruby-compiler/core/y.tab.c" break; case 599: /* opt_args_tail: ',' */ @@ -11456,7 +11468,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 11460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11472 "mrbgems/mruby-compiler/core/y.tab.c" break; case 600: /* opt_args_tail: %empty */ @@ -11464,7 +11476,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 11468 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11480 "mrbgems/mruby-compiler/core/y.tab.c" break; case 601: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ @@ -11472,7 +11484,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11476 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11488 "mrbgems/mruby-compiler/core/y.tab.c" break; case 602: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ @@ -11480,7 +11492,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11496 "mrbgems/mruby-compiler/core/y.tab.c" break; case 603: /* f_args: f_arg ',' f_optarg opt_args_tail */ @@ -11488,7 +11500,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11492 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11504 "mrbgems/mruby-compiler/core/y.tab.c" break; case 604: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ @@ -11496,7 +11508,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11512 "mrbgems/mruby-compiler/core/y.tab.c" break; case 605: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ @@ -11504,7 +11516,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11520 "mrbgems/mruby-compiler/core/y.tab.c" break; case 606: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ @@ -11512,7 +11524,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11528 "mrbgems/mruby-compiler/core/y.tab.c" break; case 607: /* f_args: f_arg opt_args_tail */ @@ -11520,7 +11532,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 11524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11536 "mrbgems/mruby-compiler/core/y.tab.c" break; case 608: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ @@ -11528,7 +11540,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11544 "mrbgems/mruby-compiler/core/y.tab.c" break; case 609: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ @@ -11536,7 +11548,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11552 "mrbgems/mruby-compiler/core/y.tab.c" break; case 610: /* f_args: f_optarg opt_args_tail */ @@ -11544,7 +11556,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11560 "mrbgems/mruby-compiler/core/y.tab.c" break; case 611: /* f_args: f_optarg ',' f_arg opt_args_tail */ @@ -11552,7 +11564,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 612: /* f_args: f_rest_arg opt_args_tail */ @@ -11560,7 +11572,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11576 "mrbgems/mruby-compiler/core/y.tab.c" break; case 613: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ @@ -11568,7 +11580,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11584 "mrbgems/mruby-compiler/core/y.tab.c" break; case 614: /* f_args: args_tail */ @@ -11576,7 +11588,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 11580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11592 "mrbgems/mruby-compiler/core/y.tab.c" break; case 615: /* f_args: %empty */ @@ -11585,7 +11597,7 @@ yyreduce: local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 11589 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11601 "mrbgems/mruby-compiler/core/y.tab.c" break; case 616: /* f_bad_arg: "constant" */ @@ -11594,7 +11606,7 @@ yyreduce: yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 11598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11610 "mrbgems/mruby-compiler/core/y.tab.c" break; case 617: /* f_bad_arg: "instance variable" */ @@ -11603,7 +11615,7 @@ yyreduce: yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 11607 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11619 "mrbgems/mruby-compiler/core/y.tab.c" break; case 618: /* f_bad_arg: "global variable" */ @@ -11612,7 +11624,7 @@ yyreduce: yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 11616 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11628 "mrbgems/mruby-compiler/core/y.tab.c" break; case 619: /* f_bad_arg: "class variable" */ @@ -11621,7 +11633,7 @@ yyreduce: yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 11625 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11637 "mrbgems/mruby-compiler/core/y.tab.c" break; case 620: /* f_bad_arg: "numbered parameter" */ @@ -11630,7 +11642,7 @@ yyreduce: yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 11634 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 621: /* f_norm_arg: f_bad_arg */ @@ -11638,7 +11650,7 @@ yyreduce: { (yyval.id) = 0; } -#line 11642 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 622: /* f_norm_arg: "local variable or method" */ @@ -11647,7 +11659,7 @@ yyreduce: local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11651 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 623: /* f_arg_item: f_norm_arg */ @@ -11655,7 +11667,7 @@ yyreduce: { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 624: /* @37: %empty */ @@ -11663,7 +11675,7 @@ yyreduce: { (yyval.nd) = local_switch(p); } -#line 11667 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11679 "mrbgems/mruby-compiler/core/y.tab.c" break; case 625: /* f_arg_item: tLPAREN @37 f_margs rparen */ @@ -11673,7 +11685,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 11677 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 626: /* f_arg: f_arg_item */ @@ -11681,7 +11693,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11685 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 627: /* f_arg: f_arg ',' f_arg_item */ @@ -11689,7 +11701,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 628: /* f_opt_asgn: "local variable or method" '=' */ @@ -11699,7 +11711,7 @@ yyreduce: local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 11703 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11715 "mrbgems/mruby-compiler/core/y.tab.c" break; case 629: /* f_opt: f_opt_asgn arg */ @@ -11709,7 +11721,7 @@ yyreduce: (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11725 "mrbgems/mruby-compiler/core/y.tab.c" break; case 630: /* f_block_opt: f_opt_asgn primary_value */ @@ -11719,7 +11731,7 @@ yyreduce: (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11723 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11735 "mrbgems/mruby-compiler/core/y.tab.c" break; case 631: /* f_block_optarg: f_block_opt */ @@ -11727,7 +11739,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11731 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11743 "mrbgems/mruby-compiler/core/y.tab.c" break; case 632: /* f_block_optarg: f_block_optarg ',' f_block_opt */ @@ -11735,7 +11747,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11739 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11751 "mrbgems/mruby-compiler/core/y.tab.c" break; case 633: /* f_optarg: f_opt */ @@ -11743,7 +11755,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11747 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11759 "mrbgems/mruby-compiler/core/y.tab.c" break; case 634: /* f_optarg: f_optarg ',' f_opt */ @@ -11751,7 +11763,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11755 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11767 "mrbgems/mruby-compiler/core/y.tab.c" break; case 637: /* f_rest_arg: restarg_mark "local variable or method" */ @@ -11760,7 +11772,7 @@ yyreduce: local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11764 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11776 "mrbgems/mruby-compiler/core/y.tab.c" break; case 638: /* f_rest_arg: restarg_mark */ @@ -11769,7 +11781,7 @@ yyreduce: (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 11773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11785 "mrbgems/mruby-compiler/core/y.tab.c" break; case 641: /* f_block_arg: blkarg_mark "local variable or method" */ @@ -11777,7 +11789,7 @@ yyreduce: { (yyval.id) = (yyvsp[0].id); } -#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11793 "mrbgems/mruby-compiler/core/y.tab.c" break; case 642: /* f_block_arg: blkarg_mark "'nil'" */ @@ -11785,7 +11797,7 @@ yyreduce: { (yyval.id) = MRB_SYM(nil); } -#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11801 "mrbgems/mruby-compiler/core/y.tab.c" break; case 643: /* f_block_arg: blkarg_mark */ @@ -11793,7 +11805,7 @@ yyreduce: { (yyval.id) = intern_op(and); } -#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11809 "mrbgems/mruby-compiler/core/y.tab.c" break; case 644: /* opt_f_block_arg: ',' f_block_arg */ @@ -11801,7 +11813,7 @@ yyreduce: { (yyval.id) = (yyvsp[0].id); } -#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11817 "mrbgems/mruby-compiler/core/y.tab.c" break; case 645: /* opt_f_block_arg: ',' */ @@ -11809,7 +11821,7 @@ yyreduce: { (yyval.id) = 0; } -#line 11813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11825 "mrbgems/mruby-compiler/core/y.tab.c" break; case 646: /* opt_f_block_arg: none */ @@ -11817,7 +11829,7 @@ yyreduce: { (yyval.id) = 0; } -#line 11821 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11833 "mrbgems/mruby-compiler/core/y.tab.c" break; case 647: /* singleton: var_ref */ @@ -11827,13 +11839,13 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 11831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11843 "mrbgems/mruby-compiler/core/y.tab.c" break; case 648: /* $@38: %empty */ #line 4897 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 11837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11849 "mrbgems/mruby-compiler/core/y.tab.c" break; case 649: /* singleton: '(' $@38 expr rparen */ @@ -11842,7 +11854,7 @@ yyreduce: prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 11846 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11858 "mrbgems/mruby-compiler/core/y.tab.c" break; case 651: /* assoc_list: assocs trailer */ @@ -11850,7 +11862,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 11854 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11866 "mrbgems/mruby-compiler/core/y.tab.c" break; case 652: /* assocs: assoc */ @@ -11858,7 +11870,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 653: /* assocs: assocs comma assoc */ @@ -11866,7 +11878,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11870 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11882 "mrbgems/mruby-compiler/core/y.tab.c" break; case 654: /* assoc: arg "=>" arg */ @@ -11876,7 +11888,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11892 "mrbgems/mruby-compiler/core/y.tab.c" break; case 655: /* assoc: "local variable or method" "label" arg */ @@ -11885,7 +11897,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 11889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11901 "mrbgems/mruby-compiler/core/y.tab.c" break; case 656: /* assoc: "local variable or method" "label" */ @@ -11893,7 +11905,7 @@ yyreduce: { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 11897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 657: /* assoc: "numbered parameter" "label" */ @@ -11902,7 +11914,7 @@ yyreduce: mrb_sym sym = intern_numparam((yyvsp[-1].num)); (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); } -#line 11906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11918 "mrbgems/mruby-compiler/core/y.tab.c" break; case 658: /* assoc: "numbered parameter" "label" arg */ @@ -11911,7 +11923,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 11915 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11927 "mrbgems/mruby-compiler/core/y.tab.c" break; case 659: /* assoc: string_fragment "label" arg */ @@ -11931,7 +11943,7 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 11935 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11947 "mrbgems/mruby-compiler/core/y.tab.c" break; case 660: /* assoc: "**" arg */ @@ -11940,7 +11952,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 11944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11956 "mrbgems/mruby-compiler/core/y.tab.c" break; case 661: /* assoc: "**" */ @@ -11948,7 +11960,7 @@ yyreduce: { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 11952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11964 "mrbgems/mruby-compiler/core/y.tab.c" break; case 674: /* call_op: '.' */ @@ -11956,7 +11968,7 @@ yyreduce: { (yyval.num) = '.'; } -#line 11960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11972 "mrbgems/mruby-compiler/core/y.tab.c" break; case 675: /* call_op: "&." */ @@ -11964,7 +11976,7 @@ yyreduce: { (yyval.num) = 0; } -#line 11968 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11980 "mrbgems/mruby-compiler/core/y.tab.c" break; case 677: /* call_op2: "::" */ @@ -11972,13 +11984,13 @@ yyreduce: { (yyval.num) = tCOLON2; } -#line 11976 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11988 "mrbgems/mruby-compiler/core/y.tab.c" break; case 686: /* term: ';' */ #line 5026 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 11982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11994 "mrbgems/mruby-compiler/core/y.tab.c" break; case 688: /* nl: '\n' */ @@ -11987,7 +11999,7 @@ yyreduce: p->lineno += (yyvsp[0].num); p->column = 0; } -#line 11991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12003 "mrbgems/mruby-compiler/core/y.tab.c" break; case 692: /* none: %empty */ @@ -11995,11 +12007,11 @@ yyreduce: { (yyval.nd) = 0; } -#line 11999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12011 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 12003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12015 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } diff --git a/test/t/syntax.rb b/test/t/syntax.rb index d051bc789..90f2bd6ac 100644 --- a/test/t/syntax.rb +++ b/test/t/syntax.rb @@ -981,6 +981,32 @@ assert('pattern matching - basic case/in') do assert_equal :other, result end +assert('pattern matching - string literal patterns') do + result = case "hello" + in "hello" then :match + end + assert_equal :match, result + + # double-quoted vs single-quoted should both work + result = case 'world' + in "world" then :double + end + assert_equal :double, result + + # alternation with strings + result = case "ab" + in "ab" | "cd" then :alt + end + assert_equal :alt, result + + # string interpolation in pattern + expected = "lo" + result = case "hello" + in "hel#{expected}" then :interp + end + assert_equal :interp, result +end + assert('pattern matching - array patterns') do # simple array pattern case [1, 2, 3]