From 6ac26e44429313c6bb58015028c61468e391f700 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 2 Dec 2021 18:23:01 +0900 Subject: parse.y: support anonymous block argument introduced by Ruby3.1. --- mrbgems/mruby-compiler/core/codegen.c | 22 +- mrbgems/mruby-compiler/core/parse.y | 8 + mrbgems/mruby-compiler/core/y.tab.c | 2194 +++++++++++++++++---------------- 3 files changed, 1130 insertions(+), 1094 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 371b5fef7..54eb611ca 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -1334,17 +1334,19 @@ lambda_body(codegen_scope *s, node *tree, int blk) if (ma > 0x1f || oa > 0x1f || pa > 0x1f || ka > 0x1f) { codegen_error(s, "too many formal arguments"); } + /* (23bits = 5:5:1:5:5:1:1) */ a = MRB_ARGS_REQ(ma) | MRB_ARGS_OPT(oa) | (ra? MRB_ARGS_REST() : 0) | MRB_ARGS_POST(pa) | MRB_ARGS_KEY(ka, kd) | (ba? MRB_ARGS_BLOCK() : 0); - s->ainfo = (((ma+oa) & 0x3f) << 7) /* (12bits = 5:1:5:1) */ + genop_W(s, OP_ENTER, a); + /* (12bits = 5:1:5:1) */ + s->ainfo = (((ma+oa) & 0x3f) << 7) | ((ra & 0x1) << 6) | ((pa & 0x1f) << 1) - | ((ka | kd) != 0 ? 0x01 : 0x00); - genop_W(s, OP_ENTER, a); + | ((ka | kd) ? 1 : 0); /* generate jump table for optional arguments initializer */ pos = new_label(s); for (i=0; i>7)&0x3f; int r = (ainfo>>6)&0x1; @@ -3102,7 +3104,17 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_BLOCK_ARG: - codegen(s, tree, val); + if (!tree) { + int idx = lv_idx(s, MRB_OPSYM_2(s->mrb, and)); + + if (idx == 0) { + codegen_error(s, "no anonymous block argument"); + } + gen_move(s, cursp(), idx, val); + } + else { + codegen(s, tree, val); + } break; case NODE_INT: diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 2a1017f24..76fcffa70 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -2603,6 +2603,10 @@ block_arg : tAMPER arg { $$ = new_block_arg(p, $2); } + | tAMPER + { + $$ = new_block_arg(p, 0); + } ; opt_block_arg : comma block_arg @@ -3944,6 +3948,10 @@ f_block_arg : blkarg_mark tIDENTIFIER { $$ = $2; } + | blkarg_mark + { + $$ = intern_op(and); + } ; opt_f_block_arg : ',' f_block_arg diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index e428555e1..1d67b63ff 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -1998,7 +1998,7 @@ union yyalloc /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 175 /* YYNRULES -- Number of rules. */ -#define YYNRULES 610 +#define YYNRULES 612 /* YYNSTATES -- Number of states. */ #define YYNSTATES 1077 @@ -2086,41 +2086,41 @@ static const yytype_int16 yyrline[] = 2421, 2425, 2429, 2433, 2437, 2446, 2456, 2465, 2475, 2481, 2482, 2487, 2491, 2498, 2502, 2510, 2514, 2523, 2540, 2541, 2544, 2545, 2546, 2551, 2556, 2563, 2569, 2574, 2579, 2584, - 2591, 2591, 2602, 2608, 2612, 2618, 2621, 2627, 2633, 2638, - 2645, 2650, 2655, 2662, 2663, 2664, 2665, 2666, 2667, 2668, - 2669, 2673, 2678, 2677, 2689, 2693, 2688, 2698, 2698, 2702, - 2706, 2710, 2714, 2719, 2724, 2728, 2732, 2736, 2740, 2744, - 2745, 2751, 2757, 2750, 2769, 2777, 2785, 2785, 2785, 2792, - 2792, 2792, 2799, 2805, 2810, 2812, 2809, 2821, 2819, 2837, - 2842, 2835, 2859, 2857, 2873, 2883, 2894, 2898, 2902, 2906, - 2912, 2919, 2920, 2921, 2924, 2925, 2928, 2929, 2937, 2938, - 2944, 2948, 2951, 2955, 2959, 2963, 2967, 2971, 2975, 2979, - 2983, 2989, 2993, 2997, 3001, 3007, 3012, 3017, 3021, 3025, + 2591, 2591, 2602, 2606, 2612, 2616, 2622, 2625, 2631, 2637, + 2642, 2649, 2654, 2659, 2666, 2667, 2668, 2669, 2670, 2671, + 2672, 2673, 2677, 2682, 2681, 2693, 2697, 2692, 2702, 2702, + 2706, 2710, 2714, 2718, 2723, 2728, 2732, 2736, 2740, 2744, + 2748, 2749, 2755, 2761, 2754, 2773, 2781, 2789, 2789, 2789, + 2796, 2796, 2796, 2803, 2809, 2814, 2816, 2813, 2825, 2823, + 2841, 2846, 2839, 2863, 2861, 2877, 2887, 2898, 2902, 2906, + 2910, 2916, 2923, 2924, 2925, 2928, 2929, 2932, 2933, 2941, + 2942, 2948, 2952, 2955, 2959, 2963, 2967, 2971, 2975, 2979, + 2983, 2987, 2993, 2997, 3001, 3005, 3011, 3016, 3021, 3025, 3029, 3033, 3037, 3041, 3045, 3049, 3053, 3057, 3061, 3065, - 3069, 3073, 3079, 3084, 3091, 3091, 3095, 3100, 3107, 3111, - 3117, 3118, 3121, 3126, 3129, 3133, 3139, 3143, 3150, 3149, - 3164, 3174, 3178, 3183, 3190, 3194, 3198, 3202, 3206, 3210, - 3214, 3218, 3222, 3229, 3228, 3243, 3242, 3258, 3266, 3275, - 3278, 3285, 3288, 3292, 3293, 3296, 3300, 3303, 3307, 3310, - 3311, 3312, 3313, 3316, 3317, 3323, 3324, 3325, 3329, 3342, - 3343, 3349, 3354, 3353, 3364, 3368, 3374, 3378, 3391, 3395, - 3401, 3404, 3405, 3408, 3414, 3420, 3421, 3424, 3431, 3430, - 3444, 3448, 3462, 3467, 3481, 3487, 3488, 3489, 3490, 3491, - 3495, 3501, 3505, 3515, 3516, 3517, 3521, 3527, 3531, 3535, - 3539, 3543, 3549, 3553, 3559, 3563, 3567, 3571, 3575, 3579, - 3587, 3594, 3600, 3601, 3605, 3609, 3608, 3625, 3626, 3629, - 3635, 3639, 3645, 3646, 3650, 3654, 3660, 3666, 3672, 3679, - 3684, 3691, 3695, 3701, 3705, 3711, 3712, 3715, 3719, 3725, - 3729, 3733, 3737, 3743, 3748, 3753, 3757, 3761, 3765, 3769, - 3773, 3777, 3781, 3785, 3789, 3793, 3797, 3801, 3805, 3810, - 3816, 3821, 3826, 3831, 3836, 3843, 3847, 3854, 3859, 3858, - 3869, 3873, 3879, 3887, 3895, 3903, 3907, 3913, 3917, 3923, - 3924, 3927, 3932, 3939, 3940, 3943, 3949, 3953, 3959, 3964, - 3964, 3989, 3990, 3996, 4001, 4007, 4013, 4018, 4022, 4032, - 4039, 4040, 4041, 4044, 4045, 4046, 4047, 4050, 4051, 4052, - 4055, 4056, 4059, 4063, 4069, 4070, 4076, 4077, 4080, 4081, - 4084, 4087, 4088, 4089, 4092, 4093, 4096, 4101, 4104, 4105, - 4109 + 3069, 3073, 3077, 3083, 3088, 3095, 3095, 3099, 3104, 3111, + 3115, 3121, 3122, 3125, 3130, 3133, 3137, 3143, 3147, 3154, + 3153, 3168, 3178, 3182, 3187, 3194, 3198, 3202, 3206, 3210, + 3214, 3218, 3222, 3226, 3233, 3232, 3247, 3246, 3262, 3270, + 3279, 3282, 3289, 3292, 3296, 3297, 3300, 3304, 3307, 3311, + 3314, 3315, 3316, 3317, 3320, 3321, 3327, 3328, 3329, 3333, + 3346, 3347, 3353, 3358, 3357, 3368, 3372, 3378, 3382, 3395, + 3399, 3405, 3408, 3409, 3412, 3418, 3424, 3425, 3428, 3435, + 3434, 3448, 3452, 3466, 3471, 3485, 3491, 3492, 3493, 3494, + 3495, 3499, 3505, 3509, 3519, 3520, 3521, 3525, 3531, 3535, + 3539, 3543, 3547, 3553, 3557, 3563, 3567, 3571, 3575, 3579, + 3583, 3591, 3598, 3604, 3605, 3609, 3613, 3612, 3629, 3630, + 3633, 3639, 3643, 3649, 3650, 3654, 3658, 3664, 3670, 3676, + 3683, 3688, 3695, 3699, 3705, 3709, 3715, 3716, 3719, 3723, + 3729, 3733, 3737, 3741, 3747, 3752, 3757, 3761, 3765, 3769, + 3773, 3777, 3781, 3785, 3789, 3793, 3797, 3801, 3805, 3809, + 3814, 3820, 3825, 3830, 3835, 3840, 3847, 3851, 3858, 3863, + 3862, 3873, 3877, 3883, 3891, 3899, 3907, 3911, 3917, 3921, + 3927, 3928, 3931, 3936, 3943, 3944, 3947, 3951, 3957, 3961, + 3967, 3972, 3972, 3997, 3998, 4004, 4009, 4015, 4021, 4026, + 4030, 4040, 4047, 4048, 4049, 4052, 4053, 4054, 4055, 4058, + 4059, 4060, 4063, 4064, 4067, 4071, 4077, 4078, 4084, 4085, + 4088, 4089, 4092, 4095, 4096, 4097, 4100, 4101, 4104, 4109, + 4112, 4113, 4117 }; #endif @@ -2221,7 +2221,7 @@ static const yytype_int16 yytoknum[] = #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-611) +#define YYTABLE_NINF (-613) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -2345,114 +2345,114 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 0, 0, 1, 0, 0, 0, 0, 292, 0, - 0, 316, 319, 0, 0, 596, 336, 337, 338, 339, - 304, 270, 270, 486, 485, 487, 488, 598, 0, 10, - 0, 490, 489, 491, 477, 582, 479, 478, 481, 480, - 473, 474, 435, 436, 492, 493, 290, 0, 0, 0, - 0, 0, 0, 294, 610, 610, 88, 311, 0, 0, - 0, 0, 0, 0, 450, 0, 0, 0, 3, 596, - 6, 9, 27, 33, 539, 539, 49, 60, 59, 0, - 76, 0, 80, 90, 0, 54, 248, 0, 61, 309, - 283, 284, 433, 285, 286, 287, 431, 430, 462, 432, - 429, 484, 0, 288, 289, 270, 5, 8, 336, 337, - 304, 610, 411, 0, 113, 114, 290, 0, 0, 0, - 0, 539, 539, 116, 494, 340, 0, 484, 289, 0, - 332, 168, 178, 169, 165, 194, 195, 196, 197, 176, + 2, 0, 0, 1, 0, 0, 0, 0, 293, 0, + 0, 317, 320, 0, 0, 598, 337, 338, 339, 340, + 305, 270, 270, 487, 486, 488, 489, 600, 0, 10, + 0, 491, 490, 492, 478, 584, 480, 479, 482, 481, + 474, 475, 436, 437, 493, 494, 291, 0, 0, 0, + 0, 0, 0, 295, 612, 612, 88, 312, 0, 0, + 0, 0, 0, 0, 451, 0, 0, 0, 3, 598, + 6, 9, 27, 33, 540, 540, 49, 60, 59, 0, + 76, 0, 80, 90, 0, 54, 248, 0, 61, 310, + 284, 285, 434, 286, 287, 288, 432, 431, 463, 433, + 430, 485, 0, 289, 290, 270, 5, 8, 337, 338, + 305, 612, 412, 0, 113, 114, 291, 0, 0, 0, + 0, 540, 540, 116, 495, 341, 0, 485, 290, 0, + 333, 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, 569, 55, 121, 122, 568, 0, - 0, 0, 58, 539, 539, 0, 0, 54, 0, 484, - 0, 289, 0, 0, 0, 112, 0, 351, 350, 0, - 0, 484, 289, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 453, 458, 457, - 604, 606, 596, 607, 0, 455, 0, 608, 605, 597, - 580, 0, 0, 0, 0, 265, 276, 74, 269, 610, - 433, 610, 573, 75, 73, 610, 259, 305, 72, 0, - 258, 410, 71, 596, 0, 18, 0, 0, 221, 0, - 222, 209, 212, 301, 0, 0, 0, 596, 15, 596, - 78, 14, 0, 596, 0, 601, 601, 249, 0, 0, - 601, 571, 0, 0, 86, 0, 96, 103, 539, 467, - 466, 468, 469, 0, 465, 464, 437, 442, 441, 444, - 0, 0, 439, 446, 0, 448, 0, 460, 0, 471, - 0, 475, 476, 53, 236, 237, 4, 597, 0, 0, - 0, 0, 0, 0, 0, 546, 542, 541, 540, 543, - 544, 0, 548, 560, 515, 516, 564, 563, 559, 539, - 0, 502, 0, 508, 513, 610, 518, 610, 538, 0, - 545, 547, 550, 524, 0, 557, 524, 562, 524, 0, - 522, 498, 0, 0, 398, 400, 0, 92, 0, 84, + 148, 151, 152, 157, 571, 55, 121, 122, 570, 0, + 0, 0, 58, 540, 540, 0, 0, 54, 0, 485, + 0, 290, 0, 0, 0, 112, 0, 352, 351, 0, + 0, 485, 290, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 454, 459, 458, + 606, 608, 598, 609, 0, 456, 0, 610, 607, 599, + 582, 0, 0, 273, 0, 265, 277, 74, 269, 612, + 434, 612, 575, 75, 73, 612, 259, 306, 72, 0, + 258, 411, 71, 598, 0, 18, 0, 0, 221, 0, + 222, 209, 212, 302, 0, 0, 0, 598, 15, 598, + 78, 14, 0, 598, 0, 603, 603, 249, 0, 0, + 603, 573, 0, 0, 86, 0, 96, 103, 540, 468, + 467, 469, 470, 0, 466, 465, 438, 443, 442, 445, + 0, 0, 440, 447, 0, 449, 0, 461, 0, 472, + 0, 476, 477, 53, 236, 237, 4, 599, 0, 0, + 0, 0, 0, 0, 0, 547, 543, 542, 541, 544, + 545, 0, 549, 561, 516, 517, 565, 564, 560, 540, + 0, 503, 0, 509, 514, 612, 519, 612, 539, 0, + 546, 548, 551, 525, 0, 558, 525, 563, 525, 567, + 523, 499, 0, 0, 399, 401, 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, - 593, 610, 592, 0, 595, 594, 0, 415, 413, 310, - 434, 0, 0, 404, 65, 308, 329, 113, 114, 115, - 475, 476, 502, 495, 327, 0, 610, 0, 0, 0, - 591, 590, 56, 0, 610, 301, 0, 0, 342, 0, - 341, 0, 0, 610, 0, 0, 0, 0, 0, 0, - 301, 0, 610, 0, 324, 0, 126, 0, 0, 454, - 456, 0, 0, 609, 577, 277, 579, 272, 0, 598, - 266, 0, 274, 0, 267, 0, 596, 0, 596, 610, - 610, 260, 271, 596, 0, 307, 52, 599, 0, 0, - 0, 0, 0, 0, 17, 596, 299, 13, 597, 77, - 295, 298, 302, 603, 250, 602, 603, 252, 303, 572, - 102, 94, 0, 89, 0, 0, 610, 0, 539, 312, - 395, 524, 470, 0, 0, 445, 451, 438, 440, 447, - 449, 461, 472, 0, 0, 7, 21, 22, 23, 24, - 25, 50, 51, 506, 552, 505, 0, 596, 596, 524, - 0, 0, 507, 0, 520, 567, 517, 0, 521, 503, - 0, 531, 553, 0, 534, 561, 0, 536, 565, 0, - 0, 610, 0, 28, 30, 0, 31, 596, 0, 82, - 93, 48, 34, 46, 0, 253, 198, 29, 0, 289, + 595, 612, 594, 0, 597, 596, 0, 416, 414, 311, + 435, 0, 0, 405, 65, 309, 330, 113, 114, 115, + 476, 477, 503, 496, 328, 0, 612, 0, 0, 0, + 593, 592, 56, 0, 612, 302, 0, 0, 343, 0, + 342, 0, 0, 612, 0, 0, 0, 0, 0, 0, + 302, 0, 612, 0, 325, 0, 126, 0, 0, 455, + 457, 0, 0, 611, 579, 278, 581, 272, 0, 600, + 266, 0, 275, 0, 267, 0, 598, 0, 598, 612, + 612, 260, 271, 598, 0, 308, 52, 601, 0, 0, + 0, 0, 0, 0, 17, 598, 300, 13, 599, 77, + 296, 299, 303, 605, 250, 604, 605, 252, 304, 574, + 102, 94, 0, 89, 0, 0, 612, 0, 540, 313, + 396, 525, 471, 0, 0, 446, 452, 439, 441, 448, + 450, 462, 473, 0, 0, 7, 21, 22, 23, 24, + 25, 50, 51, 507, 553, 506, 0, 598, 598, 525, + 0, 0, 508, 0, 521, 569, 518, 0, 522, 504, + 0, 532, 554, 0, 535, 562, 0, 537, 566, 0, + 0, 612, 0, 28, 30, 0, 31, 598, 0, 82, + 93, 48, 34, 46, 0, 253, 198, 29, 0, 290, 226, 231, 232, 233, 228, 230, 240, 241, 234, 235, - 207, 210, 238, 239, 32, 218, 598, 227, 229, 223, - 224, 225, 213, 214, 215, 216, 217, 583, 588, 584, - 589, 409, 270, 407, 0, 610, 583, 585, 584, 586, - 408, 270, 583, 584, 270, 610, 610, 35, 253, 199, + 207, 210, 238, 239, 32, 218, 600, 227, 229, 223, + 224, 225, 213, 214, 215, 216, 217, 585, 590, 586, + 591, 410, 270, 408, 0, 612, 585, 587, 586, 588, + 409, 270, 585, 586, 270, 612, 612, 35, 253, 199, 45, 206, 63, 66, 0, 0, 0, 113, 114, 117, - 0, 0, 610, 0, 596, 0, 293, 610, 610, 421, - 0, 0, 610, 343, 587, 300, 0, 583, 584, 610, - 345, 317, 344, 320, 587, 300, 0, 583, 584, 0, - 0, 0, 0, 276, 0, 323, 576, 575, 275, 0, - 278, 273, 610, 578, 574, 257, 255, 261, 262, 264, - 306, 600, 19, 0, 26, 205, 79, 16, 596, 601, - 95, 87, 99, 101, 0, 98, 100, 598, 0, 0, - 463, 0, 452, 219, 220, 546, 359, 596, 352, 501, - 499, 0, 41, 244, 334, 0, 514, 610, 566, 0, - 523, 551, 524, 524, 524, 558, 524, 546, 524, 43, - 246, 335, 386, 384, 0, 383, 382, 282, 0, 91, - 85, 0, 0, 0, 0, 0, 610, 0, 0, 0, - 0, 406, 69, 412, 262, 0, 0, 405, 67, 401, - 62, 0, 0, 610, 330, 0, 0, 412, 333, 570, - 57, 422, 423, 610, 424, 0, 610, 348, 0, 0, - 346, 0, 0, 412, 0, 0, 0, 0, 0, 412, - 0, 127, 459, 322, 0, 0, 279, 268, 596, 610, - 11, 296, 251, 97, 0, 388, 0, 0, 313, 443, - 0, 357, 549, 0, 596, 0, 0, 519, 504, 0, - 527, 0, 529, 0, 535, 0, 532, 537, 0, 0, - 381, 598, 598, 510, 511, 610, 610, 366, 0, 555, - 366, 366, 364, 0, 0, 280, 83, 47, 254, 583, - 584, 0, 583, 584, 0, 0, 40, 203, 39, 204, - 70, 0, 37, 201, 38, 202, 68, 402, 403, 0, - 0, 0, 0, 496, 328, 0, 0, 426, 349, 0, - 12, 428, 0, 314, 0, 315, 0, 0, 325, 278, - 610, 256, 263, 394, 0, 0, 0, 360, 0, 355, - 500, 42, 245, 524, 524, 524, 524, 44, 247, 0, - 0, 0, 509, 0, 362, 363, 366, 374, 554, 0, - 377, 0, 379, 399, 281, 412, 243, 242, 36, 200, - 416, 414, 0, 0, 0, 425, 0, 104, 111, 0, - 427, 0, 318, 321, 0, 418, 419, 417, 392, 598, - 390, 393, 397, 396, 0, 358, 0, 353, 528, 0, - 525, 530, 533, 387, 385, 301, 0, 512, 610, 0, - 365, 372, 366, 366, 366, 556, 366, 366, 64, 331, - 110, 0, 610, 0, 610, 610, 0, 0, 389, 356, - 0, 524, 587, 300, 361, 0, 369, 0, 371, 0, - 378, 0, 375, 380, 107, 109, 0, 583, 584, 420, - 347, 326, 391, 354, 526, 366, 366, 366, 366, 105, - 370, 0, 367, 373, 376, 366, 368 + 0, 0, 612, 0, 598, 0, 294, 612, 612, 422, + 0, 0, 612, 344, 589, 301, 0, 585, 586, 612, + 346, 318, 345, 321, 589, 301, 0, 585, 586, 0, + 0, 0, 0, 277, 0, 324, 578, 577, 276, 0, + 279, 274, 612, 580, 576, 257, 255, 261, 262, 264, + 307, 602, 19, 0, 26, 205, 79, 16, 598, 603, + 95, 87, 99, 101, 0, 98, 100, 600, 0, 0, + 464, 0, 453, 219, 220, 547, 360, 598, 353, 502, + 500, 0, 41, 244, 335, 0, 515, 612, 568, 0, + 524, 552, 525, 525, 525, 559, 525, 547, 525, 43, + 246, 336, 387, 385, 0, 384, 383, 283, 0, 91, + 85, 0, 0, 0, 0, 0, 612, 0, 0, 0, + 0, 407, 69, 413, 262, 0, 0, 406, 67, 402, + 62, 0, 0, 612, 331, 0, 0, 413, 334, 572, + 57, 423, 424, 612, 425, 0, 612, 349, 0, 0, + 347, 0, 0, 413, 0, 0, 0, 0, 0, 413, + 0, 127, 460, 323, 0, 0, 280, 268, 598, 612, + 11, 297, 251, 97, 0, 389, 0, 0, 314, 444, + 0, 358, 550, 0, 598, 0, 0, 520, 505, 0, + 528, 0, 530, 0, 536, 0, 533, 538, 0, 0, + 382, 600, 600, 511, 512, 612, 612, 367, 0, 556, + 367, 367, 365, 0, 0, 281, 83, 47, 254, 585, + 586, 0, 585, 586, 0, 0, 40, 203, 39, 204, + 70, 0, 37, 201, 38, 202, 68, 403, 404, 0, + 0, 0, 0, 497, 329, 0, 0, 427, 350, 0, + 12, 429, 0, 315, 0, 316, 0, 0, 326, 279, + 612, 256, 263, 395, 0, 0, 0, 361, 0, 356, + 501, 42, 245, 525, 525, 525, 525, 44, 247, 0, + 0, 0, 510, 0, 363, 364, 367, 375, 555, 0, + 378, 0, 380, 400, 282, 413, 243, 242, 36, 200, + 417, 415, 0, 0, 0, 426, 0, 104, 111, 0, + 428, 0, 319, 322, 0, 419, 420, 418, 393, 600, + 391, 394, 398, 397, 0, 359, 0, 354, 529, 0, + 526, 531, 534, 388, 386, 302, 0, 513, 612, 0, + 366, 373, 367, 367, 367, 557, 367, 367, 64, 332, + 110, 0, 612, 0, 612, 612, 0, 0, 390, 357, + 0, 525, 589, 301, 362, 0, 370, 0, 372, 0, + 379, 0, 376, 381, 107, 109, 0, 585, 586, 421, + 348, 327, 392, 355, 527, 367, 367, 367, 367, 105, + 371, 0, 368, 374, 377, 367, 369 }; /* YYPGOTO[NTERM-NUM]. */ @@ -2517,29 +2517,29 @@ static const yytype_int16 yytable[] = 1001, 256, 661, -104, 525, 664, 334, 336, 338, 340, 315, 681, 306, 310, 276, 281, -107, 393, 444, -111, 206, 741, 125, 125, 573, 765, 682, 724, 696, 280, - 125, -109, 501, -486, 505, 267, 273, 706, 468, 274, + 125, -109, 501, -487, 505, 267, 273, 706, 468, 274, 578, 652, 782, 661, 856, 218, 437, 87, -110, 811, - 812, 1025, 682, 888, -485, 346, -106, -108, 474, 581, - -105, 3, -487, -482, 393, 910, 434, -488, 533, 483, + 812, 1025, 682, 888, -486, 346, -106, -108, 474, 581, + -105, 3, -488, -483, 393, 910, 434, -489, 533, 483, 883, 916, 771, 125, -77, 364, 365, 366, 378, 378, - 600, 430, -490, 269, 269, 790, -489, 269, 574, 783, - -486, 682, -104, 1001, 438, -91, -106, 287, 443, 125, + 600, 430, -491, 269, 269, 790, -490, 269, 574, 783, + -487, 682, -104, 1001, 438, -91, -106, 287, 443, 125, 275, 744, 367, 558, 276, 281, 558, 607, 558, 296, - 558, -485, 558, -96, 700, 293, 682, 466, 467, -487, - -96, 305, 443, 432, -488, 378, 378, 1025, 857, 522, - 396, 391, 391, -99, -340, -583, -103, 247, 87, -490, - 248, 249, 772, -489, 429, 683, 667, 670, -101, -340, - -584, 218, 218, 528, 772, 547, 393, -483, 438, 430, - 283, 535, 535, 478, 479, -102, 535, -491, 250, 394, + 558, -486, 558, -96, 700, 293, 682, 466, 467, -488, + -96, 305, 443, 432, -489, 378, 378, 1025, 857, 522, + 396, 391, 391, -99, -341, -585, -103, 247, 87, -491, + 248, 249, 772, -490, 429, 683, 667, 670, -101, -341, + -586, 218, 218, 528, 772, 547, 393, -484, 438, 430, + 283, 535, 535, 478, 479, -102, 535, -492, 250, 394, 251, 324, 773, -98, -100, 776, 296, -97, 542, 397, - 594, 270, 597, 541, -340, 270, -112, 502, 1007, 502, - 504, -340, -477, 511, 431, -106, 300, 921, -106, -106, - -481, 432, 247, 218, 206, 248, 249, 218, 721, 721, + 594, 270, 597, 541, -341, 270, -112, 502, 1007, 502, + 504, -341, -478, 511, 431, -106, 300, 921, -106, -106, + -482, 432, 247, 218, 206, 248, 249, 218, 721, 721, 447, 218, 218, 460, 448, 87, 752, 378, 378, 747, - 724, 366, 87, 87, -491, 265, -106, 401, -106, 265, + 724, 366, 87, 87, -492, 265, -106, 401, -106, 265, 87, 771, 825, 250, 491, 251, 888, 271, 488, 888, - 995, 315, 542, 771, 822, -482, 367, 775, 489, -477, - 883, 248, 249, 883, 524, 417, 883, -481, 883, 603, + 995, 315, 542, 771, 822, -483, 367, 775, 489, -478, + 883, 248, 249, 883, 524, 417, 883, -482, 883, 603, 441, 611, 530, 442, 613, 341, 342, 551, 896, 553, 461, 275, 728, 729, -104, 87, 218, 218, 218, 218, 87, 218, 218, 527, 721, 426, 427, 428, 566, 567, @@ -2558,83 +2558,83 @@ static const yytype_int16 yytable[] = 218, 270, 740, 519, 541, 87, 125, 835, 804, 659, 934, 732, 721, 265, 805, 542, 660, 502, 502, 329, 330, 417, 265, 724, 845, 526, 659, 106, -106, 270, - 807, -412, 270, 809, 246, 659, -108, 87, 771, -105, + 807, -413, 270, 809, 246, 659, -108, 87, 771, -105, 660, 954, 270, -106, 806, 296, 87, -76, 797, 722, 517, 807, 470, 605, 511, 964, 965, 660, 605, 470, 315, 893, 315, 523, 218, 532, 660, 844, 541, 71, 206, 538, 87, -108, 659, 505, 771, 911, 737, 212, 212, 739, 959, 960, 727, 212, 265, 551, 919, 452, - 452, 540, -110, 544, 906, -412, 493, 472, 218, 659, - 912, 914, 563, 564, 580, 660, -105, 517, -497, 786, - -412, 805, 430, -102, 583, 758, 692, 218, 599, 847, + 452, 540, -110, 544, 906, -413, 493, 472, 218, 659, + 912, 914, 563, 564, 580, 660, -105, 517, -498, 786, + -413, 805, 430, -102, 583, 758, 692, 218, 599, 847, 762, 771, 586, 798, 699, 560, 315, 327, 328, 595, 660, 587, 774, 945, 711, 778, 590, 593, 1023, 779, - -106, 1026, 378, -412, 598, -412, 596, 473, 714, 125, - 610, 125, -412, 634, 432, 802, 870, 872, 874, -580, + -106, 1026, 378, -413, 598, -413, 596, 473, 714, 125, + 610, 125, -413, 634, 432, 802, 870, 872, 874, -582, 876, -98, 877, 502, 808, 468, 686, 810, 105, 280, 105, 672, 280, 786, 786, 105, 105, 1056, 687, 329, 330, 105, 105, 105, 493, 535, 105, 446, 1044, 690, 280, 806, 682, 218, 87, 824, 827, 691, 575, 983, 827, 751, 942, 841, 820, 815, 978, 827, 693, 552, 715, 911, 734, 764, 726, 125, 589, 1066, 105, 731, - -108, -91, 749, -477, 270, 270, 246, 218, 761, 781, - 502, 917, 105, 791, 792, 801, 989, 206, -477, 840, + -108, -91, 749, -478, 270, 270, 246, 218, 761, 781, + 502, 917, 105, 791, 792, 801, 989, 206, -478, 840, -105, -100, 991, 611, 276, 793, 613, 276, 803, 611, 817, 541, 613, 908, 818, 611, 611, 833, 613, 613, - 825, -97, 206, 801, 247, 276, 839, 248, 249, -290, - 842, -580, 843, -477, 768, 585, 849, -580, 768, -108, - -477, 850, 853, 105, -290, 105, 859, 863, 865, 573, + 825, -97, 206, 801, 247, 276, 839, 248, 249, -291, + 842, -582, 843, -478, 768, 585, 849, -582, 768, -108, + -478, 850, 853, 105, -291, 105, 859, 863, 865, 573, 517, 499, 270, 212, 212, 250, 869, 251, 871, 873, 270, 875, 87, 878, 511, 924, 353, 354, 925, 315, - 87, 618, 481, 929, 218, 702, 702, 618, 218, -290, - 933, 786, 887, 618, 618, 935, -290, 430, 943, 87, + 87, 618, 481, 929, 218, 702, 702, 618, 218, -291, + 933, 786, 887, 618, 618, 935, -291, 430, 943, 87, 87, 927, 973, 948, 931, 963, 265, 1008, 1010, 1011, 1012, 966, 897, 87, 605, 969, 218, 559, 971, 659, 327, 328, 849, 513, 516, 87, 87, 502, 932, 975, 980, 611, 482, 87, 613, 493, 529, 981, 992, 432, - 531, 993, 493, 1002, 87, 87, 105, -300, -108, 1003, + 531, 993, 493, 1002, 87, 87, 105, -301, -108, 1003, 660, -108, -108, 1004, 247, 521, 1013, 248, 249, 105, - 105, 1009, -300, 585, 585, 767, 1014, 1015, 125, 947, + 105, 1009, -301, 585, 585, 767, 1014, 1015, 125, 947, 430, 962, 329, 330, 1028, 1029, 968, 1030, 953, -108, 955, -108, 1061, 545, 956, 250, 1033, 251, 212, 212, - 212, 212, 1037, 571, 572, 1064, 1040, -300, 430, 618, - 1045, -584, 733, 1047, -300, 473, 904, -583, 270, 87, + 212, 212, 1037, 571, 572, 1064, 1040, -301, 430, 618, + 1045, -586, 733, 1047, -301, 473, 904, -585, 270, 87, 87, 105, 432, 986, 1049, 105, 1051, 87, 827, 105, - 105, -584, 1069, 105, 669, 671, 1071, 227, 130, 920, + 105, -586, 1069, 105, 669, 671, 1071, 227, 130, 920, 105, 105, 755, 546, 356, 357, 358, 359, 105, 1060, 432, 880, 928, 1062, 892, 918, 1059, 326, 327, 328, - 360, 490, -581, 208, 936, 937, 1038, 1005, 669, 671, - 125, 766, 940, 1022, 247, 125, 0, 248, 249, -587, + 360, 490, -583, 208, 936, 937, 1038, 1005, 669, 671, + 125, 766, 940, 1022, 247, 125, 0, 248, 249, -589, 1017, 0, 905, 0, 946, 0, 0, 87, 1024, 87, 1027, 814, 87, 105, 105, 105, 105, 105, 105, 105, - 105, 0, 0, 0, -484, 0, 585, 251, 270, 684, - 329, 330, 125, 0, 0, 0, 735, 0, 105, -484, - 511, -289, 689, 827, 0, 1039, -481, 0, 1041, 0, - 218, 470, 0, 860, 970, 972, -289, 0, 0, 105, - 0, -481, 105, -587, 105, 0, 0, 105, 982, 0, - 0, 0, 265, 725, -484, 0, 990, 0, -587, 1063, - 730, -484, 0, 0, 1065, 659, 1067, -583, 0, 0, - 1068, -289, 736, 0, -581, 886, -481, 105, -289, -301, - -581, 0, 0, -481, 0, 0, 868, 105, 105, 0, - 1075, -587, 0, -587, -301, 0, 660, -583, 795, 1016, - -587, 0, 105, 0, 105, 105, 0, 0, 0, 0, + 105, 0, 0, 0, -485, 0, 585, 251, 270, 684, + 329, 330, 125, 0, 0, 0, 735, 0, 105, -485, + 511, -290, 689, 827, 0, 1039, -482, 0, 1041, 0, + 218, 470, 0, 860, 970, 972, -290, 0, 0, 105, + 0, -482, 105, -589, 105, 0, 0, 105, 982, 0, + 0, 0, 265, 725, -485, 0, 990, 0, -589, 1063, + 730, -485, 0, 0, 1065, 659, 1067, -585, 0, 0, + 1068, -290, 736, 0, -583, 886, -482, 105, -290, -302, + -583, 0, 0, -482, 0, 0, 868, 105, 105, 0, + 1075, -589, 0, -589, -302, 0, 660, -585, 795, 1016, + -589, 0, 105, 0, 105, 105, 0, 0, 0, 0, 1021, 0, 0, 430, 430, 105, 1034, 0, 1035, 105, - 0, 1036, 0, 105, 759, 760, 1031, 0, 105, -301, - 0, -583, 923, 105, 768, 0, -301, 892, 0, 0, - 892, 430, 892, 0, 0, 0, -583, 0, 796, 456, - -584, 337, 327, 328, 789, 432, 432, 702, 0, 755, + 0, 1036, 0, 105, 759, 760, 1031, 0, 105, -302, + 0, -585, 923, 105, 768, 0, -302, 892, 0, 0, + 892, 430, 892, 0, 0, 0, -585, 0, 796, 456, + -586, 337, 327, 328, 789, 432, 432, 702, 0, 755, 0, 356, 357, 358, 359, 105, 1046, 1048, 1050, 0, - 1052, 1053, 0, 0, 105, 0, 1032, 360, 0, -583, - 0, -583, 0, 432, 0, -583, 0, 0, -583, 0, + 1052, 1053, 0, 0, 105, 0, 1032, 360, 0, -585, + 0, -585, 0, 432, 0, -585, 0, 0, -585, 0, 892, 0, 105, 0, 247, 217, 217, 248, 249, 0, 105, 217, 266, 266, 329, 330, 266, 0, 0, 1070, - 1072, 1073, 1074, 0, -584, 0, 892, 0, 892, 1076, - 892, 0, 892, 0, 0, 212, 105, 251, 0, -584, + 1072, 1073, 1074, 0, -586, 0, 892, 0, 892, 1076, + 892, 0, 892, 0, 0, 212, 105, 251, 0, -586, 0, 819, 0, 288, 290, 291, 292, 339, 327, 328, 266, 308, 892, 470, 417, 105, 0, 0, 0, 470, 1006, 0, 344, 345, 0, 1018, 0, 0, 886, 212, - 0, 886, -584, 886, -584, 552, 327, 328, -584, 0, - 0, -584, 424, 425, 426, 427, 428, 755, 0, 356, + 0, 886, -586, 886, -586, 552, 327, 328, -586, 0, + 0, -586, 424, 425, 426, 427, 428, 755, 0, 356, 357, 358, 359, 0, 247, 851, 0, 248, 249, 0, 329, 330, 907, 909, 0, 360, 0, 0, 913, 915, 557, 327, 328, 217, 862, 561, 327, 328, 562, 327, @@ -2644,11 +2644,11 @@ static const yytype_int16 yytable[] = 0, 886, 355, 886, 356, 357, 358, 359, 360, 0, 0, 0, 0, 329, 330, 105, 414, 415, 329, 330, 360, 329, 330, 886, 0, 329, 330, 0, 0, 417, - 0, 0, -297, 362, 361, -297, -297, 0, 212, 0, + 0, 0, -298, 362, 361, -298, -298, 0, 212, 0, 364, 365, 366, 0, 0, 362, 348, 349, 350, 351, 352, 363, 364, 365, 366, 941, 423, 424, 425, 426, - 427, 428, -297, -297, 979, -297, 0, 367, 0, 217, - 217, 950, -610, 74, 0, 74, 121, 121, 0, 367, + 427, 428, -298, -298, 979, -298, 0, 367, 0, 217, + 217, 950, -612, 74, 0, 74, 121, 121, 0, 367, 0, 0, 368, 0, 121, 0, 0, 979, 0, 247, 105, 0, 248, 249, 0, 369, 0, 0, 105, 105, 0, 0, 105, 0, 0, 105, 105, 495, 496, 497, @@ -2685,21 +2685,21 @@ static const yytype_int16 yytable[] = 754, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 74, 0, 0, 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -610, 0, 74, 0, 780, 0, 355, 787, 356, - 357, 358, 359, 0, -610, -610, -610, -610, -610, -610, - 0, -610, 0, 0, 74, 360, 0, -610, -610, 74, - 121, 0, 74, 0, 0, 0, 0, 0, -610, -610, - 0, -610, -610, -610, -610, -610, 0, 0, 0, 0, + 0, -612, 0, 74, 0, 780, 0, 355, 787, 356, + 357, 358, 359, 0, -612, -612, -612, -612, -612, -612, + 0, -612, 0, 0, 74, 360, 0, -612, -612, 74, + 121, 0, 74, 0, 0, 0, 0, 0, -612, -612, + 0, -612, -612, -612, -612, -612, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 363, 364, 365, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 367, 0, 0, 368, 0, 74, - 0, -610, 0, 821, 0, 0, 763, 780, 1019, 0, - 74, 75, 0, 75, 122, 122, -610, 0, 74, 0, - 0, 0, 122, 0, 0, 217, -610, 0, 74, -610, - -610, 0, 0, 0, 0, 846, 0, 0, 0, 0, - 0, 0, 0, 0, 720, 308, 0, 0, 0, -610, - -610, 0, 0, 0, 0, 275, -610, -610, -610, -610, + 0, -612, 0, 821, 0, 0, 763, 780, 1019, 0, + 74, 75, 0, 75, 122, 122, -612, 0, 74, 0, + 0, 0, 122, 0, 0, 217, -612, 0, 74, -612, + -612, 0, 0, 0, 0, 846, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 308, 0, 0, 0, -612, + -612, 0, 0, 0, 0, 275, -612, -612, -612, -612, 74, 75, 0, 0, 0, 122, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 121, 0, 0, 0, 0, @@ -2724,7 +2724,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 360, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 104, 0, 0, 75, 0, 769, 0, - 0, -276, 0, 75, 75, 0, 0, 362, 0, 0, + 0, -277, 0, 75, 75, 0, 0, 362, 0, 0, 0, 75, 0, 363, 364, 365, 366, 0, 0, 0, 0, 0, 122, 0, 355, 74, 356, 357, 358, 359, 0, 0, 121, 74, 74, 0, 0, 0, 0, 0, @@ -2817,8 +2817,8 @@ static const yytype_int16 yytable[] = 0, 0, 102, 0, 0, 0, 0, 102, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 102, 0, 0, - 0, 84, 0, 0, -611, -611, -611, -611, 406, 407, - 0, 84, -611, -611, 0, 0, 0, 0, 102, 0, + 0, 84, 0, 0, -613, -613, -613, -613, 406, 407, + 0, 84, -613, -613, 0, 0, 0, 0, 102, 0, 414, 415, 0, 102, 0, 0, 102, 0, 0, 0, 0, 0, 0, 417, 0, 101, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, @@ -2874,7 +2874,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 102, 102, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -610, 4, 0, 5, + 0, 0, 0, 0, 0, 0, -612, 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, @@ -2885,133 +2885,133 @@ static const yytype_int16 yytable[] = 0, 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, -291, - 64, -610, 0, 0, -610, -610, 0, 0, 0, 0, - 0, 0, -291, -291, -291, -291, -291, -291, 0, -291, - 65, 66, 67, 0, 0, 0, -291, -291, -291, 0, - 0, 0, -610, 0, -610, 0, -291, -291, 0, -291, - -291, -291, -291, -291, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -291, 0, 0, 0, + 57, 0, 58, 59, 60, 0, 61, 62, 63, -292, + 64, -612, 0, 0, -612, -612, 0, 0, 0, 0, + 0, 0, -292, -292, -292, -292, -292, -292, 0, -292, + 65, 66, 67, 0, 0, 0, -292, -292, -292, 0, + 0, 0, -612, 0, -612, 0, -292, -292, 0, -292, + -292, -292, -292, -292, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, 0, 0, 0, 0, -291, -291, -291, - 0, 0, -291, 0, 0, 0, 0, 0, -291, 0, - -291, 0, 0, 0, -291, 0, 0, 0, 0, 0, - 0, 0, -291, 0, -291, 0, 0, -291, -291, 0, - 0, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, 0, 0, -411, 0, 0, -291, -291, - -291, -291, 0, 0, -291, -291, -291, -291, -411, -411, - -411, -411, -411, -411, 0, -411, 0, 0, 0, 0, - 0, -411, -411, -411, 0, 0, 0, 0, 0, 0, - 0, 0, -411, -411, 0, -411, -411, -411, -411, -411, + 0, -292, -292, -292, -292, -292, -292, -292, -292, -292, + -292, -292, -292, 0, 0, 0, 0, -292, -292, -292, + 0, 0, -292, 0, 0, 0, 0, 0, -292, 0, + -292, 0, 0, 0, -292, 0, 0, 0, 0, 0, + 0, 0, -292, 0, -292, 0, 0, -292, -292, 0, + 0, -292, -292, -292, -292, -292, -292, -292, -292, -292, + -292, -292, -292, 0, 0, -412, 0, 0, -292, -292, + -292, -292, 0, 0, -292, -292, -292, -292, -412, -412, + -412, -412, -412, -412, 0, -412, 0, 0, 0, 0, + 0, -412, -412, -412, 0, 0, 0, 0, 0, 0, + 0, 0, -412, -412, 0, -412, -412, -412, -412, -412, 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, -411, -411, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, - 0, 0, 0, -411, -411, -411, 0, 0, -411, 0, - 0, 0, 0, 0, -411, 0, -411, 0, 0, 0, - -411, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -411, 0, 0, -411, -411, 0, 0, -411, 0, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, - 0, -477, 0, -411, -411, -411, -411, -411, 0, 275, - -411, -411, -411, -411, -477, -477, -477, -477, -477, -477, - 0, -477, 0, 0, 0, 0, 0, 0, -477, -477, - 0, 0, 0, 0, 0, 0, 0, 0, -477, -477, - 0, -477, -477, -477, -477, -477, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -412, -412, -412, + -412, -412, -412, -412, -412, -412, -412, -412, -412, 0, + 0, 0, 0, -412, -412, -412, 0, 0, -412, 0, + 0, 0, 0, 0, -412, 0, -412, 0, 0, 0, + -412, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -412, 0, 0, -412, -412, 0, 0, -412, 0, -412, + -412, -412, -412, -412, -412, -412, -412, -412, -412, 0, + 0, -478, 0, -412, -412, -412, -412, -412, 0, 275, + -412, -412, -412, -412, -478, -478, -478, -478, -478, -478, + 0, -478, 0, 0, 0, 0, 0, 0, -478, -478, + 0, 0, 0, 0, 0, 0, 0, 0, -478, -478, + 0, -478, -478, -478, -478, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -477, -477, -477, -477, -477, -477, -477, - -477, -477, -477, -477, -477, 0, 0, 0, 0, -477, - -477, -477, 0, -477, -477, 0, 0, 0, 0, 0, - -477, 0, -477, 0, 0, 0, -477, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -477, 0, 0, -477, - -477, 0, -477, -477, 0, -477, -477, -477, -477, -477, - -477, -477, -477, -477, -477, 0, 0, -610, 0, 0, - -477, -477, -477, -477, 0, 0, -477, -477, -477, -477, - -610, -610, -610, -610, -610, -610, 0, -610, 0, 0, - 0, 0, 0, -610, -610, -610, 0, 0, 0, 0, - 0, 0, 0, 0, -610, -610, 0, -610, -610, -610, - -610, -610, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -478, -478, -478, -478, -478, -478, -478, + -478, -478, -478, -478, -478, 0, 0, 0, 0, -478, + -478, -478, 0, -478, -478, 0, 0, 0, 0, 0, + -478, 0, -478, 0, 0, 0, -478, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -478, 0, 0, -478, + -478, 0, -478, -478, 0, -478, -478, -478, -478, -478, + -478, -478, -478, -478, -478, 0, 0, -612, 0, 0, + -478, -478, -478, -478, 0, 0, -478, -478, -478, -478, + -612, -612, -612, -612, -612, -612, 0, -612, 0, 0, + 0, 0, 0, -612, -612, -612, 0, 0, 0, 0, + 0, 0, 0, 0, -612, -612, 0, -612, -612, -612, + -612, -612, 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, -610, - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, 0, 0, 0, 0, -610, -610, -610, 0, 0, - -610, 0, 0, 0, 0, 0, -610, 0, -610, 0, - 0, 0, -610, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -610, 0, 0, -610, -610, 0, 0, -610, - 0, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, 0, 0, -610, 0, -610, -610, -610, -610, -610, - 0, 275, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, 0, -610, 0, 0, 0, 0, 0, 0, - -610, -610, 0, 0, 0, 0, 0, 0, 0, 0, - -610, -610, 0, -610, -610, -610, -610, -610, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -612, + -612, -612, -612, -612, -612, -612, -612, -612, -612, -612, + -612, 0, 0, 0, 0, -612, -612, -612, 0, 0, + -612, 0, 0, 0, 0, 0, -612, 0, -612, 0, + 0, 0, -612, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -612, 0, 0, -612, -612, 0, 0, -612, + 0, -612, -612, -612, -612, -612, -612, -612, -612, -612, + -612, 0, 0, -612, 0, -612, -612, -612, -612, -612, + 0, 275, -612, -612, -612, -612, -612, -612, -612, -612, + -612, -612, 0, -612, 0, 0, 0, 0, 0, 0, + -612, -612, 0, 0, 0, 0, 0, 0, 0, 0, + -612, -612, 0, -612, -612, -612, -612, -612, 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, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, 0, 0, 0, - 0, -610, -610, -610, 0, 0, -610, 0, 0, 0, - 0, 0, -610, 0, -610, 0, 0, 0, -610, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -610, 0, - 0, -610, -610, 0, 0, -610, 0, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, 0, 0, -587, - 0, 0, -610, -610, -610, -610, 0, 275, -610, -610, - -610, -610, -587, -587, -587, 0, -587, -587, 0, -587, - 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -587, -587, 0, -587, - -587, -587, -587, -587, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -612, -612, -612, -612, -612, + -612, -612, -612, -612, -612, -612, -612, 0, 0, 0, + 0, -612, -612, -612, 0, 0, -612, 0, 0, 0, + 0, 0, -612, 0, -612, 0, 0, 0, -612, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -612, 0, + 0, -612, -612, 0, 0, -612, 0, -612, -612, -612, + -612, -612, -612, -612, -612, -612, -612, 0, 0, -589, + 0, 0, -612, -612, -612, -612, 0, 275, -612, -612, + -612, -612, -589, -589, -589, 0, -589, -589, 0, -589, + 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -589, -589, 0, -589, + -589, -589, -589, -589, 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, -587, -587, -587, -587, -587, -587, -587, -587, -587, - -587, -587, -587, 0, 0, 0, 0, -587, -587, -587, - 0, 799, -587, 0, 0, 0, 0, 0, 0, 0, - -587, 0, 0, 0, -587, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -587, 0, 0, -587, -587, 0, - -107, -587, 0, -587, -587, -587, -587, -587, -587, -587, - -587, -587, -587, 0, 0, -587, 0, -587, -587, -587, - 0, -99, 0, 0, -587, -587, -587, -587, -587, -587, - -587, 0, -587, -587, 0, -587, 0, 0, 0, 0, - 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -587, -587, 0, -587, -587, -587, -587, -587, + 0, -589, -589, -589, -589, -589, -589, -589, -589, -589, + -589, -589, -589, 0, 0, 0, 0, -589, -589, -589, + 0, 799, -589, 0, 0, 0, 0, 0, 0, 0, + -589, 0, 0, 0, -589, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -589, 0, 0, -589, -589, 0, + -107, -589, 0, -589, -589, -589, -589, -589, -589, -589, + -589, -589, -589, 0, 0, -589, 0, -589, -589, -589, + 0, -99, 0, 0, -589, -589, -589, -589, -589, -589, + -589, 0, -589, -589, 0, -589, 0, 0, 0, 0, + 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -589, -589, 0, -589, -589, -589, -589, -589, 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, -587, -587, -587, - -587, -587, -587, -587, -587, -587, -587, -587, -587, 0, - 0, 0, 0, -587, -587, -587, 0, 799, -587, 0, - 0, 0, 0, 0, 0, 0, -587, 0, 0, 0, - -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -587, 0, 0, -587, -587, 0, -107, -587, 0, -587, - -587, -587, -587, -587, -587, -587, -587, -587, -587, 0, - 0, -300, 0, -587, -587, -587, 0, -587, 0, 0, - -587, -587, -587, -587, -300, -300, -300, 0, -300, -300, - 0, -300, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -300, -300, - 0, -300, -300, -300, -300, -300, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -589, -589, -589, + -589, -589, -589, -589, -589, -589, -589, -589, -589, 0, + 0, 0, 0, -589, -589, -589, 0, 799, -589, 0, + 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, + -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -589, 0, 0, -589, -589, 0, -107, -589, 0, -589, + -589, -589, -589, -589, -589, -589, -589, -589, -589, 0, + 0, -301, 0, -589, -589, -589, 0, -589, 0, 0, + -589, -589, -589, -589, -301, -301, -301, 0, -301, -301, + 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -301, -301, + 0, -301, -301, -301, -301, -301, 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, -300, -300, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, 0, 0, 0, 0, -300, - -300, -300, 0, 800, -300, 0, 0, 0, 0, 0, - 0, 0, -300, 0, 0, 0, -300, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -300, 0, 0, -300, - -300, 0, -109, -300, 0, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, 0, 0, -300, 0, 0, - -300, -300, 0, -101, 0, 0, -300, -300, -300, -300, - -300, -300, -300, 0, -300, -300, 0, -300, 0, 0, + 0, 0, 0, -301, -301, -301, -301, -301, -301, -301, + -301, -301, -301, -301, -301, 0, 0, 0, 0, -301, + -301, -301, 0, 800, -301, 0, 0, 0, 0, 0, + 0, 0, -301, 0, 0, 0, -301, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -301, 0, 0, -301, + -301, 0, -109, -301, 0, -301, -301, -301, -301, -301, + -301, -301, -301, -301, -301, 0, 0, -301, 0, 0, + -301, -301, 0, -101, 0, 0, -301, -301, -301, -301, + -301, -301, -301, 0, -301, -301, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -300, -300, 0, -300, -300, -300, - -300, -300, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -301, -301, 0, -301, -301, -301, + -301, -301, 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, -300, - -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, 0, 0, 0, 0, -300, -300, -300, 0, 800, - -300, 0, 0, 0, 0, 0, 0, 0, -300, 0, - 0, 0, -300, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -300, 0, 0, -300, -300, 0, -109, -300, - 0, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, 0, 0, 0, 0, 0, -300, -300, 0, -300, - 0, 0, -300, -300, -300, -300, 294, 0, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, -610, -610, - -610, 0, 0, -610, 15, 0, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, + -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, + -301, 0, 0, 0, 0, -301, -301, -301, 0, 800, + -301, 0, 0, 0, 0, 0, 0, 0, -301, 0, + 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -301, 0, 0, -301, -301, 0, -109, -301, + 0, -301, -301, -301, -301, -301, -301, -301, -301, -301, + -301, 0, 0, 0, 0, 0, -301, -301, 0, -301, + 0, 0, -301, -301, -301, -301, 294, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, -612, -612, + -612, 0, 0, -612, 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, @@ -3021,11 +3021,11 @@ 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, - -610, 0, 0, -610, -610, 0, 0, 0, 0, 0, + -612, 0, 0, -612, -612, 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, -610, 294, -610, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 0, 0, -610, 0, -610, -610, + 0, -612, 294, -612, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, -612, 0, -612, -612, 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, @@ -3035,12 +3035,12 @@ static const yytype_int16 yytable[] = 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, -610, 0, 0, -610, - -610, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 61, 62, 63, 0, 64, -612, 0, 0, -612, + -612, 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, -610, 294, -610, + 0, 0, 0, 0, 0, 0, 0, -612, 294, -612, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 0, 0, -610, 0, 0, -610, 15, -610, 16, 17, + 0, 0, -612, 0, 0, -612, 15, -612, 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, @@ -3050,12 +3050,12 @@ static const yytype_int16 yytable[] = 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, -610, 0, 0, -610, -610, 0, 0, 0, + 0, 64, -612, 0, 0, -612, -612, 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, -610, 294, -610, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 0, 0, -610, 0, - 0, -610, 15, 0, 16, 17, 18, 19, 0, 0, + 0, 0, 0, -612, 294, -612, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, 0, -612, 0, + 0, -612, 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, @@ -3064,11 +3064,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, -610, 0, - 0, -610, -610, 4, 0, 5, 6, 7, 8, 9, + 59, 60, 0, 61, 62, 63, 0, 64, -612, 0, + 0, -612, -612, 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, -610, - 0, -610, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 15, 0, 16, 17, 18, 19, 0, 0, -612, + 0, -612, 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, 43, 0, 0, 44, 45, @@ -3076,12 +3076,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, -610, 0, 0, - -610, -610, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 61, 62, 63, 0, 64, -612, 0, 0, + -612, -612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, - 0, -610, 0, 0, 0, 0, 0, 0, -610, 294, - -610, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, -610, -610, 0, 0, 0, 15, 0, 16, + 0, -612, 0, 0, 0, 0, 0, 0, -612, 294, + -612, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, -612, -612, 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, @@ -3091,10 +3091,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, -610, 0, 0, -610, -610, 294, 0, + 63, 0, 64, -612, 0, 0, -612, -612, 294, 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, -610, 0, -610, 20, 21, 22, + 18, 19, 0, 0, -612, 0, -612, 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, @@ -3103,10 +3103,10 @@ static const yytype_int16 yytable[] = 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 295, 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, - 0, 64, -610, 0, 0, -610, -610, 294, 0, 5, + 0, 64, -612, 0, 0, -612, -612, 294, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, - 19, 0, -610, -610, 0, -610, 20, 21, 22, 23, + 19, 0, -612, -612, 0, -612, 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, @@ -3115,10 +3115,10 @@ static const yytype_int16 yytable[] = 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, -610, 0, 0, -610, -610, 294, 0, 5, 6, + 64, -612, 0, 0, -612, -612, 294, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, - 0, -610, -610, 0, -610, 20, 21, 22, 23, 24, + 0, -612, -612, 0, -612, 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, @@ -3127,11 +3127,11 @@ 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, - -610, 0, 0, -610, -610, 0, 0, 0, 0, 0, + -612, 0, 0, -612, -612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 66, 67, 0, 0, -610, 0, 0, 0, 0, 0, - 0, -610, 294, -610, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 0, 0, -610, 0, 0, 0, + 66, 67, 0, 0, -612, 0, 0, 0, 0, 0, + 0, -612, 294, -612, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, -612, 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, @@ -3141,10 +3141,10 @@ static const yytype_int16 yytable[] = 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, -610, 0, 0, -610, - -610, 0, 0, 5, 6, 7, 8, 9, 10, 11, + 0, 61, 62, 63, 0, 64, -612, 0, 0, -612, + -612, 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, -610, 0, -610, + 0, 16, 17, 18, 19, 0, 0, -612, 0, -612, 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, @@ -3218,83 +3218,83 @@ static const yytype_int16 yytable[] = 0, 0, 0, 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, -580, -580, -580, - -580, -580, -580, -580, -580, -580, 0, 0, 0, 0, - 0, 0, 0, -580, 0, -580, -580, -580, -580, 0, - -580, 0, 0, 0, -580, -580, -580, -580, -580, -580, - -580, 0, 0, -580, 0, 0, 0, 0, 0, 0, - 0, 0, -580, -580, -580, -580, -580, -580, -580, -580, - -580, 0, -580, -580, -580, 0, 0, -580, 0, 0, - -580, -580, 0, -580, -580, -580, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -580, -580, - 0, 0, 0, 0, 0, -580, 0, 0, -580, -580, - 0, -580, -580, 0, -580, 0, -580, -580, -580, 0, - -580, -580, -580, 0, -580, -580, -580, 0, -580, 0, + 0, 0, 0, 0, 0, 203, 204, -582, -582, -582, + -582, -582, -582, -582, -582, -582, 0, 0, 0, 0, + 0, 0, 0, -582, 0, -582, -582, -582, -582, 0, + -582, 0, 0, 0, -582, -582, -582, -582, -582, -582, + -582, 0, 0, -582, 0, 0, 0, 0, 0, 0, + 0, 0, -582, -582, -582, -582, -582, -582, -582, -582, + -582, 0, -582, -582, -582, 0, 0, -582, 0, 0, + -582, -582, 0, -582, -582, -582, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -582, -582, + 0, 0, 0, 0, 0, -582, 0, 0, -582, -582, + 0, -582, -582, 0, -582, 0, -582, -582, -582, 0, + -582, -582, -582, 0, -582, -582, -582, 0, -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -580, -580, - -580, 0, -580, 0, 0, 0, 0, 0, -580, -581, - -581, -581, -581, -581, -581, -581, -581, -581, 0, 0, - 0, 0, 0, 0, 0, -581, 0, -581, -581, -581, - -581, 0, -581, 0, 0, 0, -581, -581, -581, -581, - -581, -581, -581, 0, 0, -581, 0, 0, 0, 0, - 0, 0, 0, 0, -581, -581, -581, -581, -581, -581, - -581, -581, -581, 0, -581, -581, -581, 0, 0, -581, - 0, 0, -581, -581, 0, -581, -581, -581, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -582, -582, + -582, 0, -582, 0, 0, 0, 0, 0, -582, -583, + -583, -583, -583, -583, -583, -583, -583, -583, 0, 0, + 0, 0, 0, 0, 0, -583, 0, -583, -583, -583, + -583, 0, -583, 0, 0, 0, -583, -583, -583, -583, + -583, -583, -583, 0, 0, -583, 0, 0, 0, 0, + 0, 0, 0, 0, -583, -583, -583, -583, -583, -583, + -583, -583, -583, 0, -583, -583, -583, 0, 0, -583, + 0, 0, -583, -583, 0, -583, -583, -583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -581, -581, 0, 0, 0, 0, 0, -581, 0, 0, - -581, -581, 0, -581, -581, 0, -581, 0, -581, -581, - -581, 0, -581, -581, -581, 0, -581, -581, -581, 0, - -581, 0, 0, 0, 0, 0, 0, -583, -583, -583, - -583, -583, -583, -583, -583, -583, 0, 0, 0, 0, - -581, -581, -581, -583, -581, -583, -583, -583, -583, 0, - -581, 0, 0, 0, -583, -583, -583, -583, -583, -583, - -583, 0, 0, -583, 0, 0, 0, 0, 0, 0, - 0, 0, -583, -583, -583, -583, -583, -583, -583, -583, - -583, 0, -583, -583, -583, 0, 0, -583, 0, 0, - -583, -583, 0, -583, -583, -583, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -583, -583, - 0, 0, 0, 0, 0, -583, 831, 0, -583, -583, - 0, -583, -583, 0, -583, 0, -583, -583, -583, 0, - -583, -583, -583, 0, -583, -583, -583, 0, -583, 0, - 0, 0, 0, 0, 0, -107, -584, -584, -584, -584, - -584, -584, -584, -584, -584, 0, 0, 0, -583, -583, - -583, 0, -584, 0, -584, -584, -584, -584, -583, 0, - 0, 0, 0, -584, -584, -584, -584, -584, -584, -584, - 0, 0, -584, 0, 0, 0, 0, 0, 0, 0, - 0, -584, -584, -584, -584, -584, -584, -584, -584, -584, - 0, -584, -584, -584, 0, 0, -584, 0, 0, -584, - -584, 0, -584, -584, -584, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -584, -584, 0, - 0, 0, 0, 0, -584, 832, 0, -584, -584, 0, - -584, -584, 0, -584, 0, -584, -584, -584, 0, -584, - -584, -584, 0, -584, -584, -584, 0, -584, 0, 0, - 0, 0, 0, 0, -109, -585, -585, -585, -585, -585, - -585, -585, -585, -585, 0, 0, 0, -584, -584, -584, - 0, -585, 0, -585, -585, -585, -585, -584, 0, 0, - 0, 0, -585, -585, -585, -585, -585, -585, -585, 0, - 0, -585, 0, 0, 0, 0, 0, 0, 0, 0, - -585, -585, -585, -585, -585, -585, -585, -585, -585, 0, - -585, -585, -585, 0, 0, -585, 0, 0, -585, -585, - 0, -585, -585, -585, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -585, -585, 0, 0, - 0, 0, 0, -585, 0, 0, -585, -585, 0, -585, - -585, 0, -585, 0, -585, -585, -585, 0, -585, -585, - -585, 0, -585, -585, -585, 0, -585, 0, 0, 0, + -583, -583, 0, 0, 0, 0, 0, -583, 0, 0, + -583, -583, 0, -583, -583, 0, -583, 0, -583, -583, + -583, 0, -583, -583, -583, 0, -583, -583, -583, 0, + -583, 0, 0, 0, 0, 0, 0, -585, -585, -585, + -585, -585, -585, -585, -585, -585, 0, 0, 0, 0, + -583, -583, -583, -585, -583, -585, -585, -585, -585, 0, + -583, 0, 0, 0, -585, -585, -585, -585, -585, -585, + -585, 0, 0, -585, 0, 0, 0, 0, 0, 0, + 0, 0, -585, -585, -585, -585, -585, -585, -585, -585, + -585, 0, -585, -585, -585, 0, 0, -585, 0, 0, + -585, -585, 0, -585, -585, -585, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -585, -585, + 0, 0, 0, 0, 0, -585, 831, 0, -585, -585, + 0, -585, -585, 0, -585, 0, -585, -585, -585, 0, + -585, -585, -585, 0, -585, -585, -585, 0, -585, 0, + 0, 0, 0, 0, 0, -107, -586, -586, -586, -586, + -586, -586, -586, -586, -586, 0, 0, 0, -585, -585, + -585, 0, -586, 0, -586, -586, -586, -586, -585, 0, 0, 0, 0, -586, -586, -586, -586, -586, -586, -586, - -586, -586, 0, 0, 0, 0, -585, -585, -585, -586, - 0, -586, -586, -586, -586, 0, -585, 0, 0, 0, - -586, -586, -586, -586, -586, -586, -586, 0, 0, -586, - 0, 0, 0, 0, 0, 0, 0, 0, -586, -586, - -586, -586, -586, -586, -586, -586, -586, 0, -586, -586, - -586, 0, 0, -586, 0, 0, -586, -586, 0, -586, - -586, -586, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -586, -586, 0, 0, 0, 0, - 0, -586, 0, 0, -586, -586, 0, -586, -586, 0, - -586, 0, -586, -586, -586, 0, -586, -586, -586, 0, - -586, -586, -586, 0, -586, 0, 0, 0, 0, 0, + 0, 0, -586, 0, 0, 0, 0, 0, 0, 0, + 0, -586, -586, -586, -586, -586, -586, -586, -586, -586, + 0, -586, -586, -586, 0, 0, -586, 0, 0, -586, + -586, 0, -586, -586, -586, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -586, -586, 0, + 0, 0, 0, 0, -586, 832, 0, -586, -586, 0, + -586, -586, 0, -586, 0, -586, -586, -586, 0, -586, + -586, -586, 0, -586, -586, -586, 0, -586, 0, 0, + 0, 0, 0, 0, -109, -587, -587, -587, -587, -587, + -587, -587, -587, -587, 0, 0, 0, -586, -586, -586, + 0, -587, 0, -587, -587, -587, -587, -586, 0, 0, + 0, 0, -587, -587, -587, -587, -587, -587, -587, 0, + 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, + -587, -587, -587, -587, -587, -587, -587, -587, -587, 0, + -587, -587, -587, 0, 0, -587, 0, 0, -587, -587, + 0, -587, -587, -587, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -587, -587, 0, 0, + 0, 0, 0, -587, 0, 0, -587, -587, 0, -587, + -587, 0, -587, 0, -587, -587, -587, 0, -587, -587, + -587, 0, -587, -587, -587, 0, -587, 0, 0, 0, + 0, 0, 0, -588, -588, -588, -588, -588, -588, -588, + -588, -588, 0, 0, 0, 0, -587, -587, -587, -588, + 0, -588, -588, -588, -588, 0, -587, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -586, -586, -586, 0, 0, 0, - 0, 0, 0, 0, -586, 131, 132, 133, 134, 135, + 0, 0, 0, 0, -588, -588, -588, 0, 0, 0, + 0, 0, 0, 0, -588, 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, @@ -3798,28 +3798,28 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 0, 0, - 0, 0, 0, 0, 0, 0, -276, 402, 403, 404, + 0, 0, 0, 0, 0, 0, -277, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 0, - 0, 0, 0, 0, 0, 0, 0, -277, 402, 403, + 0, 0, 0, 0, 0, 0, 0, -278, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 0, 0, 0, 0, 0, 0, 0, 0, -278, 402, + 0, 0, 0, 0, 0, 0, 0, 0, -279, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 0, 0, 0, 0, 0, 0, 0, 0, -279, + 428, 0, 0, 0, 0, 0, 0, 0, 0, -280, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 0, 0, 0, 0, 414, 415, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 417, @@ -3839,7 +3839,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, -611, -611, 0, 0, + 406, 407, 408, 409, 410, 411, -613, -613, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5334,41 +5334,41 @@ static const yytype_int16 yyr1[] = 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, 190, 190, 190, 191, 191, 192, 192, 192, 193, 193, 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, - 197, 196, 198, 199, 199, 200, 201, 201, 201, 201, - 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 204, 203, 205, 206, 203, 207, 203, 203, + 197, 196, 198, 198, 199, 199, 200, 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, 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, - 226, 227, 227, 227, 227, 228, 228, 229, 229, 229, + 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, 226, 227, 227, 227, 227, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 230, 230, 232, 231, 231, 231, 233, 233, - 234, 234, 235, 235, 236, 236, 237, 237, 239, 238, - 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 243, 242, 244, 242, 245, 246, 246, - 247, 247, 248, 248, 248, 249, 249, 250, 250, 251, - 251, 251, 251, 252, 252, 253, 253, 253, 253, 254, - 254, 255, 256, 255, 255, 255, 257, 257, 258, 258, - 259, 260, 260, 261, 261, 262, 262, 263, 264, 263, - 265, 265, 266, 266, 267, 268, 268, 268, 268, 268, - 268, 269, 269, 270, 270, 270, 270, 271, 271, 271, - 271, 271, 272, 272, 273, 273, 273, 273, 273, 273, - 273, 273, 274, 274, 275, 276, 275, 277, 277, 278, - 278, 278, 279, 279, 279, 279, 280, 281, 281, 282, - 282, 283, 283, 284, 284, 285, 285, 286, 286, 287, - 287, 287, 287, 288, 288, 289, 289, 289, 289, 289, + 229, 229, 229, 230, 230, 232, 231, 231, 231, 233, + 233, 234, 234, 235, 235, 236, 236, 237, 237, 239, + 238, 240, 240, 240, 240, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 243, 242, 244, 242, 245, 246, + 246, 247, 247, 248, 248, 248, 249, 249, 250, 250, + 251, 251, 251, 251, 252, 252, 253, 253, 253, 253, + 254, 254, 255, 256, 255, 255, 255, 257, 257, 258, + 258, 259, 260, 260, 261, 261, 262, 262, 263, 264, + 263, 265, 265, 266, 266, 267, 268, 268, 268, 268, + 268, 268, 269, 269, 270, 270, 270, 270, 271, 271, + 271, 271, 271, 272, 272, 273, 273, 273, 273, 273, + 273, 273, 273, 274, 274, 275, 276, 275, 277, 277, + 278, 278, 278, 279, 279, 279, 279, 280, 281, 281, + 282, 282, 283, 283, 284, 284, 285, 285, 286, 286, + 287, 287, 287, 287, 288, 288, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 290, 290, 290, 290, 290, 291, 291, 292, 293, 292, - 294, 294, 295, 296, 297, 298, 298, 299, 299, 300, - 300, 301, 301, 302, 302, 303, 304, 304, 305, 306, - 305, 307, 307, 308, 308, 309, 309, 309, 309, 309, - 310, 310, 310, 311, 311, 311, 311, 312, 312, 312, - 313, 313, 314, 314, 315, 315, 316, 316, 317, 317, - 318, 319, 319, 319, 320, 320, 321, 321, 322, 322, - 323 + 289, 290, 290, 290, 290, 290, 291, 291, 292, 293, + 292, 294, 294, 295, 296, 297, 298, 298, 299, 299, + 300, 300, 301, 301, 302, 302, 303, 303, 304, 304, + 305, 306, 305, 307, 307, 308, 308, 309, 309, 309, + 309, 309, 310, 310, 310, 311, 311, 311, 311, 312, + 312, 312, 313, 313, 314, 314, 315, 315, 316, 316, + 317, 317, 318, 319, 319, 319, 320, 320, 321, 321, + 322, 322, 323 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -5401,41 +5401,41 @@ static const yytype_int8 yyr2[] = 3, 3, 6, 6, 4, 6, 4, 6, 1, 1, 2, 4, 2, 1, 3, 3, 5, 3, 1, 1, 1, 2, 2, 4, 2, 1, 2, 2, 4, 1, - 0, 2, 2, 2, 1, 2, 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, - 3, 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, 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, 2, 1, 1, 0, - 4, 1, 2, 1, 3, 3, 3, 2, 3, 2, + 0, 2, 2, 1, 2, 1, 2, 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, 3, 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, 1, 0, 1, 0, 2, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 2, - 0 + 1, 1, 1, 1, 1, 0, 0, 4, 1, 1, + 3, 5, 3, 1, 2, 4, 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, + 3, 2, 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 }; @@ -7877,9 +7877,9 @@ yyreduce: break; case 273: -#line 2609 "mrbgems/mruby-compiler/core/parse.y" +#line 2607 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_block_arg(p, 0); } #line 7885 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -7887,80 +7887,80 @@ yyreduce: case 274: #line 2613 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = (yyvsp[0].nd); } #line 7893 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 276: -#line 2622 "mrbgems/mruby-compiler/core/parse.y" + case 275: +#line 2617 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = list1((yyvsp[0].nd)); - NODE_LINENO((yyval.nd), (yyvsp[0].nd)); + (yyval.nd) = 0; } -#line 7903 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7901 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: -#line 2628 "mrbgems/mruby-compiler/core/parse.y" +#line 2626 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7913 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7911 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: -#line 2634 "mrbgems/mruby-compiler/core/parse.y" +#line 2632 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7921 "mrbgems/mruby-compiler/core/y.tab.c" break; case 279: -#line 2639 "mrbgems/mruby-compiler/core/parse.y" +#line 2638 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: -#line 2646 "mrbgems/mruby-compiler/core/parse.y" +#line 2643 "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 7940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7939 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: -#line 2651 "mrbgems/mruby-compiler/core/parse.y" +#line 2650 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: -#line 2656 "mrbgems/mruby-compiler/core/parse.y" +#line 2655 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 7958 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 290: -#line 2670 "mrbgems/mruby-compiler/core/parse.y" + case 283: +#line 2660 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_nvar(p, (yyvsp[0].num)); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } #line 7966 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -7968,71 +7968,71 @@ yyreduce: case 291: #line 2674 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } #line 7974 "mrbgems/mruby-compiler/core/y.tab.c" break; case 292: #line 2678 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + } +#line 7982 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 293: +#line 2682 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 7983 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7991 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 293: -#line 2684 "mrbgems/mruby-compiler/core/parse.y" + case 294: +#line 2688 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = (yyvsp[-1].nd); } -#line 7992 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8000 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 294: -#line 2689 "mrbgems/mruby-compiler/core/parse.y" + case 295: +#line 2693 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8009 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 295: -#line 2693 "mrbgems/mruby-compiler/core/parse.y" + case 296: +#line 2697 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8015 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 296: -#line 2694 "mrbgems/mruby-compiler/core/parse.y" + case 297: +#line 2698 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 8016 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 297: -#line 2698 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 8022 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8024 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: -#line 2699 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_nil(p); - } +#line 2702 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} #line 8030 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: #line 2703 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = new_nil(p); } #line 8038 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8040,7 +8040,7 @@ yyreduce: case 300: #line 2707 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + (yyval.nd) = (yyvsp[-1].nd); } #line 8046 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8048,7 +8048,7 @@ yyreduce: case 301: #line 2711 "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 8054 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8056,25 +8056,25 @@ yyreduce: case 302: #line 2715 "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 8063 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8062 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: -#line 2720 "mrbgems/mruby-compiler/core/parse.y" +#line 2719 "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 8072 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8071 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: -#line 2725 "mrbgems/mruby-compiler/core/parse.y" +#line 2724 "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 8080 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8082,7 +8082,7 @@ yyreduce: case 305: #line 2729 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_yield(p, (yyvsp[0].nd)); + (yyval.nd) = new_return(p, 0); } #line 8088 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8090,7 +8090,7 @@ yyreduce: case 306: #line 2733 "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 8096 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8098,7 +8098,7 @@ yyreduce: case 307: #line 2737 "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 8104 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8106,41 +8106,49 @@ yyreduce: case 308: #line 2741 "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 8112 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 310: -#line 2746 "mrbgems/mruby-compiler/core/parse.y" + case 309: +#line 2745 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); + } +#line 8120 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 311: +#line 2750 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 8121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8129 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 311: -#line 2751 "mrbgems/mruby-compiler/core/parse.y" + case 312: +#line 2755 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 8131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8139 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 312: -#line 2757 "mrbgems/mruby-compiler/core/parse.y" + case 313: +#line 2761 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8140 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8148 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 313: -#line 2762 "mrbgems/mruby-compiler/core/parse.y" + case 314: +#line 2766 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -8148,149 +8156,149 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 8152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8160 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 314: -#line 2773 "mrbgems/mruby-compiler/core/parse.y" + case 315: +#line 2777 "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 8161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8169 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 315: -#line 2781 "mrbgems/mruby-compiler/core/parse.y" + case 316: +#line 2785 "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 8170 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8178 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 316: -#line 2785 "mrbgems/mruby-compiler/core/parse.y" + case 317: +#line 2789 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8184 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 317: -#line 2785 "mrbgems/mruby-compiler/core/parse.y" + case 318: +#line 2789 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 318: -#line 2788 "mrbgems/mruby-compiler/core/parse.y" + case 319: +#line 2792 "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 8191 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8199 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 319: -#line 2792 "mrbgems/mruby-compiler/core/parse.y" + case 320: +#line 2796 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 320: -#line 2792 "mrbgems/mruby-compiler/core/parse.y" + case 321: +#line 2796 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8203 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8211 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 321: -#line 2795 "mrbgems/mruby-compiler/core/parse.y" + case 322: +#line 2799 "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 8212 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 322: -#line 2802 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); - } #line 8220 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: #line 2806 "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 8228 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: #line 2810 "mrbgems/mruby-compiler/core/parse.y" - {COND_PUSH(1);} -#line 8234 "mrbgems/mruby-compiler/core/y.tab.c" + { + (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); + } +#line 8236 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: -#line 2812 "mrbgems/mruby-compiler/core/parse.y" - {COND_POP();} -#line 8240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2814 "mrbgems/mruby-compiler/core/parse.y" + {COND_PUSH(1);} +#line 8242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: -#line 2815 "mrbgems/mruby-compiler/core/parse.y" +#line 2816 "mrbgems/mruby-compiler/core/parse.y" + {COND_POP();} +#line 8248 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 327: +#line 2819 "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 8249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8257 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 327: -#line 2821 "mrbgems/mruby-compiler/core/parse.y" + case 328: +#line 2825 "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 8260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8268 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 328: -#line 2829 "mrbgems/mruby-compiler/core/parse.y" + case 329: +#line 2833 "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 8271 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8279 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 329: -#line 2837 "mrbgems/mruby-compiler/core/parse.y" + case 330: +#line 2841 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 8280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8288 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 330: -#line 2842 "mrbgems/mruby-compiler/core/parse.y" + case 331: +#line 2846 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), nint(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 331: -#line 2849 "mrbgems/mruby-compiler/core/parse.y" + case 332: +#line 2853 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -8299,44 +8307,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = intn((yyvsp[-2].nd)->cdr); } -#line 8303 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8311 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 332: -#line 2859 "mrbgems/mruby-compiler/core/parse.y" + case 333: +#line 2863 "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 8314 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8322 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 333: -#line 2867 "mrbgems/mruby-compiler/core/parse.y" + case 334: +#line 2871 "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 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 334: -#line 2877 "mrbgems/mruby-compiler/core/parse.y" + case 335: +#line 2881 "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 8336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8344 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 335: -#line 2887 "mrbgems/mruby-compiler/core/parse.y" + case 336: +#line 2891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8344,21 +8352,13 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8348 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 336: -#line 2895 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_break(p, 0); - } #line 8356 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: #line 2899 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_next(p, 0); + (yyval.nd) = new_break(p, 0); } #line 8364 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8366,7 +8366,7 @@ yyreduce: case 338: #line 2903 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_redo(p); + (yyval.nd) = new_next(p, 0); } #line 8372 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8374,48 +8374,48 @@ yyreduce: case 339: #line 2907 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_retry(p); + (yyval.nd) = new_redo(p); } #line 8380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: -#line 2913 "mrbgems/mruby-compiler/core/parse.y" +#line 2911 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); - if (!(yyval.nd)) (yyval.nd) = new_nil(p); + (yyval.nd) = new_retry(p); } -#line 8389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8388 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 347: -#line 2932 "mrbgems/mruby-compiler/core/parse.y" + case 341: +#line 2917 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); + if (!(yyval.nd)) (yyval.nd) = new_nil(p); } #line 8397 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 349: -#line 2939 "mrbgems/mruby-compiler/core/parse.y" + case 348: +#line 2936 "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 8405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 350: -#line 2945 "mrbgems/mruby-compiler/core/parse.y" +#line 2943 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(list1((yyvsp[0].nd))); + (yyval.nd) = (yyvsp[0].nd); } #line 8413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 352: -#line 2952 "mrbgems/mruby-compiler/core/parse.y" + case 351: +#line 2949 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[0].nd),0,0); + (yyval.nd) = list1(list1((yyvsp[0].nd))); } #line 8421 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8423,7 +8423,7 @@ yyreduce: case 353: #line 2956 "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 8429 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8431,7 +8431,7 @@ yyreduce: case 354: #line 2960 "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 8437 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8439,7 +8439,7 @@ yyreduce: case 355: #line 2964 "mrbgems/mruby-compiler/core/parse.y" { - (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 8445 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8447,7 +8447,7 @@ yyreduce: case 356: #line 2968 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); + (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); } #line 8453 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8455,7 +8455,7 @@ yyreduce: case 357: #line 2972 "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 8461 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8463,7 +8463,7 @@ yyreduce: case 358: #line 2976 "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 8469 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8471,7 +8471,7 @@ yyreduce: case 359: #line 2980 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, nint(-1), 0); + (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } #line 8477 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8479,15 +8479,15 @@ yyreduce: case 360: #line 2984 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); + (yyval.nd) = list3(0, nint(-1), 0); } #line 8485 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: -#line 2990 "mrbgems/mruby-compiler/core/parse.y" +#line 2988 "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 8493 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8495,7 +8495,7 @@ yyreduce: case 362: #line 2994 "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 8501 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8503,7 +8503,7 @@ yyreduce: case 363: #line 2998 "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 8509 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8511,15 +8511,15 @@ yyreduce: case 364: #line 3002 "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 8517 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: -#line 3008 "mrbgems/mruby-compiler/core/parse.y" +#line 3006 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 8525 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8527,15 +8527,15 @@ yyreduce: case 366: #line 3012 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } #line 8533 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: -#line 3018 "mrbgems/mruby-compiler/core/parse.y" +#line 3016 "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 8541 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8543,7 +8543,7 @@ yyreduce: case 368: #line 3022 "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 8549 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8551,7 +8551,7 @@ yyreduce: case 369: #line 3026 "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 8557 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8559,7 +8559,7 @@ yyreduce: case 370: #line 3030 "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 8565 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8567,7 +8567,7 @@ yyreduce: case 371: #line 3034 "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 8573 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8575,7 +8575,7 @@ yyreduce: case 372: #line 3038 "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 8581 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8583,7 +8583,7 @@ yyreduce: case 373: #line 3042 "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 8589 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8591,7 +8591,7 @@ yyreduce: case 374: #line 3046 "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 8597 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8599,7 +8599,7 @@ yyreduce: case 375: #line 3050 "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 8605 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8607,7 +8607,7 @@ yyreduce: case 376: #line 3054 "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 8613 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8615,7 +8615,7 @@ yyreduce: case 377: #line 3058 "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 8621 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8623,7 +8623,7 @@ yyreduce: case 378: #line 3062 "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 8629 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8631,7 +8631,7 @@ yyreduce: case 379: #line 3066 "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 8637 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8639,7 +8639,7 @@ yyreduce: case 380: #line 3070 "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 8645 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8647,64 +8647,64 @@ yyreduce: case 381: #line 3074 "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 8653 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: -#line 3080 "mrbgems/mruby-compiler/core/parse.y" +#line 3078 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 8661 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 383: +#line 3084 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8670 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 383: -#line 3085 "mrbgems/mruby-compiler/core/parse.y" + case 384: +#line 3089 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 8671 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 384: -#line 3091 "mrbgems/mruby-compiler/core/parse.y" - {local_add_blk(p, 0);} -#line 8677 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8679 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: -#line 3092 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } +#line 3095 "mrbgems/mruby-compiler/core/parse.y" + {local_add_blk(p, 0);} #line 8685 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: #line 3096 "mrbgems/mruby-compiler/core/parse.y" { - local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8694 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8693 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: -#line 3101 "mrbgems/mruby-compiler/core/parse.y" +#line 3100 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-2].nd); + local_add_blk(p, 0); + (yyval.nd) = 0; } #line 8702 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: -#line 3108 "mrbgems/mruby-compiler/core/parse.y" +#line 3105 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = (yyvsp[-2].nd); } #line 8710 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8717,19 +8717,19 @@ yyreduce: #line 8718 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 392: -#line 3122 "mrbgems/mruby-compiler/core/parse.y" + case 390: +#line 3116 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[0].id)); - new_bv(p, (yyvsp[0].id)); + (yyval.nd) = 0; } -#line 8727 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8726 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 394: -#line 3130 "mrbgems/mruby-compiler/core/parse.y" + case 393: +#line 3126 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-2].nd); + local_add_f(p, (yyvsp[0].id)); + new_bv(p, (yyvsp[0].id)); } #line 8735 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8737,15 +8737,15 @@ yyreduce: case 395: #line 3134 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = (yyvsp[-2].nd); } #line 8743 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: -#line 3140 "mrbgems/mruby-compiler/core/parse.y" +#line 3138 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = (yyvsp[0].nd); } #line 8751 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8759,26 +8759,34 @@ yyreduce: break; case 398: -#line 3150 "mrbgems/mruby-compiler/core/parse.y" +#line 3148 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 8767 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 399: +#line 3154 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8768 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8776 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 399: -#line 3157 "mrbgems/mruby-compiler/core/parse.y" + case 400: +#line 3161 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8786 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 400: -#line 3165 "mrbgems/mruby-compiler/core/parse.y" + case 401: +#line 3169 "mrbgems/mruby-compiler/core/parse.y" { if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8788,39 +8796,31 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8792 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 401: -#line 3175 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); - } #line 8800 "mrbgems/mruby-compiler/core/y.tab.c" break; case 402: #line 3179 "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 8809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8808 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: -#line 3184 "mrbgems/mruby-compiler/core/parse.y" +#line 3183 "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 8818 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8817 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: -#line 3191 "mrbgems/mruby-compiler/core/parse.y" +#line 3188 "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 8826 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8828,7 +8828,7 @@ yyreduce: case 405: #line 3195 "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 8834 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8836,7 +8836,7 @@ yyreduce: case 406: #line 3199 "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 8842 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8844,7 +8844,7 @@ yyreduce: case 407: #line 3203 "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 8850 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8852,7 +8852,7 @@ yyreduce: case 408: #line 3207 "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 8858 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8860,7 +8860,7 @@ yyreduce: case 409: #line 3211 "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 8866 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8868,7 +8868,7 @@ yyreduce: case 410: #line 3215 "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 8874 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8876,7 +8876,7 @@ yyreduce: case 411: #line 3219 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_zsuper(p); + (yyval.nd) = new_super(p, (yyvsp[0].nd)); } #line 8882 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -8884,63 +8884,71 @@ yyreduce: case 412: #line 3223 "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 8890 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: -#line 3229 "mrbgems/mruby-compiler/core/parse.y" +#line 3227 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 414: +#line 3233 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8908 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 414: -#line 3236 "mrbgems/mruby-compiler/core/parse.y" + case 415: +#line 3240 "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 8911 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8919 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 415: -#line 3243 "mrbgems/mruby-compiler/core/parse.y" + case 416: +#line 3247 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8929 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 416: -#line 3250 "mrbgems/mruby-compiler/core/parse.y" + case 417: +#line 3254 "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 8932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 417: -#line 3261 "mrbgems/mruby-compiler/core/parse.y" + case 418: +#line 3265 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8948 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 418: -#line 3267 "mrbgems/mruby-compiler/core/parse.y" + case 419: +#line 3271 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -8949,60 +8957,60 @@ yyreduce: (yyval.nd) = 0; } } -#line 8953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8961 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 420: -#line 3281 "mrbgems/mruby-compiler/core/parse.y" + case 421: +#line 3285 "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 8962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 422: -#line 3289 "mrbgems/mruby-compiler/core/parse.y" + case 423: +#line 3293 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 425: -#line 3297 "mrbgems/mruby-compiler/core/parse.y" + case 426: +#line 3301 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8986 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 427: -#line 3304 "mrbgems/mruby-compiler/core/parse.y" + case 428: +#line 3308 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8994 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 434: -#line 3318 "mrbgems/mruby-compiler/core/parse.y" + case 435: +#line 3322 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9002 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 437: -#line 3326 "mrbgems/mruby-compiler/core/parse.y" + case 438: +#line 3330 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9010 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 438: -#line 3330 "mrbgems/mruby-compiler/core/parse.y" + case 439: +#line 3334 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9013,21 +9021,13 @@ yyreduce: } (yyval.nd) = new_dstr(p, n); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 440: -#line 3344 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); - } #line 9025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: -#line 3350 "mrbgems/mruby-compiler/core/parse.y" +#line 3348 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9033 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9035,25 +9035,25 @@ yyreduce: case 442: #line 3354 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = p->lex_strterm; - p->lex_strterm = NULL; + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: -#line 3360 "mrbgems/mruby-compiler/core/parse.y" +#line 3358 "mrbgems/mruby-compiler/core/parse.y" { - p->lex_strterm = (yyvsp[-2].nd); - (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); + (yyval.nd) = p->lex_strterm; + p->lex_strterm = NULL; } -#line 9051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9050 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: -#line 3365 "mrbgems/mruby-compiler/core/parse.y" +#line 3364 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(new_literal_delim(p)); + p->lex_strterm = (yyvsp[-2].nd); + (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); } #line 9059 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9067,15 +9067,23 @@ yyreduce: break; case 446: -#line 3375 "mrbgems/mruby-compiler/core/parse.y" +#line 3373 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = list1(new_literal_delim(p)); } #line 9075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: #line 3379 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 9083 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 448: +#line 3383 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9086,82 +9094,82 @@ yyreduce: } (yyval.nd) = new_dxstr(p, n); } -#line 9090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9098 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 448: -#line 3392 "mrbgems/mruby-compiler/core/parse.y" + case 449: +#line 3396 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9106 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 449: -#line 3396 "mrbgems/mruby-compiler/core/parse.y" + case 450: +#line 3400 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9114 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 453: -#line 3409 "mrbgems/mruby-compiler/core/parse.y" + case 454: +#line 3413 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, new_str(p, "", 0)); heredoc_end(p); } -#line 9116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9124 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 454: -#line 3415 "mrbgems/mruby-compiler/core/parse.y" + case 455: +#line 3419 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 9124 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9132 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 457: -#line 3425 "mrbgems/mruby-compiler/core/parse.y" + case 458: +#line 3429 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 9134 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9142 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: -#line 3431 "mrbgems/mruby-compiler/core/parse.y" + case 459: +#line 3435 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = p->lex_strterm; p->lex_strterm = NULL; } -#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9151 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 459: -#line 3437 "mrbgems/mruby-compiler/core/parse.y" + case 460: +#line 3441 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); p->lex_strterm = (yyvsp[-2].nd); inf->doc = push(push(inf->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); } -#line 9153 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9161 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: -#line 3445 "mrbgems/mruby-compiler/core/parse.y" + case 461: +#line 3449 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 9161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 461: -#line 3449 "mrbgems/mruby-compiler/core/parse.y" + case 462: +#line 3453 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9172,20 +9180,20 @@ yyreduce: } (yyval.nd) = new_words(p, n); } -#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 462: -#line 3463 "mrbgems/mruby-compiler/core/parse.y" + case 463: +#line 3467 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9185 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9193 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 463: -#line 3468 "mrbgems/mruby-compiler/core/parse.y" + case 464: +#line 3472 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -9197,21 +9205,13 @@ yyreduce: } (yyval.nd) = new_dsym(p, new_dstr(p, n)); } -#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 464: -#line 3482 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } #line 9209 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 469: -#line 3492 "mrbgems/mruby-compiler/core/parse.y" + case 465: +#line 3486 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = new_strsym(p, (yyvsp[0].nd)); + (yyval.id) = (yyvsp[0].id); } #line 9217 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9225,15 +9225,23 @@ yyreduce: break; case 471: -#line 3502 "mrbgems/mruby-compiler/core/parse.y" +#line 3500 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } #line 9233 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: #line 3506 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + } +#line 9241 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 473: +#line 3510 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9241,14 +9249,6 @@ yyreduce: } (yyval.nd) = new_symbols(p, n); } -#line 9245 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 475: -#line 3518 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_negate(p, (yyvsp[0].nd)); - } #line 9253 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9261,9 +9261,9 @@ yyreduce: break; case 477: -#line 3528 "mrbgems/mruby-compiler/core/parse.y" +#line 3526 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_lvar(p, (yyvsp[0].id)); + (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } #line 9269 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9271,7 +9271,7 @@ yyreduce: case 478: #line 3532 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_ivar(p, (yyvsp[0].id)); + (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } #line 9277 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9279,7 +9279,7 @@ yyreduce: case 479: #line 3536 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_gvar(p, (yyvsp[0].id)); + (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } #line 9285 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9287,7 +9287,7 @@ yyreduce: case 480: #line 3540 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_cvar(p, (yyvsp[0].id)); + (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } #line 9293 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9295,15 +9295,15 @@ yyreduce: case 481: #line 3544 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_const(p, (yyvsp[0].id)); + (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } #line 9301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: -#line 3550 "mrbgems/mruby-compiler/core/parse.y" +#line 3548 "mrbgems/mruby-compiler/core/parse.y" { - assignable(p, (yyvsp[0].nd)); + (yyval.nd) = new_const(p, (yyvsp[0].id)); } #line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9311,15 +9311,15 @@ yyreduce: case 483: #line 3554 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "can't assign to numbered parameter"); + assignable(p, (yyvsp[0].nd)); } #line 9317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: -#line 3560 "mrbgems/mruby-compiler/core/parse.y" +#line 3558 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = var_reference(p, (yyvsp[0].nd)); + yyerror(p, "can't assign to numbered parameter"); } #line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9327,7 +9327,7 @@ yyreduce: case 485: #line 3564 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_nil(p); + (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } #line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9335,7 +9335,7 @@ yyreduce: case 486: #line 3568 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_self(p); + (yyval.nd) = new_nil(p); } #line 9341 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9343,7 +9343,7 @@ yyreduce: case 487: #line 3572 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_true(p); + (yyval.nd) = new_self(p); } #line 9349 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9351,13 +9351,21 @@ yyreduce: case 488: #line 3576 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_false(p); + (yyval.nd) = new_true(p); } #line 9357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 489: #line 3580 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_false(p); + } +#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 490: +#line 3584 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9365,32 +9373,24 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9369 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9377 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 490: -#line 3588 "mrbgems/mruby-compiler/core/parse.y" + case 491: +#line 3592 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 9380 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 491: -#line 3595 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); - } #line 9388 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 494: -#line 3605 "mrbgems/mruby-compiler/core/parse.y" + case 492: +#line 3599 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } #line 9396 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9398,34 +9398,34 @@ yyreduce: case 495: #line 3609 "mrbgems/mruby-compiler/core/parse.y" { - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; + (yyval.nd) = 0; } -#line 9405 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9404 "mrbgems/mruby-compiler/core/y.tab.c" break; case 496: -#line 3614 "mrbgems/mruby-compiler/core/parse.y" +#line 3613 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } #line 9413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 499: -#line 3630 "mrbgems/mruby-compiler/core/parse.y" + case 497: +#line 3618 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; } -#line 9423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9421 "mrbgems/mruby-compiler/core/y.tab.c" break; case 500: -#line 3636 "mrbgems/mruby-compiler/core/parse.y" +#line 3634 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } #line 9431 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9433,15 +9433,15 @@ yyreduce: case 501: #line 3640 "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 503: -#line 3647 "mrbgems/mruby-compiler/core/parse.y" + case 502: +#line 3644 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = new_args_dots(p, 0); } #line 9447 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9449,7 +9449,7 @@ yyreduce: case 504: #line 3651 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + (yyval.nd) = (yyvsp[-1].nd); } #line 9455 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9457,60 +9457,60 @@ yyreduce: case 505: #line 3655 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_dots(p, 0); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } #line 9463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 506: -#line 3661 "mrbgems/mruby-compiler/core/parse.y" +#line 3659 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); + (yyval.nd) = new_args_dots(p, 0); } #line 9471 "mrbgems/mruby-compiler/core/y.tab.c" break; case 507: -#line 3667 "mrbgems/mruby-compiler/core/parse.y" +#line 3665 "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 9481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9479 "mrbgems/mruby-compiler/core/y.tab.c" break; case 508: -#line 3673 "mrbgems/mruby-compiler/core/parse.y" +#line 3671 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + 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 9490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9489 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: -#line 3680 "mrbgems/mruby-compiler/core/parse.y" +#line 3677 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9499 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9498 "mrbgems/mruby-compiler/core/y.tab.c" break; case 510: -#line 3685 "mrbgems/mruby-compiler/core/parse.y" +#line 3684 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9507 "mrbgems/mruby-compiler/core/y.tab.c" break; case 511: -#line 3692 "mrbgems/mruby-compiler/core/parse.y" +#line 3689 "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 9516 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9518,15 +9518,15 @@ yyreduce: case 512: #line 3696 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9524 "mrbgems/mruby-compiler/core/y.tab.c" break; case 513: -#line 3702 "mrbgems/mruby-compiler/core/parse.y" +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9532 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9534,15 +9534,15 @@ yyreduce: case 514: #line 3706 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9540 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: -#line 3716 "mrbgems/mruby-compiler/core/parse.y" + case 515: +#line 3710 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id))); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9548 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9550,15 +9550,15 @@ yyreduce: case 518: #line 3720 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_rest_args(p, 0); + (yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id))); } #line 9556 "mrbgems/mruby-compiler/core/y.tab.c" break; case 519: -#line 3726 "mrbgems/mruby-compiler/core/parse.y" +#line 3724 "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 9564 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9566,7 +9566,7 @@ yyreduce: case 520: #line 3730 "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 9572 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9574,7 +9574,7 @@ yyreduce: case 521: #line 3734 "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 9580 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9582,15 +9582,15 @@ yyreduce: case 522: #line 3738 "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 9588 "mrbgems/mruby-compiler/core/y.tab.c" break; case 523: -#line 3744 "mrbgems/mruby-compiler/core/parse.y" +#line 3742 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 9596 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9598,15 +9598,15 @@ yyreduce: case 524: #line 3748 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } #line 9604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: -#line 3754 "mrbgems/mruby-compiler/core/parse.y" +#line 3752 "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 9612 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9614,7 +9614,7 @@ yyreduce: case 526: #line 3758 "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 9620 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9622,7 +9622,7 @@ yyreduce: case 527: #line 3762 "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 9628 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9630,7 +9630,7 @@ yyreduce: case 528: #line 3766 "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 9636 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9638,7 +9638,7 @@ yyreduce: case 529: #line 3770 "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 9644 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9646,7 +9646,7 @@ yyreduce: case 530: #line 3774 "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 9652 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9654,7 +9654,7 @@ yyreduce: case 531: #line 3778 "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 9660 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9662,7 +9662,7 @@ yyreduce: case 532: #line 3782 "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 9668 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9670,7 +9670,7 @@ yyreduce: case 533: #line 3786 "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 9676 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9678,7 +9678,7 @@ yyreduce: case 534: #line 3790 "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 9684 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9686,7 +9686,7 @@ yyreduce: case 535: #line 3794 "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 9692 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9694,7 +9694,7 @@ yyreduce: case 536: #line 3798 "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 9700 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9702,7 +9702,7 @@ yyreduce: case 537: #line 3802 "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 9708 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9710,7 +9710,7 @@ yyreduce: case 538: #line 3806 "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 9716 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9718,61 +9718,61 @@ yyreduce: case 539: #line 3810 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, intern_op(and)); - (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 9725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 540: -#line 3817 "mrbgems/mruby-compiler/core/parse.y" +#line 3814 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "formal argument cannot be a constant"); - (yyval.nd) = 0; + local_add_f(p, intern_op(and)); + (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 9734 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9733 "mrbgems/mruby-compiler/core/y.tab.c" break; case 541: -#line 3822 "mrbgems/mruby-compiler/core/parse.y" +#line 3821 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "formal argument cannot be an instance variable"); + yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9743 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9742 "mrbgems/mruby-compiler/core/y.tab.c" break; case 542: -#line 3827 "mrbgems/mruby-compiler/core/parse.y" +#line 3826 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "formal argument cannot be a global variable"); + yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9752 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9751 "mrbgems/mruby-compiler/core/y.tab.c" break; case 543: -#line 3832 "mrbgems/mruby-compiler/core/parse.y" +#line 3831 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "formal argument cannot be a class variable"); + yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9760 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: -#line 3837 "mrbgems/mruby-compiler/core/parse.y" +#line 3836 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "formal argument cannot be a numbered parameter"); + yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9769 "mrbgems/mruby-compiler/core/y.tab.c" break; case 545: -#line 3844 "mrbgems/mruby-compiler/core/parse.y" +#line 3841 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = 0; + yyerror(p, "formal argument cannot be a numbered parameter"); + (yyval.nd) = 0; } #line 9778 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9780,16 +9780,16 @@ yyreduce: case 546: #line 3848 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[0].id)); - (yyval.id) = (yyvsp[0].id); + (yyval.id) = 0; } -#line 9787 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9786 "mrbgems/mruby-compiler/core/y.tab.c" break; case 547: -#line 3855 "mrbgems/mruby-compiler/core/parse.y" +#line 3852 "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 9795 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9797,7 +9797,7 @@ yyreduce: case 548: #line 3859 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = local_switch(p); + (yyval.nd) = new_arg(p, (yyvsp[0].id)); } #line 9803 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9805,16 +9805,16 @@ yyreduce: case 549: #line 3863 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car); - local_resume(p, (yyvsp[-2].nd)); + (yyval.nd) = local_switch(p); } -#line 9812 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9811 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: -#line 3870 "mrbgems/mruby-compiler/core/parse.y" +#line 3867 "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)); } #line 9820 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9822,45 +9822,45 @@ yyreduce: case 551: #line 3874 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 552: -#line 3880 "mrbgems/mruby-compiler/core/parse.y" +#line 3878 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[-1].id)); - local_nest(p); - (yyval.id) = (yyvsp[-1].id); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: -#line 3888 "mrbgems/mruby-compiler/core/parse.y" +#line 3884 "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); + local_add_f(p, (yyvsp[-1].id)); + local_nest(p); + (yyval.id) = (yyvsp[-1].id); } -#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9846 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: -#line 3896 "mrbgems/mruby-compiler/core/parse.y" +#line 3892 "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 9858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 555: -#line 3904 "mrbgems/mruby-compiler/core/parse.y" +#line 3900 "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 9866 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9868,15 +9868,15 @@ yyreduce: case 556: #line 3908 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 557: -#line 3914 "mrbgems/mruby-compiler/core/parse.y" +#line 3912 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 9882 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9884,39 +9884,39 @@ yyreduce: case 558: #line 3918 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 9890 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 561: -#line 3928 "mrbgems/mruby-compiler/core/parse.y" + case 559: +#line 3922 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[0].id)); - (yyval.id) = (yyvsp[0].id); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9899 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9898 "mrbgems/mruby-compiler/core/y.tab.c" break; case 562: -#line 3933 "mrbgems/mruby-compiler/core/parse.y" +#line 3932 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = intern_op(mul); - local_add_f(p, (yyval.id)); + local_add_f(p, (yyvsp[0].id)); + (yyval.id) = (yyvsp[0].id); } -#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9907 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 565: -#line 3944 "mrbgems/mruby-compiler/core/parse.y" + case 563: +#line 3937 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = (yyvsp[0].id); + (yyval.id) = intern_op(mul); + local_add_f(p, (yyval.id)); } #line 9916 "mrbgems/mruby-compiler/core/y.tab.c" break; case 566: -#line 3950 "mrbgems/mruby-compiler/core/parse.y" +#line 3948 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } @@ -9924,30 +9924,46 @@ yyreduce: break; case 567: -#line 3954 "mrbgems/mruby-compiler/core/parse.y" +#line 3952 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = 0; + (yyval.id) = intern_op(and); } #line 9932 "mrbgems/mruby-compiler/core/y.tab.c" break; case 568: -#line 3960 "mrbgems/mruby-compiler/core/parse.y" +#line 3958 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = (yyvsp[0].id); + } +#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 569: +#line 3962 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = 0; + } +#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 570: +#line 3968 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9957 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 569: -#line 3964 "mrbgems/mruby-compiler/core/parse.y" + case 571: +#line 3972 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 9947 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9963 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 570: -#line 3965 "mrbgems/mruby-compiler/core/parse.y" + case 572: +#line 3973 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -9970,63 +9986,63 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 9974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9990 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 572: -#line 3991 "mrbgems/mruby-compiler/core/parse.y" + case 574: +#line 3999 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9998 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 573: -#line 3997 "mrbgems/mruby-compiler/core/parse.y" + case 575: +#line 4005 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 9991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10007 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 574: -#line 4002 "mrbgems/mruby-compiler/core/parse.y" + case 576: +#line 4010 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10015 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 575: -#line 4008 "mrbgems/mruby-compiler/core/parse.y" + case 577: +#line 4016 "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 10009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10025 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 576: -#line 4014 "mrbgems/mruby-compiler/core/parse.y" + case 578: +#line 4022 "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 10018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10034 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 577: -#line 4019 "mrbgems/mruby-compiler/core/parse.y" + case 579: +#line 4027 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 10026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10042 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 578: -#line 4023 "mrbgems/mruby-compiler/core/parse.y" + case 580: +#line 4031 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) { @@ -10036,67 +10052,67 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10040 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10056 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 579: -#line 4033 "mrbgems/mruby-compiler/core/parse.y" + case 581: +#line 4041 "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 10049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10065 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 592: -#line 4060 "mrbgems/mruby-compiler/core/parse.y" + case 594: +#line 4068 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10073 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 593: -#line 4064 "mrbgems/mruby-compiler/core/parse.y" + case 595: +#line 4072 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 10065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10081 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 595: -#line 4071 "mrbgems/mruby-compiler/core/parse.y" + case 597: +#line 4079 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 10073 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 604: -#line 4092 "mrbgems/mruby-compiler/core/parse.y" + case 606: +#line 4100 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 10079 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10095 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: -#line 4097 "mrbgems/mruby-compiler/core/parse.y" + case 608: +#line 4105 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10088 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10104 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: -#line 4109 "mrbgems/mruby-compiler/core/parse.y" + case 612: +#line 4117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10112 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 10100 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10116 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10328,7 +10344,7 @@ yyreturn: #endif return yyresult; } -#line 4113 "mrbgems/mruby-compiler/core/parse.y" +#line 4121 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) -- cgit v1.2.3