From f7a8a4252100e45be76317611238ef0384dd5a94 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 17 Dec 2022 09:37:44 +0900 Subject: [PATCH] mruby-compiler/parse.y: allow multiple anonymous splat in `args` rule For example, this should be allowed: ```ruby def f(*) p(*,*) end ``` --- mrbgems/mruby-compiler/core/parse.y | 4 + mrbgems/mruby-compiler/core/y.tab.c | 2292 ++++++++++++++------------- 2 files changed, 1154 insertions(+), 1142 deletions(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index b7bb72a61..f807be1e4 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -2651,6 +2651,10 @@ args : arg void_expr_error(p, $3); $$ = push($1, $3); } + | args comma tSTAR + { + $$ = push($1, new_splat(p, new_lvar(p, intern_op(mul)))); + } | args comma tSTAR arg { $$ = push($1, new_splat(p, $4)); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 1f212ac92..0bb243887 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -2013,7 +2013,7 @@ union yyalloc /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 176 /* YYNRULES -- Number of rules. */ -#define YYNRULES 618 +#define YYNRULES 619 /* YYNSTATES -- Number of states. */ #define YYNSTATES 1084 @@ -2102,40 +2102,40 @@ static const yytype_int16 yyrline[] = 2492, 2497, 2501, 2508, 2512, 2519, 2523, 2532, 2549, 2550, 2553, 2554, 2555, 2560, 2565, 2572, 2578, 2583, 2588, 2593, 2600, 2600, 2611, 2615, 2621, 2625, 2631, 2634, 2640, 2644, - 2649, 2654, 2660, 2665, 2669, 2675, 2676, 2677, 2678, 2679, - 2680, 2681, 2682, 2686, 2691, 2690, 2702, 2706, 2701, 2711, - 2711, 2715, 2719, 2723, 2727, 2732, 2737, 2741, 2745, 2749, - 2753, 2757, 2758, 2764, 2771, 2763, 2784, 2792, 2800, 2800, - 2800, 2807, 2807, 2807, 2814, 2820, 2825, 2827, 2824, 2836, - 2834, 2852, 2857, 2850, 2874, 2872, 2888, 2898, 2909, 2913, - 2917, 2921, 2927, 2934, 2935, 2936, 2939, 2940, 2943, 2944, - 2952, 2953, 2959, 2963, 2966, 2970, 2974, 2978, 2983, 2987, - 2991, 2995, 3001, 3000, 3010, 3014, 3018, 3022, 3028, 3033, - 3038, 3042, 3046, 3050, 3054, 3058, 3062, 3066, 3070, 3074, - 3078, 3082, 3086, 3090, 3094, 3100, 3105, 3112, 3112, 3116, - 3121, 3128, 3132, 3138, 3139, 3142, 3147, 3150, 3154, 3160, - 3164, 3171, 3170, 3185, 3195, 3199, 3204, 3211, 3215, 3219, - 3223, 3227, 3231, 3235, 3239, 3243, 3250, 3249, 3264, 3263, - 3279, 3287, 3296, 3299, 3306, 3309, 3313, 3314, 3317, 3321, - 3324, 3328, 3331, 3332, 3333, 3334, 3337, 3338, 3344, 3345, - 3346, 3350, 3363, 3364, 3370, 3375, 3374, 3384, 3388, 3394, - 3398, 3411, 3415, 3421, 3424, 3425, 3428, 3434, 3440, 3441, - 3444, 3451, 3450, 3463, 3467, 3481, 3486, 3500, 3506, 3507, - 3508, 3509, 3510, 3514, 3520, 3524, 3534, 3535, 3536, 3540, - 3546, 3550, 3554, 3558, 3562, 3568, 3572, 3578, 3582, 3586, - 3590, 3594, 3598, 3606, 3613, 3619, 3620, 3624, 3628, 3627, - 3644, 3645, 3648, 3654, 3658, 3664, 3665, 3669, 3673, 3679, - 3683, 3689, 3695, 3702, 3708, 3715, 3719, 3725, 3729, 3735, - 3736, 3739, 3743, 3749, 3753, 3757, 3761, 3767, 3772, 3777, + 2649, 2654, 2658, 2664, 2669, 2673, 2679, 2680, 2681, 2682, + 2683, 2684, 2685, 2686, 2690, 2695, 2694, 2706, 2710, 2705, + 2715, 2715, 2719, 2723, 2727, 2731, 2736, 2741, 2745, 2749, + 2753, 2757, 2761, 2762, 2768, 2775, 2767, 2788, 2796, 2804, + 2804, 2804, 2811, 2811, 2811, 2818, 2824, 2829, 2831, 2828, + 2840, 2838, 2856, 2861, 2854, 2878, 2876, 2892, 2902, 2913, + 2917, 2921, 2925, 2931, 2938, 2939, 2940, 2943, 2944, 2947, + 2948, 2956, 2957, 2963, 2967, 2970, 2974, 2978, 2982, 2987, + 2991, 2995, 2999, 3005, 3004, 3014, 3018, 3022, 3026, 3032, + 3037, 3042, 3046, 3050, 3054, 3058, 3062, 3066, 3070, 3074, + 3078, 3082, 3086, 3090, 3094, 3098, 3104, 3109, 3116, 3116, + 3120, 3125, 3132, 3136, 3142, 3143, 3146, 3151, 3154, 3158, + 3164, 3168, 3175, 3174, 3189, 3199, 3203, 3208, 3215, 3219, + 3223, 3227, 3231, 3235, 3239, 3243, 3247, 3254, 3253, 3268, + 3267, 3283, 3291, 3300, 3303, 3310, 3313, 3317, 3318, 3321, + 3325, 3328, 3332, 3335, 3336, 3337, 3338, 3341, 3342, 3348, + 3349, 3350, 3354, 3367, 3368, 3374, 3379, 3378, 3388, 3392, + 3398, 3402, 3415, 3419, 3425, 3428, 3429, 3432, 3438, 3444, + 3445, 3448, 3455, 3454, 3467, 3471, 3485, 3490, 3504, 3510, + 3511, 3512, 3513, 3514, 3518, 3524, 3528, 3538, 3539, 3540, + 3544, 3550, 3554, 3558, 3562, 3566, 3572, 3576, 3582, 3586, + 3590, 3594, 3598, 3602, 3610, 3617, 3623, 3624, 3628, 3632, + 3631, 3648, 3649, 3652, 3658, 3662, 3668, 3669, 3673, 3677, + 3683, 3687, 3693, 3699, 3706, 3712, 3719, 3723, 3729, 3733, + 3739, 3740, 3743, 3747, 3753, 3757, 3761, 3765, 3771, 3776, 3781, 3785, 3789, 3793, 3797, 3801, 3805, 3809, 3813, 3817, - 3821, 3825, 3829, 3834, 3840, 3845, 3850, 3855, 3860, 3867, - 3871, 3878, 3883, 3882, 3894, 3898, 3904, 3912, 3920, 3928, - 3932, 3938, 3942, 3948, 3949, 3952, 3957, 3964, 3965, 3968, - 3972, 3978, 3982, 3988, 3993, 3993, 4018, 4019, 4025, 4030, - 4036, 4042, 4047, 4051, 4056, 4061, 4071, 4076, 4082, 4083, - 4084, 4087, 4088, 4089, 4090, 4093, 4094, 4095, 4098, 4099, - 4102, 4106, 4112, 4113, 4119, 4120, 4123, 4124, 4127, 4130, - 4131, 4132, 4135, 4136, 4139, 4144, 4147, 4148, 4152 + 3821, 3825, 3829, 3833, 3838, 3844, 3849, 3854, 3859, 3864, + 3871, 3875, 3882, 3887, 3886, 3898, 3902, 3908, 3916, 3924, + 3932, 3936, 3942, 3946, 3952, 3953, 3956, 3961, 3968, 3969, + 3972, 3976, 3982, 3986, 3992, 3997, 3997, 4022, 4023, 4029, + 4034, 4040, 4046, 4051, 4055, 4060, 4065, 4075, 4080, 4086, + 4087, 4088, 4091, 4092, 4093, 4094, 4097, 4098, 4099, 4102, + 4103, 4106, 4110, 4116, 4117, 4123, 4124, 4127, 4128, 4131, + 4134, 4135, 4136, 4139, 4140, 4143, 4148, 4151, 4152, 4156 }; #endif @@ -2236,7 +2236,7 @@ static const yytype_int16 yytoknum[] = #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-619) +#define YYTABLE_NINF (-620) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -2361,115 +2361,115 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 0, 0, 1, 0, 0, 0, 0, 294, 0, - 0, 318, 321, 0, 0, 604, 338, 339, 340, 341, - 306, 270, 270, 489, 488, 490, 491, 606, 0, 10, - 0, 493, 492, 494, 480, 590, 482, 481, 484, 483, - 476, 477, 438, 439, 495, 496, 292, 0, 0, 0, - 0, 0, 0, 296, 618, 618, 88, 313, 0, 0, - 0, 0, 0, 0, 453, 0, 0, 0, 3, 604, - 6, 9, 27, 33, 543, 543, 49, 60, 59, 0, - 76, 0, 80, 90, 0, 54, 248, 0, 61, 311, - 285, 286, 436, 287, 288, 289, 434, 433, 465, 435, - 432, 487, 0, 290, 291, 270, 5, 8, 338, 339, - 306, 618, 414, 0, 113, 114, 292, 0, 0, 0, - 0, 543, 543, 116, 497, 342, 0, 487, 291, 0, - 334, 168, 178, 169, 165, 194, 195, 196, 197, 176, + 2, 0, 0, 1, 0, 0, 0, 0, 295, 0, + 0, 319, 322, 0, 0, 605, 339, 340, 341, 342, + 307, 270, 270, 490, 489, 491, 492, 607, 0, 10, + 0, 494, 493, 495, 481, 591, 483, 482, 485, 484, + 477, 478, 439, 440, 496, 497, 293, 0, 0, 0, + 0, 0, 0, 297, 619, 619, 88, 314, 0, 0, + 0, 0, 0, 0, 454, 0, 0, 0, 3, 605, + 6, 9, 27, 33, 544, 544, 49, 60, 59, 0, + 76, 0, 80, 90, 0, 54, 248, 0, 61, 312, + 286, 287, 437, 288, 289, 290, 435, 434, 466, 436, + 433, 488, 0, 291, 292, 270, 5, 8, 339, 340, + 307, 619, 415, 0, 113, 114, 293, 0, 0, 0, + 0, 544, 544, 116, 498, 343, 0, 488, 292, 0, + 335, 168, 178, 169, 165, 194, 195, 196, 197, 176, 191, 184, 174, 173, 189, 172, 171, 167, 192, 166, 179, 183, 185, 177, 170, 186, 193, 188, 187, 180, 190, 175, 164, 182, 181, 163, 161, 162, 158, 159, 160, 118, 120, 119, 153, 154, 131, 132, 133, 140, 137, 139, 134, 135, 155, 156, 141, 142, 146, 149, 150, 136, 138, 128, 129, 130, 143, 144, 145, 147, - 148, 151, 152, 157, 574, 55, 121, 122, 573, 0, - 0, 0, 58, 543, 543, 0, 0, 54, 0, 487, - 0, 291, 0, 0, 0, 112, 0, 353, 352, 0, - 0, 487, 291, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 456, 461, 460, - 612, 614, 604, 615, 0, 458, 0, 616, 613, 605, - 588, 292, 278, 587, 273, 0, 265, 277, 74, 269, - 618, 436, 618, 578, 75, 73, 618, 259, 307, 72, - 0, 258, 413, 71, 604, 0, 18, 0, 0, 221, - 0, 222, 209, 212, 303, 0, 0, 0, 604, 15, - 604, 78, 14, 0, 604, 0, 609, 609, 249, 0, - 0, 609, 576, 0, 0, 86, 0, 96, 103, 543, - 470, 469, 471, 472, 0, 468, 467, 440, 445, 444, - 447, 0, 0, 442, 449, 0, 451, 0, 463, 0, - 474, 0, 478, 479, 53, 236, 237, 4, 605, 0, - 0, 0, 0, 0, 0, 0, 550, 546, 545, 544, - 547, 548, 0, 552, 564, 519, 520, 568, 567, 563, - 543, 0, 505, 0, 512, 517, 618, 522, 618, 542, - 0, 549, 551, 554, 528, 0, 561, 528, 566, 528, - 570, 526, 501, 0, 0, 401, 403, 0, 92, 0, + 148, 151, 152, 157, 575, 55, 121, 122, 574, 0, + 0, 0, 58, 544, 544, 0, 0, 54, 0, 488, + 0, 292, 0, 0, 0, 112, 0, 354, 353, 0, + 0, 488, 292, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 457, 462, 461, + 613, 615, 605, 616, 0, 459, 0, 617, 614, 606, + 589, 293, 278, 588, 273, 0, 265, 277, 74, 269, + 619, 437, 619, 579, 75, 73, 619, 259, 308, 72, + 0, 258, 414, 71, 605, 0, 18, 0, 0, 221, + 0, 222, 209, 212, 304, 0, 0, 0, 605, 15, + 605, 78, 14, 0, 605, 0, 610, 610, 249, 0, + 0, 610, 577, 0, 0, 86, 0, 96, 103, 544, + 471, 470, 472, 473, 0, 469, 468, 441, 446, 445, + 448, 0, 0, 443, 450, 0, 452, 0, 464, 0, + 475, 0, 479, 480, 53, 236, 237, 4, 606, 0, + 0, 0, 0, 0, 0, 0, 551, 547, 546, 545, + 548, 549, 0, 553, 565, 520, 521, 569, 568, 564, + 544, 0, 506, 0, 513, 518, 619, 523, 619, 543, + 0, 550, 552, 555, 529, 0, 562, 529, 567, 529, + 571, 527, 502, 0, 0, 402, 404, 0, 92, 0, 84, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 601, 618, 600, 0, 603, 602, 0, 418, 416, - 312, 437, 0, 0, 407, 65, 310, 331, 113, 114, - 115, 478, 479, 505, 498, 329, 0, 618, 0, 0, - 0, 599, 598, 56, 0, 618, 303, 0, 0, 344, - 0, 343, 0, 0, 618, 0, 0, 0, 0, 0, - 0, 303, 0, 618, 0, 326, 0, 126, 0, 0, - 457, 459, 0, 0, 617, 582, 583, 279, 586, 272, - 0, 606, 266, 0, 275, 0, 267, 0, 604, 0, - 604, 618, 618, 260, 271, 604, 0, 309, 52, 607, - 0, 0, 0, 0, 0, 0, 17, 604, 301, 13, - 605, 77, 297, 300, 304, 611, 250, 610, 611, 252, - 305, 577, 102, 94, 0, 89, 0, 0, 618, 0, - 543, 314, 398, 528, 473, 0, 0, 448, 454, 441, - 443, 450, 452, 464, 475, 0, 0, 7, 21, 22, - 23, 24, 25, 50, 51, 509, 556, 510, 508, 0, - 604, 604, 528, 0, 0, 511, 0, 524, 572, 521, - 0, 525, 506, 0, 535, 557, 0, 538, 565, 0, - 540, 569, 0, 0, 618, 278, 28, 30, 0, 31, - 604, 0, 82, 93, 48, 34, 46, 0, 253, 198, - 29, 0, 291, 226, 231, 232, 233, 228, 230, 240, - 241, 234, 235, 207, 210, 238, 239, 32, 218, 606, + 0, 602, 619, 601, 0, 604, 603, 0, 419, 417, + 313, 438, 0, 0, 408, 65, 311, 332, 113, 114, + 115, 479, 480, 506, 499, 330, 0, 619, 0, 0, + 0, 600, 599, 56, 0, 619, 304, 0, 0, 345, + 0, 344, 0, 0, 619, 0, 0, 0, 0, 0, + 0, 304, 0, 619, 0, 327, 0, 126, 0, 0, + 458, 460, 0, 0, 618, 583, 584, 279, 587, 272, + 0, 607, 266, 0, 275, 0, 267, 0, 605, 0, + 605, 619, 619, 260, 271, 605, 0, 310, 52, 608, + 0, 0, 0, 0, 0, 0, 17, 605, 302, 13, + 606, 77, 298, 301, 305, 612, 250, 611, 612, 252, + 306, 578, 102, 94, 0, 89, 0, 0, 619, 0, + 544, 315, 399, 529, 474, 0, 0, 449, 455, 442, + 444, 451, 453, 465, 476, 0, 0, 7, 21, 22, + 23, 24, 25, 50, 51, 510, 557, 511, 509, 0, + 605, 605, 529, 0, 0, 512, 0, 525, 573, 522, + 0, 526, 507, 0, 536, 558, 0, 539, 566, 0, + 541, 570, 0, 0, 619, 278, 28, 30, 0, 31, + 605, 0, 82, 93, 48, 34, 46, 0, 253, 198, + 29, 0, 292, 226, 231, 232, 233, 228, 230, 240, + 241, 234, 235, 207, 210, 238, 239, 32, 218, 607, 227, 229, 223, 224, 225, 213, 214, 215, 216, 217, - 591, 596, 592, 597, 412, 270, 410, 0, 618, 591, - 593, 592, 594, 411, 270, 591, 592, 270, 618, 618, + 592, 597, 593, 598, 413, 270, 411, 0, 619, 592, + 594, 593, 595, 412, 270, 592, 593, 270, 619, 619, 35, 253, 199, 45, 206, 63, 66, 0, 0, 0, - 113, 114, 117, 0, 0, 618, 0, 604, 0, 295, - 618, 618, 424, 0, 0, 618, 345, 595, 302, 0, - 591, 592, 618, 347, 319, 346, 322, 595, 302, 0, - 591, 592, 0, 0, 0, 0, 277, 0, 325, 581, - 584, 580, 276, 0, 280, 274, 618, 585, 579, 257, - 255, 261, 262, 264, 308, 608, 19, 0, 26, 205, - 79, 16, 604, 609, 95, 87, 99, 101, 0, 98, - 100, 606, 0, 0, 466, 0, 455, 219, 220, 550, - 548, 361, 604, 354, 504, 502, 0, 41, 244, 336, - 0, 0, 518, 618, 571, 0, 527, 555, 528, 528, - 528, 562, 528, 550, 528, 43, 246, 337, 389, 387, - 0, 386, 385, 284, 0, 91, 85, 0, 0, 0, - 0, 0, 618, 0, 0, 0, 0, 409, 69, 415, - 262, 0, 0, 408, 67, 404, 62, 0, 0, 618, - 332, 0, 0, 415, 335, 575, 57, 425, 426, 618, - 427, 0, 618, 350, 0, 0, 348, 0, 0, 415, - 0, 0, 0, 0, 0, 415, 0, 127, 462, 324, - 0, 0, 281, 268, 604, 618, 11, 298, 251, 97, - 0, 391, 0, 0, 315, 446, 362, 359, 553, 0, - 604, 0, 0, 523, 507, 0, 531, 0, 533, 0, - 539, 0, 536, 541, 0, 0, 384, 606, 606, 514, - 515, 618, 618, 369, 0, 559, 369, 369, 367, 0, - 0, 282, 83, 47, 254, 591, 592, 0, 591, 592, + 113, 114, 117, 0, 0, 619, 0, 605, 0, 296, + 619, 619, 425, 0, 0, 619, 346, 596, 303, 0, + 592, 593, 619, 348, 320, 347, 323, 596, 303, 0, + 592, 593, 0, 0, 0, 0, 277, 0, 326, 582, + 585, 581, 276, 281, 280, 274, 619, 586, 580, 257, + 255, 261, 262, 264, 309, 609, 19, 0, 26, 205, + 79, 16, 605, 610, 95, 87, 99, 101, 0, 98, + 100, 607, 0, 0, 467, 0, 456, 219, 220, 551, + 549, 362, 605, 355, 505, 503, 0, 41, 244, 337, + 0, 0, 519, 619, 572, 0, 528, 556, 529, 529, + 529, 563, 529, 551, 529, 43, 246, 338, 390, 388, + 0, 387, 386, 285, 0, 91, 85, 0, 0, 0, + 0, 0, 619, 0, 0, 0, 0, 410, 69, 416, + 262, 0, 0, 409, 67, 405, 62, 0, 0, 619, + 333, 0, 0, 416, 336, 576, 57, 426, 427, 619, + 428, 0, 619, 351, 0, 0, 349, 0, 0, 416, + 0, 0, 0, 0, 0, 416, 0, 127, 463, 325, + 0, 0, 282, 268, 605, 619, 11, 299, 251, 97, + 0, 392, 0, 0, 316, 447, 363, 360, 554, 0, + 605, 0, 0, 524, 508, 0, 532, 0, 534, 0, + 540, 0, 537, 542, 0, 0, 385, 607, 607, 515, + 516, 619, 619, 370, 0, 560, 370, 370, 368, 0, + 281, 283, 83, 47, 254, 592, 593, 0, 592, 593, 0, 0, 40, 203, 39, 204, 70, 0, 37, 201, - 38, 202, 68, 405, 406, 0, 0, 0, 0, 499, - 330, 0, 0, 429, 351, 0, 12, 431, 0, 316, - 0, 317, 0, 0, 327, 280, 618, 256, 263, 397, - 0, 0, 0, 0, 0, 357, 503, 42, 245, 528, - 528, 528, 528, 44, 247, 0, 0, 0, 513, 0, - 365, 366, 369, 377, 558, 0, 380, 0, 382, 402, - 283, 415, 243, 242, 36, 200, 419, 417, 0, 0, - 0, 428, 0, 104, 111, 0, 430, 0, 320, 323, - 0, 421, 422, 420, 395, 606, 393, 396, 400, 399, - 363, 360, 0, 355, 532, 0, 529, 534, 537, 390, - 388, 303, 0, 516, 618, 0, 368, 375, 369, 369, - 369, 560, 369, 369, 64, 333, 110, 0, 618, 0, - 618, 618, 0, 0, 392, 0, 358, 0, 528, 595, - 302, 364, 0, 372, 0, 374, 0, 381, 0, 378, - 383, 107, 109, 0, 591, 592, 423, 349, 328, 394, - 356, 530, 369, 369, 369, 369, 105, 373, 0, 370, - 376, 379, 369, 371 + 38, 202, 68, 406, 407, 0, 0, 0, 0, 500, + 331, 0, 0, 430, 352, 0, 12, 432, 0, 317, + 0, 318, 0, 0, 328, 280, 619, 256, 263, 398, + 0, 0, 0, 0, 0, 358, 504, 42, 245, 529, + 529, 529, 529, 44, 247, 0, 0, 0, 514, 0, + 366, 367, 370, 378, 559, 0, 381, 0, 383, 403, + 284, 416, 243, 242, 36, 200, 420, 418, 0, 0, + 0, 429, 0, 104, 111, 0, 431, 0, 321, 324, + 0, 422, 423, 421, 396, 607, 394, 397, 401, 400, + 364, 361, 0, 356, 533, 0, 530, 535, 538, 391, + 389, 304, 0, 517, 619, 0, 369, 376, 370, 370, + 370, 561, 370, 370, 64, 334, 110, 0, 619, 0, + 619, 619, 0, 0, 393, 0, 359, 0, 529, 596, + 303, 365, 0, 373, 0, 375, 0, 382, 0, 379, + 384, 107, 109, 0, 592, 593, 424, 350, 329, 395, + 357, 531, 370, 370, 370, 370, 105, 374, 0, 371, + 377, 380, 370, 372 }; /* YYPGOTO[NTERM-NUM]. */ @@ -2534,31 +2534,31 @@ static const yytype_int16 yytable[] = 778, 832, 272, 558, 672, 674, 503, 325, 507, 867, 316, 584, 842, 469, 222, 394, 817, 818, 445, 252, 655, 438, 728, -104, 664, 657, 527, 667, 1031, 281, - -111, 1007, 603, 125, -415, 3, 307, 311, 335, 337, - 339, 341, 535, -489, 796, 218, 581, 87, 685, 336, - 684, 328, 329, 739, 268, 274, -588, -486, 275, 125, - -485, -107, 394, 655, 788, 664, -109, 699, 614, 863, + -111, 1007, 603, 125, -416, 3, 307, 311, 335, 337, + 339, 341, 535, -490, 796, 218, 581, 87, 685, 336, + 684, 328, 329, 739, 268, 274, -589, -487, 275, 125, + -486, -107, 394, 655, 788, 664, -109, 699, 614, 863, 575, 444, 342, 343, 685, 438, 709, 277, 282, -110, -106, -108, 284, 271, 271, 560, -112, 271, 560, -104, - 560, 475, 560, -105, 560, 444, 288, 686, -415, -488, - -489, 496, 484, 330, 331, 1031, 467, 468, 614, 614, - -96, 789, 247, -415, 685, 248, 249, 777, -490, -491, - -480, 271, 271, 813, 1007, 779, 815, -493, 782, 610, - 777, 392, 392, 439, 576, -480, -486, -106, 87, 685, - -96, 748, 469, 250, 813, 251, -415, -103, -415, 670, - 673, 218, 218, 530, 394, -415, -488, 831, 441, 492, - 778, 537, 537, 524, -492, -112, 537, 927, -588, 894, - -480, -485, 894, 778, -588, -490, -491, -480, -99, 489, - -591, 206, 266, -101, -493, -592, 266, 439, 504, 549, + 560, 475, 560, -105, 560, 444, 288, 686, -416, -489, + -490, 496, 484, 330, 331, 1031, 467, 468, 614, 614, + -96, 789, 247, -416, 685, 248, 249, 777, -491, -492, + -481, 271, 271, 813, 1007, 779, 815, -494, 782, 610, + 777, 392, 392, 439, 576, -481, -487, -106, 87, 685, + -96, 748, 469, 250, 813, 251, -416, -103, -416, 670, + 673, 218, 218, 530, 394, -416, -489, 831, 441, 492, + 778, 537, 537, 524, -493, -112, 537, 927, -589, 894, + -481, -486, 894, 778, -589, -491, -492, -481, -99, 489, + -592, 206, 266, -101, -494, -593, 266, 439, 504, 549, 504, 325, 294, 276, 513, 544, -102, -98, -100, 506, - -104, 543, -494, 1013, 218, 477, 725, 725, 218, -480, - -97, 511, 218, 218, 397, 270, 87, 728, -484, 395, - 301, -492, 525, 87, 87, 529, 751, 479, 480, 756, + -104, 543, -495, 1013, 218, 477, 725, 725, 218, -481, + -97, 511, 218, 218, 397, 270, 87, 728, -485, 395, + 301, -493, 525, 87, 87, 529, 751, 479, 480, 756, 902, 87, 443, 777, -111, 840, -106, 770, 435, -106, -106, 247, 316, 777, 248, 249, 398, 732, 733, 894, - 828, -110, -77, 431, 781, 771, 1001, 526, 606, -494, - 544, -111, 272, 616, -106, 532, -480, -106, 501, -106, - 354, 355, 250, -91, 251, -484, 87, 218, 218, 218, + 828, -110, -77, 431, 781, 771, 1001, 526, 606, -495, + 544, -111, 272, 616, -106, 532, -481, -106, 501, -106, + 354, 355, 250, -91, 251, -485, 87, 218, 218, 218, 218, 87, 218, 218, 725, 779, 367, 365, 366, 367, 442, 125, 682, 567, 588, 433, 588, 841, 779, 916, 461, 87, 555, 616, 616, 922, 944, 276, 560, 612, @@ -2583,65 +2583,65 @@ static const yytype_int16 yytable[] = 663, 546, 741, -106, 803, 451, 452, 519, 543, 271, 951, 565, -108, 566, 1029, -108, -108, 1032, 785, 834, 831, 218, 912, 577, -98, 663, 583, 743, 918, 920, - -500, 125, 792, 125, 271, 586, 379, 379, 812, 471, + -501, 125, 792, 125, 271, 586, 379, 379, 812, 471, 218, 965, 966, -108, 589, -108, 471, 804, 590, 316, - -302, 271, 853, 453, 453, 593, 105, 598, 105, 596, - 271, 599, 601, 105, 105, -302, 597, -108, 600, 105, + -303, 271, 853, 453, 453, 593, 105, 598, 105, 596, + 271, 599, 601, 105, 105, -303, 597, -108, 600, 105, 105, 105, 602, 637, 105, 613, 989, 703, 808, 675, 271, 689, 917, 494, 271, 690, 504, 814, -100, 693, - 816, 694, 281, 614, 1073, 281, 792, 792, 125, -342, - -302, 948, -589, 1051, -592, 696, 105, -302, 537, 554, - 718, -105, 271, 281, -342, 271, 218, 87, 830, 833, + 816, 694, 281, 614, 1073, 281, 792, 792, 125, -343, + -303, 948, -590, 1051, -593, 696, 105, -303, 537, 554, + 718, -105, 271, 281, -343, 271, 218, 87, 830, 833, 105, 730, 735, 833, 847, 271, 738, -91, 379, 379, 833, 807, -97, 753, 984, 608, 766, 206, 797, 685, - 277, 1063, 799, 277, 769, 246, 787, 826, 798, -342, - 218, 995, 824, -595, 504, 809, -342, 997, 823, 807, - 553, 277, 206, 831, 923, 247, -484, 839, 248, 249, + 277, 1063, 799, 277, 769, 246, 787, 826, 798, -343, + 218, 995, 824, -596, 504, 809, -343, 997, 823, 807, + 553, 277, 206, 831, 923, 247, -485, 839, 248, 249, 616, 105, 494, 105, 845, 297, 616, 914, 848, 849, - 856, -484, 616, 616, 859, 871, 578, 865, 430, 763, + 856, -485, 616, 616, 859, 871, 578, 865, 430, 763, 519, 869, 821, 575, 543, 875, 250, 773, 251, 877, 879, 588, 881, 431, 592, 884, 780, 212, 212, 784, - 889, 930, 931, 212, -589, 935, -484, -595, 266, 939, - -589, 941, 949, -484, 855, 954, 846, 969, 87, 972, - 513, 979, -595, 975, 379, 316, 87, 621, 432, 977, + 889, 930, 931, 212, -590, 935, -485, -596, 266, 939, + -590, 941, 949, -485, 855, 954, 846, 969, 87, 972, + 513, 979, -596, 975, 379, 316, 87, 621, 432, 977, 218, 981, 297, 621, 218, 433, 987, 792, 986, 621, 621, 1009, 662, 998, 999, 87, 87, 933, 1008, 247, - 937, 1019, 248, 249, 105, -595, 1015, -595, 1020, 87, - 903, -591, 218, 1021, -595, 1035, 456, 105, 105, 663, + 937, 1019, 248, 249, 105, -596, 1015, -596, 1020, 87, + 903, -592, 218, 1021, -596, 1035, 456, 105, 105, 663, 1036, 87, 87, 504, 125, 379, 501, 1034, 616, 87, 250, 431, 251, 759, 1043, 357, 358, 359, 360, 1045, 87, 87, 855, 705, 705, 1047, 217, 217, 1052, 271, - 271, 760, 217, 267, 267, 447, -591, 267, 1054, 588, + 271, 760, 217, 267, 267, 447, -592, 267, 1054, 588, 588, 473, 1056, 1058, 1068, 247, 457, 968, 248, 249, - 105, -591, 974, 433, 105, -592, 431, -299, 105, 105, - -299, -299, 105, 1076, 289, 291, 292, 293, 938, 105, + 105, -592, 974, 433, 105, -593, 431, -300, 105, 105, + -300, -300, 105, 1076, 289, 291, 292, 293, 938, 105, 105, 267, 309, 1078, 494, 621, 250, 105, 251, 227, - -592, 494, 737, 345, 346, 87, 87, -299, -299, 992, - -299, 474, 130, 87, 833, 1039, 125, 1067, 433, 271, - -591, 125, 886, 1069, 866, 334, -292, 271, 328, 329, - 889, 924, 1066, 889, 491, -591, 889, 208, 889, 893, - 892, -292, 105, 105, 105, 105, 105, 105, 105, 105, + -593, 494, 737, 345, 346, 87, 87, -300, -300, 992, + -300, 474, 130, 87, 833, 1039, 125, 1067, 433, 271, + -592, 125, 886, 1069, 866, 334, -293, 271, 328, 329, + 889, 924, 1066, 889, 491, -592, 889, 208, 889, 893, + 892, -293, 105, 105, 105, 105, 105, 105, 105, 105, 482, 522, 772, 1044, 217, 1023, 1028, 0, 125, 297, - 0, 212, 212, 0, -592, 431, 0, 105, -591, 0, - -591, 0, 0, 87, -591, 87, -292, -591, 87, -592, - 330, 331, 0, -292, 0, 0, 889, 0, 105, 0, + 0, 212, 212, 0, -593, 431, 0, 105, -592, 0, + -592, 0, 0, 87, -592, 87, -293, -592, 87, -593, + 330, 331, 0, -293, 0, 0, 889, 0, 105, 0, 0, 105, 588, 105, 266, 0, 105, 876, 878, 880, 483, 882, 0, 883, 0, 379, 513, 433, 692, 833, - 0, 0, -592, 889, -592, 889, 218, 889, -592, 889, - 0, -592, 515, 518, 0, 959, 105, 961, 662, 490, + 0, 0, -593, 889, -593, 889, 218, 889, -593, 889, + 0, -593, 515, 518, 0, 959, 105, 961, 662, 490, 0, 962, 248, 249, 523, 0, 105, 105, 0, 889, 759, 820, 357, 358, 359, 360, 0, 0, 547, 431, - 0, 105, 0, 105, 105, 663, 0, 0, 760, -487, + 0, 105, 0, 105, 105, 663, 0, 0, 760, -488, 217, 217, 297, 431, 105, 271, 247, 0, 105, 248, - 249, 0, 105, 0, -487, 247, 531, 105, 248, 249, + 249, 0, 105, 0, -488, 247, 531, 105, 248, 249, 533, 471, 105, 562, 474, 328, 329, 212, 212, 212, - 212, 433, 573, 574, 0, -291, -303, 801, 548, 497, - 498, 499, 345, 1010, 1011, 433, 950, 0, 251, -487, - -291, -303, 431, 267, 1022, 105, -487, 267, 0, 0, + 212, 433, 573, 574, 0, -292, -304, 801, 548, 497, + 498, 499, 345, 1010, 1011, 433, 950, 0, 251, -488, + -292, -304, 431, 267, 1022, 105, -488, 267, 0, 0, 1024, 217, 217, 892, 105, 1030, 892, 1033, 892, 431, 0, 1012, 0, 695, 0, 0, 0, 330, 331, 874, - 0, 702, 105, 1037, 0, -291, -303, 802, 0, 0, - 105, 714, -291, -303, 433, 271, 0, 561, 431, 0, + 0, 702, 105, 1037, 0, -292, -304, 802, 0, 0, + 105, 714, -292, -304, 433, 271, 0, 561, 431, 0, 328, 329, 1046, 0, 457, 1048, 0, 327, 328, 329, 0, 433, 338, 328, 329, 0, 892, 105, 1014, 1016, 1017, 1018, 0, 0, 0, 929, 217, 217, 217, 217, @@ -2709,26 +2709,26 @@ static const yytype_int16 yytable[] = 0, 74, 0, 318, 0, 363, 0, 0, 0, 0, 0, 364, 365, 366, 367, 0, 0, 0, 0, 0, 0, 0, 356, 0, 357, 358, 359, 360, 0, 318, - 0, 75, -618, 0, 74, 0, 75, 0, 0, 368, + 0, 75, -619, 0, 74, 0, 75, 0, 0, 368, 361, 0, 369, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 75, 121, 356, 121, 357, 358, 359, 360, 0, 363, 104, 0, 0, 74, - 0, 364, 365, 366, 367, 267, 361, 75, -618, 0, + 0, 364, 365, 366, 367, 267, 361, 75, -619, 0, 0, 0, 75, 122, 0, 75, 0, 0, 0, 0, - 362, -618, -618, -618, -618, -618, -618, 0, -618, 368, - 0, 363, 369, 0, -618, -618, 0, 364, 365, 366, - 367, 0, 0, 1025, 0, -618, -618, 0, -618, -618, - -618, -618, -618, 0, 121, 75, 75, 0, 0, 0, + 362, -619, -619, -619, -619, -619, -619, 0, -619, 368, + 0, 363, 369, 0, -619, -619, 0, 364, 365, 366, + 367, 0, 0, 1025, 0, -619, -619, 0, -619, -619, + -619, -619, -619, 0, 121, 75, 75, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 369, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 75, 0, 0, 0, 104, 0, 0, - 0, 75, 0, 0, 0, 84, 0, 84, -618, 0, + 0, 75, 0, 0, 0, 84, 0, 84, -619, 0, 0, 75, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, -618, 0, 0, 0, 0, 0, 0, - 0, 0, 74, -618, 0, 0, -618, -618, 0, 0, + 0, 0, 0, -619, 0, 0, 0, 0, 0, 0, + 0, 0, 74, -619, 0, 0, -619, -619, 0, 0, 0, 0, 0, 356, 75, 357, 358, 359, 360, 0, - 0, 0, 0, 75, 0, 84, -618, -618, 0, 0, - 0, 361, 276, -618, -618, -618, -618, 122, 0, 122, + 0, 0, 0, 75, 0, 84, -619, -619, 0, 0, + 0, 361, 276, -619, -619, -619, -619, 122, 0, 122, 0, 0, 0, 0, 0, 104, 0, 0, 0, 75, 0, 0, 104, 104, 0, 0, 363, 0, 0, 0, 104, 0, 364, 365, 366, 367, 0, 0, 0, 0, @@ -2816,21 +2816,21 @@ static const yytype_int16 yytable[] = 0, 0, 0, 101, 0, 0, 102, 0, 0, 418, 617, 102, 0, 0, 0, 0, 0, 0, 0, 0, 84, 84, 0, 0, 991, 0, 0, 0, 84, 0, - -595, 102, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 0, -595, -595, -595, 0, -595, -595, 0, - -595, 0, 102, 0, 0, 0, -595, 102, 317, 0, - 102, 0, 0, 0, 0, 0, 0, -595, -595, 0, - -595, -595, -595, -595, -595, 0, 0, 0, 0, 0, + -596, 102, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 0, -596, -596, -596, 0, -596, -596, 0, + -596, 0, 102, 0, 0, 0, -596, 102, 317, 0, + 102, 0, 0, 0, 0, 0, 0, -596, -596, 0, + -596, -596, -596, -596, -596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 84, 0, 0, 84, 0, 0, 0, 0, 0, 0, - 102, 102, -595, -595, -595, -595, -595, -595, -595, -595, - -595, -595, -595, -595, 0, 0, 0, 102, -595, -595, - -595, 0, 805, -595, 0, 0, 101, 0, 102, 0, - 0, -595, 0, 0, 0, -595, 102, 0, 0, 0, - 0, 0, 0, 0, 0, -595, 102, 0, -595, -595, - 0, -107, -595, 0, -595, -595, -595, -595, -595, -595, - -595, -595, -595, -595, 0, 0, 0, 0, -595, -595, - -595, 800, -99, 0, 0, -595, -595, -595, -595, 102, + 102, 102, -596, -596, -596, -596, -596, -596, -596, -596, + -596, -596, -596, -596, 0, 0, 0, 102, -596, -596, + -596, 0, 805, -596, 0, 0, 101, 0, 102, 0, + 0, -596, 0, 0, 0, -596, 102, 0, 0, 0, + 0, 0, 0, 0, 0, -596, 102, 0, -596, -596, + 0, -107, -596, 0, -596, -596, -596, -596, -596, -596, + -596, -596, -596, -596, 0, 0, 0, 0, -596, -596, + -596, 800, -99, 0, 0, -596, -596, -596, -596, 102, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, @@ -2840,22 +2840,22 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 317, 101, 0, 0, 0, 419, 0, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 0, 0, 101, 101, 0, 0, 0, 0, - 0, 0, -619, -619, -619, -619, 407, 408, 101, -595, - -619, -619, 0, 0, 0, 0, 0, 0, 415, 416, - 101, 101, -595, -595, -595, 0, -595, -595, 101, -595, - 0, 418, 0, 0, 0, -595, 0, 0, 0, 101, - 101, 0, 0, 0, 0, 0, -595, -595, 0, -595, - -595, -595, -595, -595, 420, 421, 422, 423, 424, 425, + 0, 0, -620, -620, -620, -620, 407, 408, 101, -596, + -620, -620, 0, 0, 0, 0, 0, 0, 415, 416, + 101, 101, -596, -596, -596, 0, -596, -596, 101, -596, + 0, 418, 0, 0, 0, -596, 0, 0, 0, 101, + 101, 0, 0, 0, 0, 0, -596, -596, 0, -596, + -596, -596, -596, -596, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 0, 127, 102, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -595, -595, -595, -595, -595, -595, -595, -595, -595, - -595, -595, -595, 0, 0, 0, 0, -595, -595, -595, - 0, 805, -595, 0, 101, 101, 0, 0, 993, 0, - -595, 0, 101, 0, -595, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -595, 0, 0, -595, -595, 0, - -107, -595, 0, -595, -595, -595, -595, -595, -595, -595, - -595, -595, -595, 0, 0, 0, 0, -595, -595, -595, - 0, -595, 0, 0, -595, -595, -595, -595, 0, 0, + 0, -596, -596, -596, -596, -596, -596, -596, -596, -596, + -596, -596, -596, 0, 0, 0, 0, -596, -596, -596, + 0, 805, -596, 0, 101, 101, 0, 0, 993, 0, + -596, 0, 101, 0, -596, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -596, 0, 0, -596, -596, 0, + -107, -596, 0, -596, -596, -596, -596, -596, -596, -596, + -596, -596, -596, 0, 0, 0, 0, -596, -596, -596, + 0, -596, 0, 0, -596, -596, -596, -596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 101, 0, 0, 101, 102, 0, 0, 0, 0, 0, 0, 0, 102, 102, 0, 0, @@ -2874,7 +2874,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 102, 102, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, - 0, 0, 0, 0, 0, -618, 4, 0, 5, 6, + 0, 0, 0, 0, 0, -619, 4, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, @@ -2885,106 +2885,106 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, - 0, 58, 59, 60, 0, 61, 62, 63, -293, 64, - -618, 0, 0, -618, -618, 0, 0, 0, 0, 0, - 0, -293, -293, -293, -293, -293, -293, 0, -293, 65, - 66, 67, 0, 0, 0, -293, -293, -293, 0, 0, - 0, -618, 0, -618, 0, -293, -293, 0, -293, -293, - -293, -293, -293, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, + 0, 58, 59, 60, 0, 61, 62, 63, -294, 64, + -619, 0, 0, -619, -619, 0, 0, 0, 0, 0, + 0, -294, -294, -294, -294, -294, -294, 0, -294, 65, + 66, 67, 0, 0, 0, -294, -294, -294, 0, 0, + 0, -619, 0, -619, 0, -294, -294, 0, -294, -294, + -294, -294, -294, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, 0, 0, 0, 0, -293, -293, -293, 0, - 0, -293, 0, 0, 0, 0, 0, -293, 0, -293, - 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, - 0, -293, 0, -293, 0, 0, -293, -293, 0, 0, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, 0, 0, -414, 0, 0, -293, -293, -293, - -293, 0, 0, -293, -293, -293, -293, -414, -414, -414, - -414, -414, -414, 0, -414, 0, 0, 0, 0, 0, - -414, -414, -414, 0, 0, 0, 0, 0, 0, 0, - 0, -414, -414, 0, -414, -414, -414, -414, -414, 0, + -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, + -294, -294, 0, 0, 0, 0, -294, -294, -294, 0, + 0, -294, 0, 0, 0, 0, 0, -294, 0, -294, + 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, + 0, -294, 0, -294, 0, 0, -294, -294, 0, 0, + -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, + -294, -294, 0, 0, -415, 0, 0, -294, -294, -294, + -294, 0, 0, -294, -294, -294, -294, -415, -415, -415, + -415, -415, -415, 0, -415, 0, 0, 0, 0, 0, + -415, -415, -415, 0, 0, 0, 0, 0, 0, 0, + 0, -415, -415, 0, -415, -415, -415, -415, -415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -414, -414, -414, -414, - -414, -414, -414, -414, -414, -414, -414, -414, 0, 0, - 0, 0, -414, -414, -414, 0, 0, -414, 0, 0, - 0, 0, 0, -414, 0, -414, 0, 0, 0, -414, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -414, - 0, 0, -414, -414, 0, 0, -414, 0, -414, -414, - -414, -414, -414, -414, -414, -414, -414, -414, 0, 0, - -480, 0, -414, -414, -414, -414, -414, 0, 276, -414, - -414, -414, -414, -480, -480, -480, -480, -480, -480, 0, - -480, 0, 0, 0, 0, 0, 0, -480, -480, 0, - 0, 0, 0, 0, 0, 0, 0, -480, -480, 0, - -480, -480, -480, -480, -480, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -415, -415, -415, -415, + -415, -415, -415, -415, -415, -415, -415, -415, 0, 0, + 0, 0, -415, -415, -415, 0, 0, -415, 0, 0, + 0, 0, 0, -415, 0, -415, 0, 0, 0, -415, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -415, + 0, 0, -415, -415, 0, 0, -415, 0, -415, -415, + -415, -415, -415, -415, -415, -415, -415, -415, 0, 0, + -481, 0, -415, -415, -415, -415, -415, 0, 276, -415, + -415, -415, -415, -481, -481, -481, -481, -481, -481, 0, + -481, 0, 0, 0, 0, 0, 0, -481, -481, 0, + 0, 0, 0, 0, 0, 0, 0, -481, -481, 0, + -481, -481, -481, -481, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -480, -480, -480, -480, -480, -480, -480, -480, - -480, -480, -480, -480, 0, 0, 0, 0, -480, -480, - -480, 0, -480, -480, 0, 0, 0, 0, 0, -480, - 0, -480, 0, 0, 0, -480, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -480, 0, 0, -480, -480, - 0, -480, -480, 0, -480, -480, -480, -480, -480, -480, - -480, -480, -480, -480, 0, 0, -618, 0, 0, -480, - -480, -480, -480, 0, 0, -480, -480, -480, -480, -618, - -618, -618, -618, -618, -618, 0, -618, 0, 0, 0, - 0, 0, -618, -618, -618, 0, 0, 0, 0, 0, - 0, 0, 0, -618, -618, 0, -618, -618, -618, -618, - -618, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -481, -481, -481, -481, -481, -481, -481, -481, + -481, -481, -481, -481, 0, 0, 0, 0, -481, -481, + -481, 0, -481, -481, 0, 0, 0, 0, 0, -481, + 0, -481, 0, 0, 0, -481, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -481, 0, 0, -481, -481, + 0, -481, -481, 0, -481, -481, -481, -481, -481, -481, + -481, -481, -481, -481, 0, 0, -619, 0, 0, -481, + -481, -481, -481, 0, 0, -481, -481, -481, -481, -619, + -619, -619, -619, -619, -619, 0, -619, 0, 0, 0, + 0, 0, -619, -619, -619, 0, 0, 0, 0, 0, + 0, 0, 0, -619, -619, 0, -619, -619, -619, -619, + -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -618, -618, - -618, -618, -618, -618, -618, -618, -618, -618, -618, -618, - 0, 0, 0, 0, -618, -618, -618, 0, 0, -618, - 0, 0, 0, 0, 0, -618, 0, -618, 0, 0, - 0, -618, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -618, 0, 0, -618, -618, 0, 0, -618, 0, - -618, -618, -618, -618, -618, -618, -618, -618, -618, -618, - 0, 0, -618, 0, -618, -618, -618, -618, -618, 0, - 276, -618, -618, -618, -618, -618, -618, -618, -618, -618, - -618, 0, -618, 0, 0, 0, 0, 0, 0, -618, - -618, 0, 0, 0, 0, 0, 0, 0, 0, -618, - -618, 0, -618, -618, -618, -618, -618, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -619, -619, + -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, + 0, 0, 0, 0, -619, -619, -619, 0, 0, -619, + 0, 0, 0, 0, 0, -619, 0, -619, 0, 0, + 0, -619, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -619, 0, 0, -619, -619, 0, 0, -619, 0, + -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, + 0, 0, -619, 0, -619, -619, -619, -619, -619, 0, + 276, -619, -619, -619, -619, -619, -619, -619, -619, -619, + -619, 0, -619, 0, 0, 0, 0, 0, 0, -619, + -619, 0, 0, 0, 0, 0, 0, 0, 0, -619, + -619, 0, -619, -619, -619, -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -618, -618, -618, -618, -618, -618, - -618, -618, -618, -618, -618, -618, 0, 0, 0, 0, - -618, -618, -618, 0, 0, -618, 0, 0, 0, 0, - 0, -618, 0, -618, 0, 0, 0, -618, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -618, 0, 0, - -618, -618, 0, 0, -618, 0, -618, -618, -618, -618, - -618, -618, -618, -618, -618, -618, 0, 0, -302, 0, - 0, -618, -618, -618, -618, 0, 276, -618, -618, -618, - -618, -302, -302, -302, 0, -302, -302, 0, -302, 0, + 0, 0, 0, 0, -619, -619, -619, -619, -619, -619, + -619, -619, -619, -619, -619, -619, 0, 0, 0, 0, + -619, -619, -619, 0, 0, -619, 0, 0, 0, 0, + 0, -619, 0, -619, 0, 0, 0, -619, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -619, 0, 0, + -619, -619, 0, 0, -619, 0, -619, -619, -619, -619, + -619, -619, -619, -619, -619, -619, 0, 0, -303, 0, + 0, -619, -619, -619, -619, 0, 276, -619, -619, -619, + -619, -303, -303, -303, 0, -303, -303, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -302, -302, 0, -302, -302, - -302, -302, -302, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -303, -303, 0, -303, -303, + -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, 0, 0, 0, 0, -302, -302, -302, 0, - 806, -302, 0, 0, 0, 0, 0, 0, 0, -302, - 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -302, 0, 0, -302, -302, 0, -109, - -302, 0, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, 0, 0, -302, 0, 0, -302, -302, 0, - -101, 0, 0, -302, -302, -302, -302, -302, -302, -302, - 0, -302, -302, 0, -302, 0, 0, 0, 0, 0, + -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, + -303, -303, 0, 0, 0, 0, -303, -303, -303, 0, + 806, -303, 0, 0, 0, 0, 0, 0, 0, -303, + 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -303, 0, 0, -303, -303, 0, -109, + -303, 0, -303, -303, -303, -303, -303, -303, -303, -303, + -303, -303, 0, 0, -303, 0, 0, -303, -303, 0, + -101, 0, 0, -303, -303, -303, -303, -303, -303, -303, + 0, -303, -303, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -302, -302, 0, -302, -302, -302, -302, -302, 0, + 0, -303, -303, 0, -303, -303, -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, - 0, 0, -302, -302, -302, 0, 806, -302, 0, 0, - 0, 0, 0, 0, 0, -302, 0, 0, 0, -302, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, - 0, 0, -302, -302, 0, -109, -302, 0, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, - 0, 0, 0, -302, -302, 0, -302, 0, 0, -302, - -302, -302, -302, 295, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, -618, -618, -618, 0, 0, - -618, 15, 0, 16, 17, 18, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -303, -303, -303, -303, + -303, -303, -303, -303, -303, -303, -303, -303, 0, 0, + 0, 0, -303, -303, -303, 0, 806, -303, 0, 0, + 0, 0, 0, 0, 0, -303, 0, 0, 0, -303, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -303, + 0, 0, -303, -303, 0, -109, -303, 0, -303, -303, + -303, -303, -303, -303, -303, -303, -303, -303, 0, 0, + 0, 0, 0, -303, -303, 0, -303, 0, 0, -303, + -303, -303, -303, 295, 0, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, -619, -619, -619, 0, 0, + -619, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, @@ -2993,12 +2993,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, - 60, 0, 61, 62, 63, 0, 64, -618, 0, 0, - -618, -618, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 61, 62, 63, 0, 64, -619, 0, 0, + -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -618, 295, - -618, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, 0, -618, 0, -618, -618, 15, 0, 16, + 0, 0, 0, 0, 0, 0, 0, 0, -619, 295, + -619, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, 0, -619, 0, -619, -619, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, @@ -3008,12 +3008,12 @@ static const yytype_int16 yytable[] = 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, - 63, 0, 64, -618, 0, 0, -618, -618, 0, 0, + 63, 0, 64, -619, 0, 0, -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -618, 295, -618, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 0, 0, -618, - 0, 0, -618, 15, -618, 16, 17, 18, 19, 0, + 0, 0, 0, 0, -619, 295, -619, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 0, 0, -619, + 0, 0, -619, 15, -619, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -3022,12 +3022,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, - 58, 59, 60, 0, 61, 62, 63, 0, 64, -618, - 0, 0, -618, -618, 0, 0, 0, 0, 0, 0, + 58, 59, 60, 0, 61, 62, 63, 0, 64, -619, + 0, 0, -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -618, 295, -618, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 0, 0, -618, 0, 0, -618, 15, + -619, 295, -619, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 0, 0, -619, 0, 0, -619, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, @@ -3037,10 +3037,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, - 61, 62, 63, 0, 64, -618, 0, 0, -618, -618, + 61, 62, 63, 0, 64, -619, 0, 0, -619, -619, 4, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, - 16, 17, 18, 19, 0, 0, -618, 0, -618, 20, + 16, 17, 18, 19, 0, 0, -619, 0, -619, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, @@ -3049,12 +3049,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, - 62, 63, 0, 64, -618, 0, 0, -618, -618, 0, + 62, 63, 0, 64, -619, 0, 0, -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 65, 66, 67, 0, 0, -618, 0, - 0, 0, 0, 0, 0, -618, 295, -618, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 0, -618, - -618, 0, 0, 0, 15, 0, 16, 17, 18, 19, + 0, 0, 0, 65, 66, 67, 0, 0, -619, 0, + 0, 0, 0, 0, 0, -619, 295, -619, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 0, -619, + -619, 0, 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, @@ -3064,10 +3064,10 @@ static const yytype_int16 yytable[] = 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, - -618, 0, 0, -618, -618, 295, 0, 5, 6, 7, + -619, 0, 0, -619, -619, 295, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, 0, - 0, -618, 0, -618, 20, 21, 22, 23, 24, 25, + 0, -619, 0, -619, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, @@ -3075,11 +3075,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 296, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, - 58, 59, 60, 0, 61, 62, 63, 0, 64, -618, - 0, 0, -618, -618, 295, 0, 5, 6, 7, 8, + 58, 59, 60, 0, 61, 62, 63, 0, 64, -619, + 0, 0, -619, -619, 295, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, - 67, 0, 15, 0, 16, 17, 18, 19, 0, -618, - -618, 0, -618, 20, 21, 22, 23, 24, 25, 26, + 67, 0, 15, 0, 16, 17, 18, 19, 0, -619, + -619, 0, -619, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, @@ -3087,11 +3087,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, - 59, 60, 0, 61, 62, 63, 0, 64, -618, 0, - 0, -618, -618, 295, 0, 5, 6, 7, 8, 9, + 59, 60, 0, 61, 62, 63, 0, 64, -619, 0, + 0, -619, -619, 295, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, - 0, 15, 0, 16, 17, 18, 19, 0, -618, -618, - 0, -618, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 15, 0, 16, 17, 18, 19, 0, -619, -619, + 0, -619, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, @@ -3099,12 +3099,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, - 60, 0, 61, 62, 63, 0, 64, -618, 0, 0, - -618, -618, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 61, 62, 63, 0, 64, -619, 0, 0, + -619, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, - 0, -618, 0, 0, 0, 0, 0, 0, -618, 295, - -618, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, 0, -618, 0, 0, 0, 15, 0, 16, + 0, -619, 0, 0, 0, 0, 0, 0, -619, 295, + -619, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, 0, -619, 0, 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, @@ -3114,10 +3114,10 @@ static const yytype_int16 yytable[] = 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, - 63, 0, 64, -618, 0, 0, -618, -618, 0, 0, + 63, 0, 64, -619, 0, 0, -619, -619, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, - 18, 19, 0, 0, -618, 0, -618, 20, 21, 22, + 18, 19, 0, 0, -619, 0, -619, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, @@ -3191,83 +3191,83 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, - 0, 0, 203, 204, -588, -588, -588, -588, -588, -588, - -588, -588, -588, 0, 0, 0, 0, 0, 0, 0, - -588, 0, -588, -588, -588, -588, 0, -588, 0, 0, - 0, -588, -588, -588, -588, -588, -588, -588, 0, 0, - -588, 0, 0, 0, 0, 0, 0, 0, 0, -588, - -588, -588, -588, -588, -588, -588, -588, -588, 0, -588, - -588, -588, 0, 0, -588, 0, 0, -588, -588, 0, - -588, -588, -588, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -588, -588, 0, 0, 0, - 0, 0, -588, 0, 0, -588, -588, 0, -588, -588, - 0, -588, 0, -588, -588, -588, 0, -588, -588, -588, - 0, -588, -588, -588, 0, -588, 0, 0, 0, 0, + 0, 0, 203, 204, -589, -589, -589, -589, -589, -589, + -589, -589, -589, 0, 0, 0, 0, 0, 0, 0, + -589, 0, -589, -589, -589, -589, 0, -589, 0, 0, + 0, -589, -589, -589, -589, -589, -589, -589, 0, 0, + -589, 0, 0, 0, 0, 0, 0, 0, 0, -589, + -589, -589, -589, -589, -589, -589, -589, -589, 0, -589, + -589, -589, 0, 0, -589, 0, 0, -589, -589, 0, + -589, -589, -589, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -589, -589, 0, 0, 0, + 0, 0, -589, 0, 0, -589, -589, 0, -589, -589, + 0, -589, 0, -589, -589, -589, 0, -589, -589, -589, + 0, -589, -589, -589, 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -588, -588, -588, 0, -588, - 0, 0, 0, 0, 0, -588, -589, -589, -589, -589, - -589, -589, -589, -589, -589, 0, 0, 0, 0, 0, - 0, 0, -589, 0, -589, -589, -589, -589, 0, -589, - 0, 0, 0, -589, -589, -589, -589, -589, -589, -589, - 0, 0, -589, 0, 0, 0, 0, 0, 0, 0, - 0, -589, -589, -589, -589, -589, -589, -589, -589, -589, - 0, -589, -589, -589, 0, 0, -589, 0, 0, -589, - -589, 0, -589, -589, -589, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -589, -589, 0, - 0, 0, 0, 0, -589, 0, 0, -589, -589, 0, - -589, -589, 0, -589, 0, -589, -589, -589, 0, -589, - -589, -589, 0, -589, -589, -589, 0, -589, 0, 0, - 0, 0, 0, 0, -591, -591, -591, -591, -591, -591, - -591, -591, -591, 0, 0, 0, 0, -589, -589, -589, - -591, -589, -591, -591, -591, -591, 0, -589, 0, 0, - 0, -591, -591, -591, -591, -591, -591, -591, 0, 0, - -591, 0, 0, 0, 0, 0, 0, 0, 0, -591, - -591, -591, -591, -591, -591, -591, -591, -591, 0, -591, - -591, -591, 0, 0, -591, 0, 0, -591, -591, 0, - -591, -591, -591, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -591, -591, 0, 0, 0, - 0, 0, -591, 837, 0, -591, -591, 0, -591, -591, - 0, -591, 0, -591, -591, -591, 0, -591, -591, -591, - 0, -591, -591, -591, 0, -591, 0, 0, 0, 0, - 0, 0, -107, -592, -592, -592, -592, -592, -592, -592, - -592, -592, 0, 0, 0, -591, -591, -591, 0, -592, - 0, -592, -592, -592, -592, -591, 0, 0, 0, 0, - -592, -592, -592, -592, -592, -592, -592, 0, 0, -592, - 0, 0, 0, 0, 0, 0, 0, 0, -592, -592, - -592, -592, -592, -592, -592, -592, -592, 0, -592, -592, - -592, 0, 0, -592, 0, 0, -592, -592, 0, -592, - -592, -592, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -592, -592, 0, 0, 0, 0, - 0, -592, 838, 0, -592, -592, 0, -592, -592, 0, - -592, 0, -592, -592, -592, 0, -592, -592, -592, 0, - -592, -592, -592, 0, -592, 0, 0, 0, 0, 0, - 0, -109, -593, -593, -593, -593, -593, -593, -593, -593, - -593, 0, 0, 0, -592, -592, -592, 0, -593, 0, - -593, -593, -593, -593, -592, 0, 0, 0, 0, -593, - -593, -593, -593, -593, -593, -593, 0, 0, -593, 0, - 0, 0, 0, 0, 0, 0, 0, -593, -593, -593, - -593, -593, -593, -593, -593, -593, 0, -593, -593, -593, - 0, 0, -593, 0, 0, -593, -593, 0, -593, -593, - -593, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -593, -593, 0, 0, 0, 0, 0, - -593, 0, 0, -593, -593, 0, -593, -593, 0, -593, - 0, -593, -593, -593, 0, -593, -593, -593, 0, -593, - -593, -593, 0, -593, 0, 0, 0, 0, 0, 0, - -594, -594, -594, -594, -594, -594, -594, -594, -594, 0, - 0, 0, 0, -593, -593, -593, -594, 0, -594, -594, - -594, -594, 0, -593, 0, 0, 0, -594, -594, -594, - -594, -594, -594, -594, 0, 0, -594, 0, 0, 0, - 0, 0, 0, 0, 0, -594, -594, -594, -594, -594, - -594, -594, -594, -594, 0, -594, -594, -594, 0, 0, - -594, 0, 0, -594, -594, 0, -594, -594, -594, 0, + 0, 0, 0, 0, 0, -589, -589, -589, 0, -589, + 0, 0, 0, 0, 0, -589, -590, -590, -590, -590, + -590, -590, -590, -590, -590, 0, 0, 0, 0, 0, + 0, 0, -590, 0, -590, -590, -590, -590, 0, -590, + 0, 0, 0, -590, -590, -590, -590, -590, -590, -590, + 0, 0, -590, 0, 0, 0, 0, 0, 0, 0, + 0, -590, -590, -590, -590, -590, -590, -590, -590, -590, + 0, -590, -590, -590, 0, 0, -590, 0, 0, -590, + -590, 0, -590, -590, -590, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -590, -590, 0, + 0, 0, 0, 0, -590, 0, 0, -590, -590, 0, + -590, -590, 0, -590, 0, -590, -590, -590, 0, -590, + -590, -590, 0, -590, -590, -590, 0, -590, 0, 0, + 0, 0, 0, 0, -592, -592, -592, -592, -592, -592, + -592, -592, -592, 0, 0, 0, 0, -590, -590, -590, + -592, -590, -592, -592, -592, -592, 0, -590, 0, 0, + 0, -592, -592, -592, -592, -592, -592, -592, 0, 0, + -592, 0, 0, 0, 0, 0, 0, 0, 0, -592, + -592, -592, -592, -592, -592, -592, -592, -592, 0, -592, + -592, -592, 0, 0, -592, 0, 0, -592, -592, 0, + -592, -592, -592, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -592, -592, 0, 0, 0, + 0, 0, -592, 837, 0, -592, -592, 0, -592, -592, + 0, -592, 0, -592, -592, -592, 0, -592, -592, -592, + 0, -592, -592, -592, 0, -592, 0, 0, 0, 0, + 0, 0, -107, -593, -593, -593, -593, -593, -593, -593, + -593, -593, 0, 0, 0, -592, -592, -592, 0, -593, + 0, -593, -593, -593, -593, -592, 0, 0, 0, 0, + -593, -593, -593, -593, -593, -593, -593, 0, 0, -593, + 0, 0, 0, 0, 0, 0, 0, 0, -593, -593, + -593, -593, -593, -593, -593, -593, -593, 0, -593, -593, + -593, 0, 0, -593, 0, 0, -593, -593, 0, -593, + -593, -593, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -593, -593, 0, 0, 0, 0, + 0, -593, 838, 0, -593, -593, 0, -593, -593, 0, + -593, 0, -593, -593, -593, 0, -593, -593, -593, 0, + -593, -593, -593, 0, -593, 0, 0, 0, 0, 0, + 0, -109, -594, -594, -594, -594, -594, -594, -594, -594, + -594, 0, 0, 0, -593, -593, -593, 0, -594, 0, + -594, -594, -594, -594, -593, 0, 0, 0, 0, -594, + -594, -594, -594, -594, -594, -594, 0, 0, -594, 0, + 0, 0, 0, 0, 0, 0, 0, -594, -594, -594, + -594, -594, -594, -594, -594, -594, 0, -594, -594, -594, + 0, 0, -594, 0, 0, -594, -594, 0, -594, -594, + -594, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -594, -594, 0, 0, 0, 0, 0, + -594, 0, 0, -594, -594, 0, -594, -594, 0, -594, + 0, -594, -594, -594, 0, -594, -594, -594, 0, -594, + -594, -594, 0, -594, 0, 0, 0, 0, 0, 0, + -595, -595, -595, -595, -595, -595, -595, -595, -595, 0, + 0, 0, 0, -594, -594, -594, -595, 0, -595, -595, + -595, -595, 0, -594, 0, 0, 0, -595, -595, -595, + -595, -595, -595, -595, 0, 0, -595, 0, 0, 0, + 0, 0, 0, 0, 0, -595, -595, -595, -595, -595, + -595, -595, -595, -595, 0, -595, -595, -595, 0, 0, + -595, 0, 0, -595, -595, 0, -595, -595, -595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -594, -594, 0, 0, 0, 0, 0, -594, 0, - 0, -594, -594, 0, -594, -594, 0, -594, 0, -594, - -594, -594, 0, -594, -594, -594, 0, -594, -594, -594, - 0, -594, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -595, -595, 0, 0, 0, 0, 0, -595, 0, + 0, -595, -595, 0, -595, -595, 0, -595, 0, -595, + -595, -595, 0, -595, -595, -595, 0, -595, -595, -595, + 0, -595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -594, -594, -594, 0, 0, 0, 0, 0, 0, - 0, -594, 131, 132, 133, 134, 135, 136, 137, 138, + 0, -595, -595, -595, 0, 0, 0, 0, 0, 0, + 0, -595, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, 162, 163, 164, 0, @@ -3807,7 +3807,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 0, 0, 0, - 0, 0, 0, 0, -281, 403, 404, 405, 406, 407, + 0, 0, 0, 0, -282, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 0, 0, 0, 0, 415, 416, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, @@ -3827,7 +3827,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -619, -619, 0, 0, 0, 0, 415, 416, 0, + 412, -620, -620, 0, 0, 0, 0, 415, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5295,40 +5295,40 @@ static const yytype_int16 yyr1[] = 190, 190, 190, 191, 191, 192, 192, 192, 193, 193, 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, 197, 196, 198, 198, 199, 199, 200, 201, 201, 201, - 201, 201, 202, 202, 202, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 204, 203, 205, 206, 203, 207, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 208, 209, 203, 203, 203, 210, 211, - 203, 212, 213, 203, 203, 203, 214, 215, 203, 216, - 203, 217, 218, 203, 219, 203, 203, 203, 203, 203, - 203, 203, 220, 221, 221, 221, 222, 222, 223, 223, - 224, 224, 225, 225, 226, 226, 226, 226, 226, 226, - 226, 226, 227, 226, 228, 228, 228, 228, 229, 229, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 231, 231, 233, 232, 232, - 232, 234, 234, 235, 235, 236, 236, 237, 237, 238, - 238, 240, 239, 241, 241, 241, 241, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 244, 243, 245, 243, - 246, 247, 247, 248, 248, 249, 249, 249, 250, 250, - 251, 251, 252, 252, 252, 252, 253, 253, 254, 254, - 254, 254, 255, 255, 256, 257, 256, 256, 256, 258, - 258, 259, 259, 260, 261, 261, 262, 262, 263, 263, - 264, 265, 264, 266, 266, 267, 267, 268, 269, 269, - 269, 269, 269, 269, 270, 270, 271, 271, 271, 271, - 272, 272, 272, 272, 272, 273, 273, 274, 274, 274, - 274, 274, 274, 274, 274, 275, 275, 276, 277, 276, - 278, 278, 279, 279, 279, 280, 280, 280, 280, 281, - 281, 282, 282, 283, 283, 284, 284, 285, 285, 286, - 286, 287, 287, 288, 288, 288, 288, 289, 289, 290, + 201, 201, 201, 202, 202, 202, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 204, 203, 205, 206, 203, + 207, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 208, 209, 203, 203, 203, 210, + 211, 203, 212, 213, 203, 203, 203, 214, 215, 203, + 216, 203, 217, 218, 203, 219, 203, 203, 203, 203, + 203, 203, 203, 220, 221, 221, 221, 222, 222, 223, + 223, 224, 224, 225, 225, 226, 226, 226, 226, 226, + 226, 226, 226, 227, 226, 228, 228, 228, 228, 229, + 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 231, 231, 233, 232, + 232, 232, 234, 234, 235, 235, 236, 236, 237, 237, + 238, 238, 240, 239, 241, 241, 241, 241, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 244, 243, 245, + 243, 246, 247, 247, 248, 248, 249, 249, 249, 250, + 250, 251, 251, 252, 252, 252, 252, 253, 253, 254, + 254, 254, 254, 255, 255, 256, 257, 256, 256, 256, + 258, 258, 259, 259, 260, 261, 261, 262, 262, 263, + 263, 264, 265, 264, 266, 266, 267, 267, 268, 269, + 269, 269, 269, 269, 269, 270, 270, 271, 271, 271, + 271, 272, 272, 272, 272, 272, 273, 273, 274, 274, + 274, 274, 274, 274, 274, 274, 275, 275, 276, 277, + 276, 278, 278, 279, 279, 279, 280, 280, 280, 280, + 281, 281, 282, 282, 283, 283, 284, 284, 285, 285, + 286, 286, 287, 287, 288, 288, 288, 288, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 291, 291, 291, 291, 291, 292, - 292, 293, 294, 293, 295, 295, 296, 297, 298, 299, - 299, 300, 300, 301, 301, 302, 302, 303, 303, 304, - 304, 305, 305, 306, 307, 306, 308, 308, 309, 309, - 310, 310, 310, 310, 310, 310, 310, 310, 311, 311, - 311, 312, 312, 312, 312, 313, 313, 313, 314, 314, - 315, 315, 316, 316, 317, 317, 318, 318, 319, 320, - 320, 320, 321, 321, 322, 322, 323, 323, 324 + 290, 290, 290, 290, 290, 291, 291, 291, 291, 291, + 292, 292, 293, 294, 293, 295, 295, 296, 297, 298, + 299, 299, 300, 300, 301, 301, 302, 302, 303, 303, + 304, 304, 305, 305, 306, 307, 306, 308, 308, 309, + 309, 310, 310, 310, 310, 310, 310, 310, 310, 311, + 311, 311, 312, 312, 312, 312, 313, 313, 313, 314, + 314, 315, 315, 316, 316, 317, 317, 318, 318, 319, + 320, 320, 320, 321, 321, 322, 322, 323, 323, 324 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -5362,40 +5362,40 @@ static const yytype_int8 yyr2[] = 2, 4, 2, 1, 3, 3, 5, 3, 1, 1, 1, 2, 2, 4, 2, 1, 2, 2, 4, 1, 0, 2, 2, 1, 2, 1, 2, 1, 1, 2, - 3, 4, 3, 4, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 0, 5, 0, - 3, 3, 3, 2, 3, 3, 1, 2, 4, 3, - 2, 1, 2, 0, 0, 5, 6, 6, 0, 0, - 7, 0, 0, 7, 5, 4, 0, 0, 9, 0, - 6, 0, 0, 8, 0, 5, 4, 4, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 5, - 1, 2, 1, 1, 1, 4, 6, 3, 5, 2, - 4, 1, 0, 4, 4, 2, 2, 1, 2, 0, - 6, 8, 4, 6, 4, 3, 6, 2, 4, 6, - 2, 4, 2, 4, 1, 1, 1, 0, 4, 1, - 4, 1, 4, 1, 3, 1, 1, 4, 1, 3, - 3, 0, 5, 2, 4, 5, 5, 2, 4, 4, - 3, 3, 3, 2, 1, 4, 0, 5, 0, 5, - 5, 1, 1, 6, 1, 1, 1, 1, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, - 2, 3, 1, 2, 1, 0, 4, 1, 2, 2, - 3, 2, 3, 1, 1, 2, 1, 2, 1, 2, - 1, 0, 4, 2, 3, 1, 4, 2, 1, 1, - 1, 1, 1, 2, 2, 3, 1, 1, 2, 2, + 3, 3, 4, 3, 4, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 0, 5, + 0, 3, 3, 3, 2, 3, 3, 1, 2, 4, + 3, 2, 1, 2, 0, 0, 5, 6, 6, 0, + 0, 7, 0, 0, 7, 5, 4, 0, 0, 9, + 0, 6, 0, 0, 8, 0, 5, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 5, 1, 2, 1, 1, 1, 4, 6, 3, 5, + 2, 4, 1, 0, 4, 4, 2, 2, 1, 2, + 0, 6, 8, 4, 6, 4, 3, 6, 2, 4, + 6, 2, 4, 2, 4, 1, 1, 1, 0, 4, + 1, 4, 1, 4, 1, 3, 1, 1, 4, 1, + 3, 3, 0, 5, 2, 4, 5, 5, 2, 4, + 4, 3, 3, 3, 2, 1, 4, 0, 5, 0, + 5, 5, 1, 1, 6, 1, 1, 1, 1, 2, + 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, + 1, 2, 3, 1, 2, 1, 0, 4, 1, 2, + 2, 3, 2, 3, 1, 1, 2, 1, 2, 1, + 2, 1, 0, 4, 2, 3, 1, 4, 2, 1, + 1, 1, 1, 1, 2, 2, 3, 1, 1, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 4, 1, 1, 3, 5, 3, 1, 2, 4, 2, + 2, 2, 2, 1, 2, 1, 1, 3, 1, 3, + 1, 1, 2, 1, 4, 2, 2, 1, 2, 0, + 6, 8, 4, 6, 4, 6, 2, 4, 6, 2, + 4, 2, 4, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 4, 1, 3, 2, 2, 2, + 1, 3, 1, 3, 1, 1, 2, 1, 1, 1, + 2, 1, 2, 1, 1, 0, 4, 1, 2, 1, + 3, 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, - 1, 1, 3, 5, 3, 1, 2, 4, 2, 2, - 2, 2, 1, 2, 1, 1, 3, 1, 3, 1, - 1, 2, 1, 4, 2, 2, 1, 2, 0, 6, - 8, 4, 6, 4, 6, 2, 4, 6, 2, 4, - 2, 4, 1, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 3, 2, 2, 2, 1, - 3, 1, 3, 1, 1, 2, 1, 1, 1, 2, - 1, 2, 1, 1, 0, 4, 1, 2, 1, 3, - 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 1, 0, 2, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 2, 0 + 1, 1, 1, 1, 1, 0, 1, 0, 2, 2, + 0, 1, 1, 1, 1, 1, 1, 1, 2, 0 }; @@ -7893,24 +7893,24 @@ yyreduce: case 281: #line 2655 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } #line 7899 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: -#line 2661 "mrbgems/mruby-compiler/core/parse.y" +#line 2659 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7907 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: -#line 2666 "mrbgems/mruby-compiler/core/parse.y" +#line 2665 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 7916 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -7918,15 +7918,15 @@ yyreduce: case 284: #line 2670 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } #line 7924 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 292: -#line 2683 "mrbgems/mruby-compiler/core/parse.y" + case 285: +#line 2674 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_nvar(p, (yyvsp[0].num)); + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } #line 7932 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -7934,7 +7934,7 @@ yyreduce: case 293: #line 2687 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } #line 7940 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -7942,63 +7942,63 @@ yyreduce: case 294: #line 2691 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; + (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 7949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 295: -#line 2697 "mrbgems/mruby-compiler/core/parse.y" +#line 2695 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 296: +#line 2701 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = (yyvsp[-1].nd); } -#line 7958 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 296: -#line 2702 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; - } -#line 7967 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7966 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: #line 2706 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 7973 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 7975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: -#line 2707 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmdarg_stack = (yyvsp[-3].stack); - (yyval.nd) = (yyvsp[-2].nd); - } -#line 7982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2710 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} +#line 7981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: #line 2711 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 7988 "mrbgems/mruby-compiler/core/y.tab.c" + { + p->cmdarg_stack = (yyvsp[-3].stack); + (yyval.nd) = (yyvsp[-2].nd); + } +#line 7990 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: -#line 2712 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_nil(p); - } +#line 2715 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} #line 7996 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: #line 2716 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = new_nil(p); } #line 8004 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8006,7 +8006,7 @@ yyreduce: case 302: #line 2720 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + (yyval.nd) = (yyvsp[-1].nd); } #line 8012 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8014,7 +8014,7 @@ yyreduce: case 303: #line 2724 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_colon3(p, (yyvsp[0].id)); + (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } #line 8020 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8022,25 +8022,25 @@ yyreduce: case 304: #line 2728 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_array(p, (yyvsp[-1].nd)); - NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); + (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8028 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: -#line 2733 "mrbgems/mruby-compiler/core/parse.y" +#line 2732 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); + (yyval.nd) = new_array(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8037 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: -#line 2738 "mrbgems/mruby-compiler/core/parse.y" +#line 2737 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_return(p, 0); + (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); + NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } #line 8046 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8048,7 +8048,7 @@ yyreduce: case 307: #line 2742 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_yield(p, (yyvsp[0].nd)); + (yyval.nd) = new_return(p, 0); } #line 8054 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8056,7 +8056,7 @@ yyreduce: case 308: #line 2746 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); + (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } #line 8062 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8064,7 +8064,7 @@ yyreduce: case 309: #line 2750 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = call_uni_op(p, new_nil(p), "!"); + (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } #line 8070 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8072,42 +8072,50 @@ yyreduce: case 310: #line 2754 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); + (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } #line 8078 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 312: -#line 2759 "mrbgems/mruby-compiler/core/parse.y" + case 311: +#line 2758 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); + } +#line 8086 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 313: +#line 2763 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 8087 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8095 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 313: -#line 2764 "mrbgems/mruby-compiler/core/parse.y" + case 314: +#line 2768 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 314: -#line 2771 "mrbgems/mruby-compiler/core/parse.y" + case 315: +#line 2775 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 315: -#line 2776 "mrbgems/mruby-compiler/core/parse.y" + case 316: +#line 2780 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -8116,73 +8124,65 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 8120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8128 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 316: -#line 2788 "mrbgems/mruby-compiler/core/parse.y" + case 317: +#line 2792 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 8129 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 317: -#line 2796 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_unless(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); - SET_LINENO((yyval.nd), (yyvsp[-5].num)); - } -#line 8138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8137 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: #line 2800 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8144 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.nd) = new_unless(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); + SET_LINENO((yyval.nd), (yyvsp[-5].num)); + } +#line 8146 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: -#line 2800 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} -#line 8150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2804 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8152 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: -#line 2803 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); - SET_LINENO((yyval.nd), (yyvsp[-6].num)); - } -#line 8159 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2804 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8158 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: #line 2807 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8165 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); + SET_LINENO((yyval.nd), (yyvsp[-6].num)); + } +#line 8167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: -#line 2807 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} -#line 8171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2811 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8173 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: -#line 2810 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); - SET_LINENO((yyval.nd), (yyvsp[-6].num)); - } -#line 8180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2811 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8179 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: -#line 2817 "mrbgems/mruby-compiler/core/parse.y" +#line 2814 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); + (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); + SET_LINENO((yyval.nd), (yyvsp[-6].num)); } #line 8188 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8190,75 +8190,83 @@ yyreduce: case 325: #line 2821 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); + (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } #line 8196 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: #line 2825 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8202 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); + } +#line 8204 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: -#line 2827 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} -#line 8208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2829 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8210 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: -#line 2830 "mrbgems/mruby-compiler/core/parse.y" +#line 2831 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8216 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 329: +#line 2834 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 8217 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8225 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 329: -#line 2836 "mrbgems/mruby-compiler/core/parse.y" + case 330: +#line 2840 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "class definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8236 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 330: -#line 2844 "mrbgems/mruby-compiler/core/parse.y" + case 331: +#line 2848 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_class(p, (yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 8239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8247 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 331: -#line 2852 "mrbgems/mruby-compiler/core/parse.y" + case 332: +#line 2856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 8248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8256 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 332: -#line 2857 "mrbgems/mruby-compiler/core/parse.y" + case 333: +#line 2861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), nint(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 8258 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8266 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 333: -#line 2864 "mrbgems/mruby-compiler/core/parse.y" + case 334: +#line 2868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -8267,44 +8275,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = intn((yyvsp[-2].nd)->cdr); } -#line 8271 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8279 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 334: -#line 2874 "mrbgems/mruby-compiler/core/parse.y" + case 335: +#line 2878 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "module definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 335: -#line 2882 "mrbgems/mruby-compiler/core/parse.y" + case 336: +#line 2886 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_module(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-4].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 8293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8301 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 336: -#line 2892 "mrbgems/mruby-compiler/core/parse.y" + case 337: +#line 2896 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); nvars_unnest(p); p->in_def--; } -#line 8304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8312 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 337: -#line 2902 "mrbgems/mruby-compiler/core/parse.y" + case 338: +#line 2906 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8312,21 +8320,13 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8316 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 338: -#line 2910 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_break(p, 0); - } #line 8324 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: #line 2914 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_next(p, 0); + (yyval.nd) = new_break(p, 0); } #line 8332 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8334,7 +8334,7 @@ yyreduce: case 340: #line 2918 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_redo(p); + (yyval.nd) = new_next(p, 0); } #line 8340 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8342,48 +8342,48 @@ yyreduce: case 341: #line 2922 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_retry(p); + (yyval.nd) = new_redo(p); } #line 8348 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: -#line 2928 "mrbgems/mruby-compiler/core/parse.y" +#line 2926 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_retry(p); + } +#line 8356 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 343: +#line 2932 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 349: -#line 2947 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); - } #line 8365 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 351: -#line 2954 "mrbgems/mruby-compiler/core/parse.y" + case 350: +#line 2951 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: -#line 2960 "mrbgems/mruby-compiler/core/parse.y" +#line 2958 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(list1((yyvsp[0].nd))); + (yyval.nd) = (yyvsp[0].nd); } #line 8381 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 354: -#line 2967 "mrbgems/mruby-compiler/core/parse.y" + case 353: +#line 2964 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[0].nd),0,0); + (yyval.nd) = list1(list1((yyvsp[0].nd))); } #line 8389 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8391,7 +8391,7 @@ yyreduce: case 355: #line 2971 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0); + (yyval.nd) = list3((yyvsp[0].nd),0,0); } #line 8397 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8399,7 +8399,7 @@ yyreduce: case 356: #line 2975 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); + (yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0); } #line 8405 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8407,16 +8407,16 @@ yyreduce: case 357: #line 2979 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, intern_op(mul)); - (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); + (yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8414 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: -#line 2984 "mrbgems/mruby-compiler/core/parse.y" +#line 2983 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); + local_add_f(p, intern_op(mul)); + (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); } #line 8422 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8424,7 +8424,7 @@ yyreduce: case 359: #line 2988 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); + (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); } #line 8430 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8432,7 +8432,7 @@ yyreduce: case 360: #line 2992 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); + (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); } #line 8438 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8440,16 +8440,16 @@ yyreduce: case 361: #line 2996 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, intern_op(mul)); - (yyval.nd) = list3(0, nint(-1), 0); + (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8446 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: -#line 3001 "mrbgems/mruby-compiler/core/parse.y" +#line 3000 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); + (yyval.nd) = list3(0, nint(-1), 0); } #line 8455 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8457,15 +8457,15 @@ yyreduce: case 363: #line 3005 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); + local_add_f(p, intern_op(mul)); } #line 8463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: -#line 3011 "mrbgems/mruby-compiler/core/parse.y" +#line 3009 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); + (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); } #line 8471 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8473,7 +8473,7 @@ yyreduce: case 365: #line 3015 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } #line 8479 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8481,7 +8481,7 @@ yyreduce: case 366: #line 3019 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } #line 8487 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8489,15 +8489,15 @@ yyreduce: case 367: #line 3023 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } #line 8495 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: -#line 3029 "mrbgems/mruby-compiler/core/parse.y" +#line 3027 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 8503 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8505,15 +8505,15 @@ yyreduce: case 369: #line 3033 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } #line 8511 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: -#line 3039 "mrbgems/mruby-compiler/core/parse.y" +#line 3037 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, 0); } #line 8519 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8521,7 +8521,7 @@ yyreduce: case 371: #line 3043 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 8527 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8529,7 +8529,7 @@ yyreduce: case 372: #line 3047 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8535 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8537,7 +8537,7 @@ yyreduce: case 373: #line 3051 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } #line 8543 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8545,7 +8545,7 @@ yyreduce: case 374: #line 3055 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8551 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8553,7 +8553,7 @@ yyreduce: case 375: #line 3059 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 8559 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8561,7 +8561,7 @@ yyreduce: case 376: #line 3063 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } #line 8567 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8569,7 +8569,7 @@ yyreduce: case 377: #line 3067 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8575 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8577,7 +8577,7 @@ yyreduce: case 378: #line 3071 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } #line 8583 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8585,7 +8585,7 @@ yyreduce: case 379: #line 3075 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 8591 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8593,7 +8593,7 @@ yyreduce: case 380: #line 3079 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8599 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8601,7 +8601,7 @@ yyreduce: case 381: #line 3083 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } #line 8607 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8609,7 +8609,7 @@ yyreduce: case 382: #line 3087 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8615 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8617,7 +8617,7 @@ yyreduce: case 383: #line 3091 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 8623 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8625,64 +8625,64 @@ yyreduce: case 384: #line 3095 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: -#line 3101 "mrbgems/mruby-compiler/core/parse.y" +#line 3099 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 8639 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 386: +#line 3105 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8640 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8648 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 386: -#line 3106 "mrbgems/mruby-compiler/core/parse.y" + case 387: +#line 3110 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 8649 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 387: -#line 3112 "mrbgems/mruby-compiler/core/parse.y" - {local_add_blk(p, 0);} -#line 8655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8657 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: -#line 3113 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } +#line 3116 "mrbgems/mruby-compiler/core/parse.y" + {local_add_blk(p, 0);} #line 8663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: #line 3117 "mrbgems/mruby-compiler/core/parse.y" { - local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: -#line 3122 "mrbgems/mruby-compiler/core/parse.y" +#line 3121 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-2].nd); + local_add_blk(p, 0); + (yyval.nd) = 0; } #line 8680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: -#line 3129 "mrbgems/mruby-compiler/core/parse.y" +#line 3126 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = (yyvsp[-2].nd); } #line 8688 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8695,35 +8695,35 @@ yyreduce: #line 8696 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 395: -#line 3143 "mrbgems/mruby-compiler/core/parse.y" + case 393: +#line 3137 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 396: +#line 3147 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 8705 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 397: -#line 3151 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } #line 8713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: #line 3155 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = (yyvsp[-2].nd); } #line 8721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 399: -#line 3161 "mrbgems/mruby-compiler/core/parse.y" +#line 3159 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = (yyvsp[0].nd); } #line 8729 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8737,26 +8737,34 @@ yyreduce: break; case 401: -#line 3171 "mrbgems/mruby-compiler/core/parse.y" +#line 3169 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 8745 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 402: +#line 3175 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 402: -#line 3178 "mrbgems/mruby-compiler/core/parse.y" + case 403: +#line 3182 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8756 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8764 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 403: -#line 3186 "mrbgems/mruby-compiler/core/parse.y" + case 404: +#line 3190 "mrbgems/mruby-compiler/core/parse.y" { if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8766,39 +8774,31 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8770 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 404: -#line 3196 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); - } #line 8778 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: #line 3200 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); - call_with_block(p, (yyval.nd), (yyvsp[0].nd)); + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8787 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8786 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: -#line 3205 "mrbgems/mruby-compiler/core/parse.y" +#line 3204 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 8796 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8795 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: -#line 3212 "mrbgems/mruby-compiler/core/parse.y" +#line 3209 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); + (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 8804 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8806,7 +8806,7 @@ yyreduce: case 408: #line 3216 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); + (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } #line 8812 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8814,7 +8814,7 @@ yyreduce: case 409: #line 3220 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } #line 8820 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8822,7 +8822,7 @@ yyreduce: case 410: #line 3224 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } #line 8828 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8830,7 +8830,7 @@ yyreduce: case 411: #line 3228 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } #line 8836 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8838,7 +8838,7 @@ yyreduce: case 412: #line 3232 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); + (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } #line 8844 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8846,7 +8846,7 @@ yyreduce: case 413: #line 3236 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_super(p, (yyvsp[0].nd)); + (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } #line 8852 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8854,7 +8854,7 @@ yyreduce: case 414: #line 3240 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_zsuper(p); + (yyval.nd) = new_super(p, (yyvsp[0].nd)); } #line 8860 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8862,63 +8862,71 @@ yyreduce: case 415: #line 3244 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + (yyval.nd) = new_zsuper(p); } #line 8868 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: -#line 3250 "mrbgems/mruby-compiler/core/parse.y" +#line 3248 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8878 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8876 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: -#line 3257 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); - SET_LINENO((yyval.nd), (yyvsp[-3].num)); - local_unnest(p); - nvars_unnest(p); - } -#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 418: -#line 3264 "mrbgems/mruby-compiler/core/parse.y" +#line 3254 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8899 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8886 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 419: -#line 3271 "mrbgems/mruby-compiler/core/parse.y" + case 418: +#line 3261 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 8910 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 419: +#line 3268 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 8907 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: -#line 3282 "mrbgems/mruby-compiler/core/parse.y" +#line 3275 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); + (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); + SET_LINENO((yyval.nd), (yyvsp[-3].num)); + local_unnest(p); + nvars_unnest(p); } #line 8918 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: -#line 3288 "mrbgems/mruby-compiler/core/parse.y" +#line 3286 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); + } +#line 8926 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 422: +#line 3292 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -8927,60 +8935,60 @@ yyreduce: (yyval.nd) = 0; } } -#line 8931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8939 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 423: -#line 3302 "mrbgems/mruby-compiler/core/parse.y" + case 424: +#line 3306 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd))); if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd)); } -#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 425: -#line 3310 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } #line 8948 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 428: -#line 3318 "mrbgems/mruby-compiler/core/parse.y" + case 426: +#line 3314 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 8956 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 430: -#line 3325 "mrbgems/mruby-compiler/core/parse.y" + case 429: +#line 3322 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } #line 8964 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 437: -#line 3339 "mrbgems/mruby-compiler/core/parse.y" + case 431: +#line 3329 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } #line 8972 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 440: -#line 3347 "mrbgems/mruby-compiler/core/parse.y" + case 438: +#line 3343 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 8980 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: #line 3351 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 8988 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 442: +#line 3355 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -8991,21 +8999,13 @@ yyreduce: } (yyval.nd) = new_dstr(p, n); } -#line 8995 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 443: -#line 3365 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); - } #line 9003 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: -#line 3371 "mrbgems/mruby-compiler/core/parse.y" +#line 3369 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9011 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9013,24 +9013,24 @@ yyreduce: case 445: #line 3375 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push_strterm(p); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9019 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: -#line 3380 "mrbgems/mruby-compiler/core/parse.y" +#line 3379 "mrbgems/mruby-compiler/core/parse.y" { - pop_strterm(p,(yyvsp[-2].nd)); - (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); + (yyval.nd) = push_strterm(p); } -#line 9028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9027 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: -#line 3385 "mrbgems/mruby-compiler/core/parse.y" +#line 3384 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(new_literal_delim(p)); + pop_strterm(p,(yyvsp[-2].nd)); + (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); } #line 9036 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9044,15 +9044,23 @@ yyreduce: break; case 449: -#line 3395 "mrbgems/mruby-compiler/core/parse.y" +#line 3393 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = list1(new_literal_delim(p)); } #line 9052 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: #line 3399 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 9060 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 451: +#line 3403 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9063,81 +9071,81 @@ yyreduce: } (yyval.nd) = new_dxstr(p, n); } -#line 9067 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 451: -#line 3412 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } #line 9075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 452: #line 3416 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } #line 9083 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 456: -#line 3429 "mrbgems/mruby-compiler/core/parse.y" + case 453: +#line 3420 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 9091 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 457: +#line 3433 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, new_str(p, "", 0)); heredoc_end(p); } -#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 457: -#line 3435 "mrbgems/mruby-compiler/core/parse.y" - { - heredoc_end(p); - } #line 9101 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: -#line 3445 "mrbgems/mruby-compiler/core/parse.y" + case 458: +#line 3439 "mrbgems/mruby-compiler/core/parse.y" + { + heredoc_end(p); + } +#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 461: +#line 3449 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 9111 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 461: -#line 3451 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push_strterm(p); - } #line 9119 "mrbgems/mruby-compiler/core/y.tab.c" break; case 462: -#line 3456 "mrbgems/mruby-compiler/core/parse.y" +#line 3455 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push_strterm(p); + } +#line 9127 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 463: +#line 3460 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(push(info->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); } -#line 9129 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 463: -#line 3464 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); - } #line 9137 "mrbgems/mruby-compiler/core/y.tab.c" break; case 464: #line 3468 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); + } +#line 9145 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 465: +#line 3472 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9148,20 +9156,20 @@ yyreduce: } (yyval.nd) = new_words(p, n); } -#line 9152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 465: -#line 3482 "mrbgems/mruby-compiler/core/parse.y" + case 466: +#line 3486 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 466: -#line 3487 "mrbgems/mruby-compiler/core/parse.y" + case 467: +#line 3491 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -9173,21 +9181,13 @@ yyreduce: } (yyval.nd) = new_dsym(p, new_dstr(p, n)); } -#line 9177 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 467: -#line 3501 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } #line 9185 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: -#line 3511 "mrbgems/mruby-compiler/core/parse.y" + case 468: +#line 3505 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = new_strsym(p, (yyvsp[0].nd)); + (yyval.id) = (yyvsp[0].id); } #line 9193 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9201,15 +9201,23 @@ yyreduce: break; case 474: -#line 3521 "mrbgems/mruby-compiler/core/parse.y" +#line 3519 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } #line 9209 "mrbgems/mruby-compiler/core/y.tab.c" break; case 475: #line 3525 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + } +#line 9217 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 476: +#line 3529 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9217,14 +9225,6 @@ yyreduce: } (yyval.nd) = new_symbols(p, n); } -#line 9221 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 478: -#line 3537 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_negate(p, (yyvsp[0].nd)); - } #line 9229 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9237,9 +9237,9 @@ yyreduce: break; case 480: -#line 3547 "mrbgems/mruby-compiler/core/parse.y" +#line 3545 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_lvar(p, (yyvsp[0].id)); + (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } #line 9245 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9247,7 +9247,7 @@ yyreduce: case 481: #line 3551 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_ivar(p, (yyvsp[0].id)); + (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } #line 9253 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9255,7 +9255,7 @@ yyreduce: case 482: #line 3555 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_gvar(p, (yyvsp[0].id)); + (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } #line 9261 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9263,7 +9263,7 @@ yyreduce: case 483: #line 3559 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_cvar(p, (yyvsp[0].id)); + (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } #line 9269 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9271,15 +9271,15 @@ yyreduce: case 484: #line 3563 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_const(p, (yyvsp[0].id)); + (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } #line 9277 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: -#line 3569 "mrbgems/mruby-compiler/core/parse.y" +#line 3567 "mrbgems/mruby-compiler/core/parse.y" { - assignable(p, (yyvsp[0].nd)); + (yyval.nd) = new_const(p, (yyvsp[0].id)); } #line 9285 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9287,15 +9287,15 @@ yyreduce: case 486: #line 3573 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "can't assign to numbered parameter"); + assignable(p, (yyvsp[0].nd)); } #line 9293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: -#line 3579 "mrbgems/mruby-compiler/core/parse.y" +#line 3577 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = var_reference(p, (yyvsp[0].nd)); + yyerror(p, "can't assign to numbered parameter"); } #line 9301 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9303,7 +9303,7 @@ yyreduce: case 488: #line 3583 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_nil(p); + (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } #line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9311,7 +9311,7 @@ yyreduce: case 489: #line 3587 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_self(p); + (yyval.nd) = new_nil(p); } #line 9317 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9319,7 +9319,7 @@ yyreduce: case 490: #line 3591 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_true(p); + (yyval.nd) = new_self(p); } #line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9327,13 +9327,21 @@ yyreduce: case 491: #line 3595 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_false(p); + (yyval.nd) = new_true(p); } #line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 492: #line 3599 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_false(p); + } +#line 9341 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 493: +#line 3603 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9341,32 +9349,24 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9353 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 493: -#line 3607 "mrbgems/mruby-compiler/core/parse.y" + case 494: +#line 3611 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 9356 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 494: -#line 3614 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); - } #line 9364 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 497: -#line 3624 "mrbgems/mruby-compiler/core/parse.y" + case 495: +#line 3618 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } #line 9372 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9374,50 +9374,50 @@ yyreduce: case 498: #line 3628 "mrbgems/mruby-compiler/core/parse.y" { - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; + (yyval.nd) = 0; } -#line 9381 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 499: -#line 3633 "mrbgems/mruby-compiler/core/parse.y" +#line 3632 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } #line 9389 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 502: -#line 3649 "mrbgems/mruby-compiler/core/parse.y" + case 500: +#line 3637 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 503: +#line 3653 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9399 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 503: -#line 3655 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } #line 9407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 504: #line 3659 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, 0); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } #line 9415 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: -#line 3666 "mrbgems/mruby-compiler/core/parse.y" + case 505: +#line 3663 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = new_args_dots(p, 0); } #line 9423 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9425,7 +9425,7 @@ yyreduce: case 507: #line 3670 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + (yyval.nd) = (yyvsp[-1].nd); } #line 9431 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9433,15 +9433,15 @@ yyreduce: case 508: #line 3674 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, 0); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } #line 9439 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: -#line 3680 "mrbgems/mruby-compiler/core/parse.y" +#line 3678 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); + (yyval.nd) = new_args_dots(p, 0); } #line 9447 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9455,47 +9455,47 @@ yyreduce: break; case 511: -#line 3690 "mrbgems/mruby-compiler/core/parse.y" +#line 3688 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); - local_unnest(p); + local_nest(p); } -#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 512: -#line 3696 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 9474 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 513: -#line 3703 "mrbgems/mruby-compiler/core/parse.y" +#line 3694 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: -#line 3709 "mrbgems/mruby-compiler/core/parse.y" + case 513: +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9493 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9482 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 514: +#line 3707 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); + local_unnest(p); + } +#line 9492 "mrbgems/mruby-compiler/core/y.tab.c" break; case 515: -#line 3716 "mrbgems/mruby-compiler/core/parse.y" +#line 3713 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } #line 9501 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9503,15 +9503,15 @@ yyreduce: case 516: #line 3720 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9509 "mrbgems/mruby-compiler/core/y.tab.c" break; case 517: -#line 3726 "mrbgems/mruby-compiler/core/parse.y" +#line 3724 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9517 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9519,15 +9519,15 @@ yyreduce: case 518: #line 3730 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9525 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 521: -#line 3740 "mrbgems/mruby-compiler/core/parse.y" + case 519: +#line 3734 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_rest_args(p, (yyvsp[0].id)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9533 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9535,15 +9535,15 @@ yyreduce: case 522: #line 3744 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_rest_args(p, 0); + (yyval.nd) = new_kw_rest_args(p, (yyvsp[0].id)); } #line 9541 "mrbgems/mruby-compiler/core/y.tab.c" break; case 523: -#line 3750 "mrbgems/mruby-compiler/core/parse.y" +#line 3748 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); + (yyval.nd) = new_kw_rest_args(p, 0); } #line 9549 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9551,7 +9551,7 @@ yyreduce: case 524: #line 3754 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } #line 9557 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9559,7 +9559,7 @@ yyreduce: case 525: #line 3758 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } #line 9565 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9567,15 +9567,15 @@ yyreduce: case 526: #line 3762 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } #line 9573 "mrbgems/mruby-compiler/core/y.tab.c" break; case 527: -#line 3768 "mrbgems/mruby-compiler/core/parse.y" +#line 3766 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 9581 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9583,15 +9583,15 @@ yyreduce: case 528: #line 3772 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } #line 9589 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: -#line 3778 "mrbgems/mruby-compiler/core/parse.y" +#line 3776 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, 0); } #line 9597 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9599,7 +9599,7 @@ yyreduce: case 530: #line 3782 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 9605 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9607,7 +9607,7 @@ yyreduce: case 531: #line 3786 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9613 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9615,7 +9615,7 @@ yyreduce: case 532: #line 3790 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } #line 9621 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9623,7 +9623,7 @@ yyreduce: case 533: #line 3794 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9629 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9631,7 +9631,7 @@ yyreduce: case 534: #line 3798 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 9637 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9639,7 +9639,7 @@ yyreduce: case 535: #line 3802 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9645 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9647,7 +9647,7 @@ yyreduce: case 536: #line 3806 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } #line 9653 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9655,7 +9655,7 @@ yyreduce: case 537: #line 3810 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 9661 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9663,7 +9663,7 @@ yyreduce: case 538: #line 3814 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9669 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9671,7 +9671,7 @@ yyreduce: case 539: #line 3818 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } #line 9677 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9679,7 +9679,7 @@ yyreduce: case 540: #line 3822 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9685 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9687,7 +9687,7 @@ yyreduce: case 541: #line 3826 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 9693 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9695,7 +9695,7 @@ yyreduce: case 542: #line 3830 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9701 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9703,61 +9703,61 @@ yyreduce: case 543: #line 3834 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, 0); - (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9709 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: -#line 3841 "mrbgems/mruby-compiler/core/parse.y" +#line 3838 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_f(p, 0); + (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + } +#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 545: +#line 3845 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9719 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9727 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 545: -#line 3846 "mrbgems/mruby-compiler/core/parse.y" + case 546: +#line 3850 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9728 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9736 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 546: -#line 3851 "mrbgems/mruby-compiler/core/parse.y" + case 547: +#line 3855 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9745 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 547: -#line 3856 "mrbgems/mruby-compiler/core/parse.y" + case 548: +#line 3860 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 548: -#line 3861 "mrbgems/mruby-compiler/core/parse.y" - { - yyerror(p, "formal argument cannot be a numbered parameter"); - (yyval.nd) = 0; - } -#line 9755 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: -#line 3868 "mrbgems/mruby-compiler/core/parse.y" +#line 3865 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = 0; + yyerror(p, "formal argument cannot be a numbered parameter"); + (yyval.nd) = 0; } #line 9763 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9765,16 +9765,16 @@ yyreduce: case 550: #line 3872 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[0].id)); - (yyval.id) = (yyvsp[0].id); + (yyval.id) = 0; } -#line 9772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9771 "mrbgems/mruby-compiler/core/y.tab.c" break; case 551: -#line 3879 "mrbgems/mruby-compiler/core/parse.y" +#line 3876 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_arg(p, (yyvsp[0].id)); + local_add_f(p, (yyvsp[0].id)); + (yyval.id) = (yyvsp[0].id); } #line 9780 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9782,7 +9782,7 @@ yyreduce: case 552: #line 3883 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = local_switch(p); + (yyval.nd) = new_arg(p, (yyvsp[0].id)); } #line 9788 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9790,17 +9790,17 @@ yyreduce: case 553: #line 3887 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car); - local_resume(p, (yyvsp[-2].nd)); - local_add_f(p, 0); + (yyval.nd) = local_switch(p); } -#line 9798 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: -#line 3895 "mrbgems/mruby-compiler/core/parse.y" +#line 3891 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car); + local_resume(p, (yyvsp[-2].nd)); + local_add_f(p, 0); } #line 9806 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9808,45 +9808,45 @@ yyreduce: case 555: #line 3899 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9814 "mrbgems/mruby-compiler/core/y.tab.c" break; case 556: -#line 3905 "mrbgems/mruby-compiler/core/parse.y" +#line 3903 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9822 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 557: +#line 3909 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 9824 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 557: -#line 3913 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); - local_unnest(p); - } -#line 9834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 558: -#line 3921 "mrbgems/mruby-compiler/core/parse.y" +#line 3917 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9842 "mrbgems/mruby-compiler/core/y.tab.c" break; case 559: -#line 3929 "mrbgems/mruby-compiler/core/parse.y" +#line 3925 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); + local_unnest(p); } #line 9852 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9854,15 +9854,15 @@ yyreduce: case 560: #line 3933 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9860 "mrbgems/mruby-compiler/core/y.tab.c" break; case 561: -#line 3939 "mrbgems/mruby-compiler/core/parse.y" +#line 3937 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9868 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9870,49 +9870,49 @@ yyreduce: case 562: #line 3943 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9876 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 565: -#line 3953 "mrbgems/mruby-compiler/core/parse.y" + case 563: +#line 3947 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9884 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 566: +#line 3957 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9893 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 566: -#line 3958 "mrbgems/mruby-compiler/core/parse.y" + case 567: +#line 3962 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 9894 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 569: -#line 3969 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } #line 9902 "mrbgems/mruby-compiler/core/y.tab.c" break; case 570: #line 3973 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = intern_op(and); + (yyval.id) = (yyvsp[0].id); } #line 9910 "mrbgems/mruby-compiler/core/y.tab.c" break; case 571: -#line 3979 "mrbgems/mruby-compiler/core/parse.y" +#line 3977 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = (yyvsp[0].id); + (yyval.id) = intern_op(and); } #line 9918 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9920,28 +9920,36 @@ yyreduce: case 572: #line 3983 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = 0; + (yyval.id) = (yyvsp[0].id); } #line 9926 "mrbgems/mruby-compiler/core/y.tab.c" break; case 573: -#line 3989 "mrbgems/mruby-compiler/core/parse.y" +#line 3987 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); - if (!(yyval.nd)) (yyval.nd) = new_nil(p); + (yyval.id) = 0; } -#line 9935 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9934 "mrbgems/mruby-compiler/core/y.tab.c" break; case 574: #line 3993 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_BEG;} -#line 9941 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.nd) = (yyvsp[0].nd); + if (!(yyval.nd)) (yyval.nd) = new_nil(p); + } +#line 9943 "mrbgems/mruby-compiler/core/y.tab.c" break; case 575: -#line 3994 "mrbgems/mruby-compiler/core/parse.y" +#line 3997 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_BEG;} +#line 9949 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 576: +#line 3998 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -9964,57 +9972,49 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 9968 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 577: -#line 4020 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } #line 9976 "mrbgems/mruby-compiler/core/y.tab.c" break; case 578: -#line 4026 "mrbgems/mruby-compiler/core/parse.y" +#line 4024 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); - NODE_LINENO((yyval.nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); } -#line 9985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9984 "mrbgems/mruby-compiler/core/y.tab.c" break; case 579: -#line 4031 "mrbgems/mruby-compiler/core/parse.y" +#line 4030 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); + NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } #line 9993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 580: -#line 4037 "mrbgems/mruby-compiler/core/parse.y" +#line 4035 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10001 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 581: +#line 4041 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10003 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 581: -#line 4043 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); - } -#line 10012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10011 "mrbgems/mruby-compiler/core/y.tab.c" break; case 582: -#line 4048 "mrbgems/mruby-compiler/core/parse.y" +#line 4047 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } #line 10020 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -10022,23 +10022,31 @@ yyreduce: case 583: #line 4052 "mrbgems/mruby-compiler/core/parse.y" { - mrb_sym sym = intern_numparam((yyvsp[-1].num)); - (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); + (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 10029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10028 "mrbgems/mruby-compiler/core/y.tab.c" break; case 584: -#line 4057 "mrbgems/mruby-compiler/core/parse.y" +#line 4056 "mrbgems/mruby-compiler/core/parse.y" + { + mrb_sym sym = intern_numparam((yyvsp[-1].num)); + (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); + } +#line 10037 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 585: +#line 4061 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 10038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10046 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 585: -#line 4062 "mrbgems/mruby-compiler/core/parse.y" + case 586: +#line 4066 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) { @@ -10048,30 +10056,22 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10060 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 586: -#line 4072 "mrbgems/mruby-compiler/core/parse.y" + case 587: +#line 4076 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 587: -#line 4077 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); - } #line 10069 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 600: -#line 4103 "mrbgems/mruby-compiler/core/parse.y" + case 588: +#line 4081 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.num) = '.'; + (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } #line 10077 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -10079,44 +10079,52 @@ yyreduce: case 601: #line 4107 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.num) = 0; + (yyval.num) = '.'; } #line 10085 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: -#line 4114 "mrbgems/mruby-compiler/core/parse.y" + case 602: +#line 4111 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.num) = tCOLON2; + (yyval.num) = 0; } #line 10093 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: -#line 4135 "mrbgems/mruby-compiler/core/parse.y" - {yyerrok;} -#line 10099 "mrbgems/mruby-compiler/core/y.tab.c" + case 604: +#line 4118 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.num) = tCOLON2; + } +#line 10101 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: -#line 4140 "mrbgems/mruby-compiler/core/parse.y" + case 613: +#line 4139 "mrbgems/mruby-compiler/core/parse.y" + {yyerrok;} +#line 10107 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 615: +#line 4144 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10108 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 618: -#line 4152 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } #line 10116 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 619: +#line 4156 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10124 "mrbgems/mruby-compiler/core/y.tab.c" + break; -#line 10120 "mrbgems/mruby-compiler/core/y.tab.c" + +#line 10128 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10348,7 +10356,7 @@ yyreturn: #endif return yyresult; } -#line 4156 "mrbgems/mruby-compiler/core/parse.y" +#line 4160 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval)))