From 9424e4d4cf90cbbf783454820491cd157880a4d2 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 16 Feb 2022 13:54:19 +0900 Subject: [PATCH] parse.y: revert 9e064f2; fix #5647 Need to declare unnamed parameter when argument decomposition used. --- mrbgems/mruby-compiler/core/parse.y | 11 +- mrbgems/mruby-compiler/core/y.tab.c | 3229 ++++++++++++++------------- 2 files changed, 1629 insertions(+), 1611 deletions(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 71cdddf68..e443312d7 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -2962,6 +2962,7 @@ f_margs : f_arg } | f_arg ',' tSTAR { + local_add_f(p, intern_op(mul)); $$ = list3($1, nint(-1), 0); } | f_arg ',' tSTAR ',' f_arg @@ -2978,11 +2979,16 @@ f_margs : f_arg } | tSTAR { + local_add_f(p, intern_op(mul)); $$ = list3(0, nint(-1), 0); } - | tSTAR ',' f_arg + | tSTAR ',' { - $$ = list3(0, nint(-1), $3); + local_add_f(p, intern_op(mul)); + } + f_arg + { + $$ = list3(0, nint(-1), $4); } ; @@ -3864,6 +3870,7 @@ f_arg_item : f_norm_arg { $$ = new_masgn_param(p, $3, p->locals->car); local_resume(p, $2); + local_add_f(p, 0); } ; diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index d4ef4b618..948f80350 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -2000,11 +2000,11 @@ union yyalloc /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 175 +#define YYNNTS 176 /* YYNRULES -- Number of rules. */ -#define YYNRULES 612 +#define YYNRULES 613 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1077 +#define YYNSTATES 1078 #define YYUNDEFTOK 2 #define YYMAXUTOK 377 @@ -2098,33 +2098,33 @@ static const yytype_int16 yyrline[] = 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, 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, 3685, 3692, 3696, 3702, 3706, 3712, 3713, 3716, 3720, - 3726, 3730, 3734, 3738, 3744, 3749, 3754, 3758, 3762, 3766, - 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3798, 3802, 3806, - 3811, 3817, 3822, 3827, 3832, 3837, 3844, 3848, 3855, 3860, - 3859, 3870, 3874, 3880, 3888, 3896, 3904, 3908, 3914, 3918, - 3924, 3925, 3928, 3933, 3940, 3941, 3944, 3948, 3954, 3958, - 3964, 3969, 3969, 3994, 3995, 4001, 4006, 4012, 4018, 4023, - 4027, 4037, 4044, 4045, 4046, 4049, 4050, 4051, 4052, 4055, - 4056, 4057, 4060, 4061, 4064, 4068, 4074, 4075, 4081, 4082, - 4085, 4086, 4089, 4092, 4093, 4094, 4097, 4098, 4101, 4106, - 4109, 4110, 4114 + 2938, 2944, 2948, 2951, 2955, 2959, 2963, 2968, 2972, 2976, + 2980, 2986, 2985, 2995, 2999, 3003, 3007, 3013, 3018, 3023, + 3027, 3031, 3035, 3039, 3043, 3047, 3051, 3055, 3059, 3063, + 3067, 3071, 3075, 3079, 3085, 3090, 3097, 3097, 3101, 3106, + 3113, 3117, 3123, 3124, 3127, 3132, 3135, 3139, 3145, 3149, + 3156, 3155, 3170, 3180, 3184, 3189, 3196, 3200, 3204, 3208, + 3212, 3216, 3220, 3224, 3228, 3235, 3234, 3249, 3248, 3264, + 3272, 3281, 3284, 3291, 3294, 3298, 3299, 3302, 3306, 3309, + 3313, 3316, 3317, 3318, 3319, 3322, 3323, 3329, 3330, 3331, + 3335, 3348, 3349, 3355, 3360, 3359, 3370, 3374, 3380, 3384, + 3397, 3401, 3407, 3410, 3411, 3414, 3420, 3426, 3427, 3430, + 3437, 3436, 3450, 3454, 3468, 3473, 3487, 3493, 3494, 3495, + 3496, 3497, 3501, 3507, 3511, 3521, 3522, 3523, 3527, 3533, + 3537, 3541, 3545, 3549, 3555, 3559, 3565, 3569, 3573, 3577, + 3581, 3585, 3593, 3600, 3606, 3607, 3611, 3615, 3614, 3631, + 3632, 3635, 3641, 3645, 3651, 3652, 3656, 3660, 3666, 3672, + 3678, 3685, 3691, 3698, 3702, 3708, 3712, 3718, 3719, 3722, + 3726, 3732, 3736, 3740, 3744, 3750, 3755, 3760, 3764, 3768, + 3772, 3776, 3780, 3784, 3788, 3792, 3796, 3800, 3804, 3808, + 3812, 3817, 3823, 3828, 3833, 3838, 3843, 3850, 3854, 3861, + 3866, 3865, 3877, 3881, 3887, 3895, 3903, 3911, 3915, 3921, + 3925, 3931, 3932, 3935, 3940, 3947, 3948, 3951, 3955, 3961, + 3965, 3971, 3976, 3976, 4001, 4002, 4008, 4013, 4019, 4025, + 4030, 4034, 4044, 4051, 4052, 4053, 4056, 4057, 4058, 4059, + 4062, 4063, 4064, 4067, 4068, 4071, 4075, 4081, 4082, 4088, + 4089, 4092, 4093, 4096, 4099, 4100, 4101, 4104, 4105, 4108, + 4113, 4116, 4117, 4121 }; #endif @@ -2175,25 +2175,25 @@ static const char *const yytname[] = "mrhs", "primary", "@8", "@9", "$@10", "$@11", "@12", "@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "@20", "@21", "@22", "@23", "primary_value", "then", "do", "if_tail", "opt_else", "for_var", - "f_margs", "block_args_tail", "opt_block_args_tail", "block_param", - "opt_block_param", "block_param_def", "$@24", "opt_bv_decl", "bv_decls", - "bvar", "f_larglist", "lambda_body", "do_block", "$@25", "block_call", - "method_call", "brace_block", "@26", "@27", "case_body", "cases", - "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", "string", - "string_fragment", "string_rep", "string_interp", "@28", "xstring", - "regexp", "heredoc", "heredoc_bodies", "heredoc_body", - "heredoc_string_rep", "heredoc_string_interp", "@29", "words", "symbol", - "basic_symbol", "sym", "symbols", "numeric", "variable", "var_lhs", - "var_ref", "backref", "superclass", "$@30", "f_opt_arglist_paren", - "f_arglist_paren", "f_arglist", "f_label", "f_kw", "f_block_kw", - "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", "args_tail", - "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", "f_arg_item", - "@31", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", "f_block_optarg", - "f_optarg", "restarg_mark", "f_rest_arg", "blkarg_mark", "f_block_arg", - "opt_f_block_arg", "singleton", "$@32", "assoc_list", "assocs", "assoc", - "operation", "operation2", "operation3", "dot_or_colon", "call_op", - "call_op2", "opt_terms", "opt_nl", "rparen", "trailer", "term", "nl", - "terms", "none", YY_NULLPTR + "f_margs", "$@24", "block_args_tail", "opt_block_args_tail", + "block_param", "opt_block_param", "block_param_def", "$@25", + "opt_bv_decl", "bv_decls", "bvar", "f_larglist", "lambda_body", + "do_block", "$@26", "block_call", "method_call", "brace_block", "@27", + "@28", "case_body", "cases", "opt_rescue", "exc_list", "exc_var", + "opt_ensure", "literal", "string", "string_fragment", "string_rep", + "string_interp", "@29", "xstring", "regexp", "heredoc", "heredoc_bodies", + "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@30", + "words", "symbol", "basic_symbol", "sym", "symbols", "numeric", + "variable", "var_lhs", "var_ref", "backref", "superclass", "$@31", + "f_opt_arglist_paren", "f_arglist_paren", "f_arglist", "f_label", "f_kw", + "f_block_kw", "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", + "args_tail", "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", + "f_arg_item", "@32", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", + "f_block_optarg", "f_optarg", "restarg_mark", "f_rest_arg", + "blkarg_mark", "f_block_arg", "opt_f_block_arg", "singleton", "$@33", + "assoc_list", "assocs", "assoc", "operation", "operation2", "operation3", + "dot_or_colon", "call_op", "call_op2", "opt_terms", "opt_nl", "rparen", + "trailer", "term", "nl", "terms", "none", YY_NULLPTR }; #endif @@ -2220,12 +2220,12 @@ static const yytype_int16 yytoknum[] = }; # endif -#define YYPACT_NINF (-865) +#define YYPACT_NINF (-873) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-613) +#define YYTABLE_NINF (-614) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -2234,114 +2234,114 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -865, 141, 3686, -865, 8674, 10798, 11140, 6982, -865, 10444, - 10444, -865, -865, 10912, 8164, 6598, 8910, 8910, -865, -865, - 8910, 4343, 3935, -865, -865, -865, -865, 96, 8164, -865, - 39, -865, -865, -865, 7124, 3799, -865, -865, 7266, -865, - -865, -865, -865, -865, -865, -865, 145, 10562, 10562, 10562, - 10562, 140, 5857, 1267, 9382, 9736, 8446, -865, 7882, 904, - 335, 393, 1098, 1184, -865, 287, 10680, 10562, -865, 1179, - -865, 1356, -865, 382, 1301, 1301, -865, -865, 221, 89, - -865, 117, 11026, -865, 186, 13068, 124, 134, 56, 100, - -865, 314, -865, -865, -865, -865, -865, -865, -865, -865, - -865, 51, 248, -865, 251, 36, -865, -865, -865, -865, - -865, 207, 207, 96, 623, 946, -865, 10444, 239, 5976, - 415, 1435, 1435, -865, 258, -865, 323, -865, -865, 36, - -865, -865, -865, -865, -865, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, 23, 44, - 52, 57, -865, -865, -865, -865, -865, -865, 72, 76, - 157, 182, -865, 190, -865, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, -865, 203, - 5035, 321, 382, 1301, 1301, 102, 268, 13192, 497, 233, - 305, 316, 102, 10444, 10444, 669, 360, -865, -865, 712, - 378, 58, 74, -865, -865, -865, -865, -865, -865, -865, - -865, -865, 8023, -865, -865, 299, -865, -865, -865, -865, - -865, -865, 1179, -865, 213, -865, 427, -865, -865, 1179, - 4071, 10562, 10562, 10562, 10562, -865, 13130, -865, -865, 337, - 399, 337, -865, -865, -865, 9028, -865, -865, -865, 8910, - -865, -865, -865, 6598, 6836, -865, 355, 6095, -865, 785, - 410, 13254, 13254, 461, 8792, 5857, 370, 1179, 1356, 1179, - 416, -865, 8792, 1179, 414, 1324, 1324, -865, 13130, 422, - 1324, -865, 526, 11254, 441, 813, 924, 941, 1610, -865, - -865, -865, -865, 1212, -865, -865, -865, -865, -865, -865, - 315, 1247, -865, -865, 776, -865, 553, -865, 1252, -865, - 1255, 491, 492, -865, -865, -865, -865, 6360, 10444, 10444, - 10444, 10444, 8792, 10444, 10444, 47, -865, -865, -865, -865, - -865, 1179, -865, -865, -865, -865, -865, -865, -865, 1963, - 473, 477, 5035, 10562, -865, 462, 561, 479, -865, 1179, - -865, -865, -865, 484, 10562, -865, 485, 568, 494, 583, - -865, -865, 487, 5035, -865, -865, 9854, -865, 5857, 8560, - 498, 9854, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, - 10562, 10562, 10562, 10562, 10562, 10562, 592, 10562, 10562, 10562, + -873, 124, 3686, -873, 8674, 10798, 11140, 6982, -873, 10444, + 10444, -873, -873, 10912, 8164, 6598, 8910, 8910, -873, -873, + 8910, 4343, 3935, -873, -873, -873, -873, -13, 8164, -873, + -4, -873, -873, -873, 7124, 3799, -873, -873, 7266, -873, + -873, -873, -873, -873, -873, -873, 45, 10562, 10562, 10562, + 10562, 89, 5857, 585, 9382, 9736, 8446, -873, 7882, 681, + 776, 904, 1227, 1252, -873, 288, 10680, 10562, -873, 448, + -873, 1256, -873, 328, 1307, 1307, -873, -873, 152, 44, + -873, 98, 11026, -873, 87, 13068, 318, 487, 56, 117, + -873, 466, -873, -873, -873, -873, -873, -873, -873, -873, + -873, 212, 123, -873, 291, 92, -873, -873, -873, -873, + -873, 106, 106, -13, 623, 777, -873, 10444, 364, 5976, + 355, 1435, 1435, -873, 139, -873, 669, -873, -873, 92, + -873, -873, -873, -873, -873, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, 23, 46, + 60, 82, -873, -873, -873, -873, -873, -873, 127, 191, + 203, 204, -873, 229, -873, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, -873, 253, + 5035, 211, 328, 1307, 1307, 160, 193, 13192, 712, 118, + 248, 207, 160, 10444, 10444, 887, 312, -873, -873, 908, + 347, 58, 86, -873, -873, -873, -873, -873, -873, -873, + -873, -873, 8023, -873, -873, 240, -873, -873, -873, -873, + -873, -873, 448, -873, 632, -873, 369, -873, -873, 448, + 4071, 10562, 10562, 10562, 10562, -873, 13130, -873, -873, 292, + 373, 292, -873, -873, -873, 9028, -873, -873, -873, 8910, + -873, -873, -873, 6598, 6836, -873, 309, 6095, -873, 955, + 350, 13254, 13254, 299, 8792, 5857, 325, 448, 1256, 448, + 353, -873, 8792, 448, 352, 1511, 1511, -873, 13130, 344, + 1511, -873, 434, 11254, 358, 1013, 1040, 1057, 1610, -873, + -873, -873, -873, 1255, -873, -873, -873, -873, -873, -873, + 653, 1276, -873, -873, 825, -873, 1003, -873, 1314, -873, + 1348, 396, 414, -873, -873, -873, -873, 6360, 10444, 10444, + 10444, 10444, 8792, 10444, 10444, 48, -873, -873, -873, -873, + -873, 448, -873, -873, -873, -873, -873, -873, -873, 1963, + 399, 410, 5035, 10562, -873, 392, 486, 413, -873, 448, + -873, -873, -873, 419, 10562, -873, 430, 490, 441, 530, + -873, -873, 464, 5035, -873, -873, 9854, -873, 5857, 8560, + 458, 9854, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, + 10562, 10562, 10562, 10562, 10562, 10562, 553, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 10562, 2428, - -865, 8910, -865, 3143, -865, -865, 12650, -865, -865, -865, - -865, 10680, 10680, -865, 562, -865, 382, -865, 999, -865, - -865, -865, -865, -865, -865, 11532, 8910, 11618, 5035, 10444, - -865, -865, -865, 641, 655, 344, 558, 566, -865, 5181, - 682, 10562, 11704, 8910, 11790, 10562, 10562, 5473, 167, 167, - 103, 11876, 8910, 11962, -865, 636, -865, 6095, 427, -865, - -865, 9972, 685, -865, 10562, 13192, 13192, 13192, 10562, -865, - -865, 9146, -865, 10562, -865, 9500, 6717, 559, 1179, 337, - 337, -865, -865, 759, 564, -865, -865, -865, 8164, 5592, - 563, 11704, 11790, 10562, 1356, 1179, -865, -865, 6479, 569, - 1356, -865, -865, 9618, -865, 1179, 9736, -865, -865, -865, - 999, 117, 11254, -865, 11254, 12048, 8910, 12134, 2259, -865, - -865, 570, -865, 1259, 6095, 315, -865, -865, -865, -865, - -865, -865, -865, 10562, 10562, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, 1236, 1179, 1179, 576, - 10680, 688, 13192, 54, -865, -865, -865, 198, -865, -865, - 2093, -865, 13192, 2259, -865, -865, 1289, -865, -865, 10680, - 704, 43, 10562, -865, 12784, 337, -865, 1179, 11254, 581, - -865, -865, -865, 680, 614, 2039, -865, -865, 1018, 348, + -873, 8910, -873, 3143, -873, -873, 12650, -873, -873, -873, + -873, 10680, 10680, -873, 516, -873, 328, -873, 1068, -873, + -873, -873, -873, -873, -873, 11532, 8910, 11618, 5035, 10444, + -873, -873, -873, 606, 615, 215, 509, 510, -873, 5181, + 617, 10562, 11704, 8910, 11790, 10562, 10562, 5473, 101, 101, + 115, 11876, 8910, 11962, -873, 573, -873, 6095, 369, -873, + -873, 9972, 625, -873, 10562, 13192, 13192, 13192, 10562, -873, + -873, 9146, -873, 10562, -873, 9500, 6717, 506, 448, 292, + 292, -873, -873, 838, 511, -873, -873, -873, 8164, 5592, + 522, 11704, 11790, 10562, 1256, 448, -873, -873, 6479, 500, + 1256, -873, -873, 9618, -873, 448, 9736, -873, -873, -873, + 1068, 98, 11254, -873, 11254, 12048, 8910, 12134, 2259, -873, + -873, 526, -873, 1353, 6095, 653, -873, -873, -873, -873, + -873, -873, -873, 10562, 10562, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, 1454, 448, 448, 537, + 10680, 666, 13192, 335, -873, -873, -873, 54, -873, -873, + 2093, -873, 13192, 2259, -873, -873, 1038, -873, -873, 10680, + 672, 47, 10562, -873, 12784, 292, -873, 448, 11254, 559, + -873, -873, -873, 655, 581, 2039, -873, -873, 1078, 220, 3042, 3042, 3042, 3042, 1617, 1617, 3376, 2927, 3042, 3042, - 13254, 13254, 1153, 1153, -865, 410, 13192, 1617, 1617, 1278, - 1278, 1426, 234, 234, 410, 410, 410, 4479, 7622, 4751, - 7740, -865, 207, -865, 597, 337, 509, -865, 589, -865, - -865, 4207, -865, -865, 1791, 43, 43, -865, 2539, -865, - -865, -865, -865, -865, 1179, 10444, 5035, 963, 777, -865, - 207, 599, 207, 729, 759, 8305, -865, 10090, 732, -865, - 10562, 10562, 466, -865, 7384, 7503, 606, 397, 405, 732, - -865, -865, -865, -865, 71, 86, 615, 111, 112, 10444, - 8164, 621, 747, 13192, 639, -865, 13192, 13192, 1089, 10562, - 13130, -865, 337, 13192, -865, -865, -865, -865, 9264, 9500, - -865, -865, -865, 632, -865, -865, 33, 1356, 1179, 1324, - 498, -865, 963, 777, 631, 1051, 1134, -865, 95, 2259, - -865, 637, -865, 410, 410, -865, 901, 1179, 635, -865, - -865, 2153, 734, 3255, -865, 722, -865, 479, -865, 1179, - -865, -865, 644, 646, 647, -865, 649, 722, 647, 749, - 12722, -865, -865, 2259, 5035, -865, -865, 12855, 10208, -865, - -865, 11254, 8792, 10680, 10562, 12220, 8910, 12306, 869, 10680, - 10680, -865, 562, 609, 9146, 10680, 10680, -865, 562, 100, - 221, 5035, 6095, 43, -865, 1179, 780, -865, -865, -865, - -865, 12784, -865, 705, -865, 5738, 789, -865, 10444, 795, - -865, 10562, 10562, 408, 10562, 10562, 800, 6241, 6241, 115, - 167, -865, -865, -865, 10326, 5327, 13192, -865, 6717, 337, - -865, -865, -865, 495, 673, 1380, 5035, 6095, -865, -865, - 1579, 681, -865, 1454, 1179, 10562, 10562, -865, -865, 2259, - -865, 1289, -865, 1289, -865, 1289, -865, -865, 10562, 10562, - -865, -865, -865, 11368, -865, 683, 479, 689, 11368, -865, - 693, 696, -865, 807, 10562, 12926, -865, -865, 13192, 4615, - 4887, 708, 412, 442, 10562, 10562, -865, -865, -865, -865, - -865, 10680, -865, -865, -865, -865, -865, -865, -865, 835, - 718, 6095, 5035, -865, -865, 11482, 102, -865, -865, 6241, - -865, -865, 102, -865, 10562, -865, 843, 846, -865, 13192, - 294, -865, 9500, -865, 1517, 848, 730, 731, 1579, 1118, - -865, 13192, 13192, 647, 739, 647, 647, 13192, 13192, 750, - 760, 832, 1019, 54, -865, -865, 1746, -865, 1019, 2259, - -865, 1289, -865, -865, 12997, 475, 13192, 13192, -865, -865, - -865, -865, 755, 880, 842, -865, 1046, 924, 941, 5035, - -865, 5181, -865, -865, 6241, -865, -865, -865, -865, 770, - -865, -865, -865, -865, 1579, 731, 1579, 774, -865, 1289, - -865, -865, -865, -865, -865, -865, 12392, -865, 479, 54, - -865, -865, 778, 781, 792, -865, 794, 792, -865, -865, - 999, 12478, 8910, 12564, 655, 466, 887, 1517, 1089, 731, - 1579, 647, 783, 797, -865, 2259, -865, 1289, -865, 1289, - -865, 1289, -865, -865, 963, 777, 801, 160, 753, -865, - -865, -865, -865, 731, -865, 792, 804, 792, 792, 495, - -865, 1289, -865, -865, -865, 792, -865 + 13254, 13254, 1146, 1146, -873, 350, 13192, 1617, 1617, 1427, + 1427, 1442, 378, 378, 350, 350, 350, 4479, 7622, 4751, + 7740, -873, 106, -873, 568, 292, 461, -873, 501, -873, + -873, 4207, -873, -873, 1791, 47, 47, -873, 2539, -873, + -873, -873, -873, -873, 448, 10444, 5035, 906, 51, -873, + 106, 571, 106, 703, 838, 8305, -873, 10090, 706, -873, + 10562, 10562, 439, -873, 7384, 7503, 594, 256, 282, 706, + -873, -873, -873, -873, 55, 79, 598, 126, 129, 10444, + 8164, 621, 741, 13192, 639, -873, 13192, 13192, 852, 10562, + 13130, -873, 292, 13192, -873, -873, -873, -873, 9264, 9500, + -873, -873, -873, 637, -873, -873, 138, 1256, 448, 1511, + 458, -873, 906, 51, 636, 933, 934, -873, 91, 2259, + -873, 640, -873, 350, 350, -873, 276, 448, 620, -873, + -873, 2153, 720, 3255, -873, 721, -873, 413, -873, 448, + -873, -873, 644, 646, 647, -873, 651, 721, 647, 752, + 12722, -873, -873, 2259, 5035, -873, -873, 12855, 10208, -873, + -873, 11254, 8792, 10680, 10562, 12220, 8910, 12306, 167, 10680, + 10680, -873, 516, 577, 9146, 10680, 10680, -873, 516, 117, + 152, 5035, 6095, 47, -873, 448, 795, -873, -873, -873, + -873, 12784, -873, 719, -873, 5738, 801, -873, 10444, 803, + -873, 10562, 10562, 307, 10562, 10562, 807, 6241, 6241, 130, + 101, -873, -873, -873, 10326, 5327, 13192, -873, 6717, 292, + -873, -873, -873, 497, 678, 1326, 5035, 6095, -873, -873, + -873, 683, -873, 1671, 448, 10562, 10562, -873, -873, 2259, + -873, 1038, -873, 1038, -873, 1038, -873, -873, 10562, 10562, + -873, -873, -873, 11368, -873, 689, 413, 693, 11368, -873, + 696, 708, -873, 836, 10562, 12926, -873, -873, 13192, 4615, + 4887, 716, 324, 348, 10562, 10562, -873, -873, -873, -873, + -873, 10680, -873, -873, -873, -873, -873, -873, -873, 843, + 722, 6095, 5035, -873, -873, 11482, 160, -873, -873, 6241, + -873, -873, 160, -873, 10562, -873, 848, 854, -873, 13192, + 157, -873, 9500, -873, 849, 858, 735, 1330, 1330, 342, + -873, 13192, 13192, 647, 736, 647, 647, 13192, 13192, 755, + 761, 840, 1091, 335, -873, -873, 1746, -873, 1091, 2259, + -873, 1038, -873, -873, 12997, 412, 13192, 13192, -873, -873, + -873, -873, 759, 892, 857, -873, 1117, 1040, 1057, 5035, + -873, 5181, -873, -873, 6241, -873, -873, -873, -873, 778, + -873, -873, -873, -873, 780, 780, 1330, 781, -873, 1038, + -873, -873, -873, -873, -873, -873, 12392, -873, 413, 335, + -873, -873, 784, 785, 792, -873, 794, 792, -873, -873, + 1068, 12478, 8910, 12564, 615, 439, 931, 849, 852, 1330, + 780, 1330, 647, 804, 808, -873, 2259, -873, 1038, -873, + 1038, -873, 1038, -873, -873, 906, 51, 806, 592, 753, + -873, -873, -873, -873, 780, -873, 792, 812, 792, 792, + 497, -873, 1038, -873, -873, -873, 792, -873 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -2350,18 +2350,18 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 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, + 0, 317, 320, 0, 0, 599, 337, 338, 339, 340, + 305, 270, 270, 488, 487, 489, 490, 601, 0, 10, + 0, 492, 491, 493, 479, 585, 481, 480, 483, 482, + 475, 476, 437, 438, 494, 495, 291, 0, 0, 0, + 0, 0, 0, 295, 613, 613, 88, 312, 0, 0, + 0, 0, 0, 0, 452, 0, 0, 0, 3, 599, + 6, 9, 27, 33, 541, 541, 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, + 284, 285, 435, 286, 287, 288, 433, 432, 464, 434, + 431, 486, 0, 289, 290, 270, 5, 8, 337, 338, + 305, 613, 413, 0, 113, 114, 291, 0, 0, 0, + 0, 541, 541, 116, 496, 341, 0, 486, 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, @@ -2369,117 +2369,117 @@ static const yytype_int16 yydefact[] = 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, 571, 55, 121, 122, 570, 0, - 0, 0, 58, 540, 540, 0, 0, 54, 0, 485, + 148, 151, 152, 157, 572, 55, 121, 122, 571, 0, + 0, 0, 58, 541, 541, 0, 0, 54, 0, 486, 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, + 0, 486, 290, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 455, 460, 459, + 607, 609, 599, 610, 0, 457, 0, 611, 608, 600, + 583, 0, 0, 273, 0, 265, 277, 74, 269, 613, + 435, 613, 576, 75, 73, 613, 259, 306, 72, 0, + 258, 412, 71, 599, 0, 18, 0, 0, 221, 0, + 222, 209, 212, 302, 0, 0, 0, 599, 15, 599, + 78, 14, 0, 599, 0, 604, 604, 249, 0, 0, + 604, 574, 0, 0, 86, 0, 96, 103, 541, 469, + 468, 470, 471, 0, 467, 466, 439, 444, 443, 446, + 0, 0, 441, 448, 0, 450, 0, 462, 0, 473, + 0, 477, 478, 53, 236, 237, 4, 600, 0, 0, + 0, 0, 0, 0, 0, 548, 544, 543, 542, 545, + 546, 0, 550, 562, 517, 518, 566, 565, 561, 541, + 0, 504, 0, 510, 515, 613, 520, 613, 540, 0, + 547, 549, 552, 526, 0, 559, 526, 564, 526, 568, + 524, 500, 0, 0, 400, 402, 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, - 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, + 596, 613, 595, 0, 598, 597, 0, 417, 415, 311, + 436, 0, 0, 406, 65, 309, 330, 113, 114, 115, + 477, 478, 504, 497, 328, 0, 613, 0, 0, 0, + 594, 593, 56, 0, 613, 302, 0, 0, 343, 0, + 342, 0, 0, 613, 0, 0, 0, 0, 0, 0, + 302, 0, 613, 0, 325, 0, 126, 0, 0, 456, + 458, 0, 0, 612, 580, 278, 582, 272, 0, 601, + 266, 0, 275, 0, 267, 0, 599, 0, 599, 613, + 613, 260, 271, 599, 0, 308, 52, 602, 0, 0, + 0, 0, 0, 0, 17, 599, 300, 13, 600, 77, + 296, 299, 303, 606, 250, 605, 606, 252, 304, 575, + 102, 94, 0, 89, 0, 0, 613, 0, 541, 313, + 397, 526, 472, 0, 0, 447, 453, 440, 442, 449, + 451, 463, 474, 0, 0, 7, 21, 22, 23, 24, + 25, 50, 51, 508, 554, 507, 0, 599, 599, 526, + 0, 0, 509, 0, 522, 570, 519, 0, 523, 505, + 0, 533, 555, 0, 536, 563, 0, 538, 567, 0, + 0, 613, 0, 28, 30, 0, 31, 599, 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, 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, + 207, 210, 238, 239, 32, 218, 601, 227, 229, 223, + 224, 225, 213, 214, 215, 216, 217, 586, 591, 587, + 592, 411, 270, 409, 0, 613, 586, 588, 587, 589, + 410, 270, 586, 587, 270, 613, 613, 35, 253, 199, 45, 206, 63, 66, 0, 0, 0, 113, 114, 117, - 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 + 0, 0, 613, 0, 599, 0, 294, 613, 613, 423, + 0, 0, 613, 344, 590, 301, 0, 586, 587, 613, + 346, 318, 345, 321, 590, 301, 0, 586, 587, 0, + 0, 0, 0, 277, 0, 324, 579, 578, 276, 0, + 279, 274, 613, 581, 577, 257, 255, 261, 262, 264, + 307, 603, 19, 0, 26, 205, 79, 16, 599, 604, + 95, 87, 99, 101, 0, 98, 100, 601, 0, 0, + 465, 0, 454, 219, 220, 548, 360, 599, 353, 503, + 501, 0, 41, 244, 335, 0, 516, 613, 569, 0, + 525, 553, 526, 526, 526, 560, 526, 548, 526, 43, + 246, 336, 388, 386, 0, 385, 384, 283, 0, 91, + 85, 0, 0, 0, 0, 0, 613, 0, 0, 0, + 0, 408, 69, 414, 262, 0, 0, 407, 67, 403, + 62, 0, 0, 613, 331, 0, 0, 414, 334, 573, + 57, 424, 425, 613, 426, 0, 613, 349, 0, 0, + 347, 0, 0, 414, 0, 0, 0, 0, 0, 414, + 0, 127, 461, 323, 0, 0, 280, 268, 599, 613, + 11, 297, 251, 97, 0, 390, 0, 0, 314, 445, + 361, 358, 551, 0, 599, 0, 0, 521, 506, 0, + 529, 0, 531, 0, 537, 0, 534, 539, 0, 0, + 383, 601, 601, 512, 513, 613, 613, 368, 0, 557, + 368, 368, 366, 0, 0, 281, 83, 47, 254, 586, + 587, 0, 586, 587, 0, 0, 40, 203, 39, 204, + 70, 0, 37, 201, 38, 202, 68, 404, 405, 0, + 0, 0, 0, 498, 329, 0, 0, 428, 350, 0, + 12, 430, 0, 315, 0, 316, 0, 0, 326, 279, + 613, 256, 263, 396, 0, 0, 0, 0, 0, 356, + 502, 42, 245, 526, 526, 526, 526, 44, 247, 0, + 0, 0, 511, 0, 364, 365, 368, 376, 556, 0, + 379, 0, 381, 401, 282, 414, 243, 242, 36, 200, + 418, 416, 0, 0, 0, 427, 0, 104, 111, 0, + 429, 0, 319, 322, 0, 420, 421, 419, 394, 601, + 392, 395, 399, 398, 362, 359, 0, 354, 530, 0, + 527, 532, 535, 389, 387, 302, 0, 514, 613, 0, + 367, 374, 368, 368, 368, 558, 368, 368, 64, 332, + 110, 0, 613, 0, 613, 613, 0, 0, 391, 0, + 357, 0, 526, 590, 301, 363, 0, 371, 0, 373, + 0, 380, 0, 377, 382, 107, 109, 0, 586, 587, + 422, 348, 327, 393, 355, 528, 368, 368, 368, 368, + 105, 372, 0, 369, 375, 378, 368, 370 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -865, -865, -865, 403, -865, 41, -865, -233, 137, -865, - 40, -865, -60, -215, 560, 1421, 1889, -865, 20, -57, - -865, -657, -865, 30, 934, -211, -19, -50, -286, -443, - -8, 2634, -61, 942, 9, -17, -865, -865, 42, -865, - 1196, -865, 503, 73, -141, -365, 99, -7, -865, -440, - -240, -157, 147, -363, 97, -865, -865, -865, -865, -865, - -865, -865, -865, -865, -865, -865, -865, -865, -865, -865, - -865, 8, -200, -450, -76, -620, -865, -865, 178, 154, - -865, -536, -865, -865, -309, -865, -74, -865, -865, 155, - -865, -865, -865, -88, -865, -865, -452, -865, -68, -865, - -865, -865, -865, -865, -14, 26, -148, -865, -865, -865, - -865, -865, -259, -865, 717, -865, -865, -865, 6, -865, - -865, -865, 2469, 2735, 966, 2054, -865, -865, -16, 458, - 22, -633, 398, 27, -865, -865, -865, 302, 84, -126, - -249, -864, -681, -438, -865, 29, -650, -542, -838, 17, - -527, -865, -338, -865, 181, -340, -865, -865, -865, 38, - -429, 656, -351, -865, -865, -80, -865, 66, -23, 557, - -267, 327, -258, -64, -2 + -873, -873, -873, 436, -873, 34, -873, -233, 137, -873, + 40, -873, -188, -215, 560, 1421, 1889, -873, 20, -57, + -873, -640, -873, 30, 948, -211, -19, -50, -286, -475, + -11, 2634, -61, 957, 9, -17, -873, -873, 42, -873, + 1196, -873, 503, 73, -209, -365, 99, -7, -873, -440, + -240, -157, 147, -350, 97, -873, -873, -873, -873, -873, + -873, -873, -873, -873, -873, -873, -873, -873, -873, -873, + -873, 8, -200, -450, -71, -620, -873, -873, -873, 182, + 260, -873, -536, -873, -873, -302, -873, -65, -873, -873, + 163, -873, -873, -873, -88, -873, -873, -452, -873, -53, + -873, -873, -873, -873, -873, -14, 26, -148, -873, -873, + -873, -873, -873, -259, -873, 729, -873, -873, -873, 6, + -873, -873, -873, 2469, 2735, 980, 2054, -873, -873, 24, + 504, 0, 142, 405, 27, -873, -873, -873, 302, 84, + -126, -222, -843, -697, -438, -873, 301, -721, -545, -872, + 29, -527, -873, -448, -873, 208, -340, -873, -873, -873, + 38, -429, 656, -351, -873, -873, -80, -873, 66, -23, + 557, -267, 327, -258, -64, -2 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -2492,17 +2492,17 @@ static const yytype_int16 yydefgoto[] = 85, 304, 616, 651, 277, 507, 508, 278, 279, 268, 500, 536, 655, 606, 86, 210, 302, 738, 303, 318, 748, 223, 837, 224, 838, 709, 994, 676, 674, 922, - 458, 289, 469, 701, 829, 830, 230, 757, 1020, 967, - 881, 784, 785, 882, 854, 999, 1000, 549, 858, 395, - 601, 88, 89, 445, 666, 665, 492, 997, 688, 823, - 926, 930, 90, 91, 92, 331, 332, 554, 93, 94, - 95, 555, 253, 254, 255, 487, 96, 97, 98, 325, - 99, 100, 219, 220, 103, 221, 454, 675, 370, 371, - 372, 373, 374, 884, 885, 375, 376, 377, 770, 591, - 379, 380, 381, 382, 576, 383, 384, 385, 889, 890, - 386, 387, 388, 389, 390, 584, 209, 459, 309, 510, - 272, 129, 680, 653, 462, 457, 436, 514, 855, 515, - 534, 257, 258, 259, 301 + 458, 289, 469, 701, 829, 830, 230, 757, 947, 1020, + 967, 881, 784, 785, 882, 854, 999, 1000, 549, 858, + 395, 601, 88, 89, 445, 666, 665, 492, 997, 688, + 823, 926, 930, 90, 91, 92, 331, 332, 554, 93, + 94, 95, 555, 253, 254, 255, 487, 96, 97, 98, + 325, 99, 100, 219, 220, 103, 221, 454, 675, 370, + 371, 372, 373, 374, 884, 885, 375, 376, 377, 770, + 591, 379, 380, 381, 382, 576, 383, 384, 385, 889, + 890, 386, 387, 388, 389, 390, 584, 209, 459, 309, + 510, 272, 129, 680, 653, 462, 457, 436, 514, 855, + 515, 534, 257, 258, 259, 301 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -2513,197 +2513,197 @@ static const yytype_int16 yytable[] = 106, 439, 270, 270, 284, 347, 270, 433, 435, 343, 87, 285, 87, 126, 126, 282, 205, 218, 218, 280, 246, 229, 477, 218, 218, 218, 517, 542, 218, 703, - 222, 504, 400, 300, 246, 252, 712, 588, 617, 537, - 270, 270, 71, 539, 71, 107, 265, 265, 314, 206, - 265, 775, 307, 311, 271, 271, 206, 449, 271, 392, - 87, 721, 437, 772, 315, 721, 654, 324, 826, 550, - 206, 556, 391, 391, 218, 861, 724, 440, 652, 836, - 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, -487, 505, 267, 273, 706, 468, 274, - 578, 652, 782, 661, 856, 218, 437, 87, -110, 811, - 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, -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, -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, -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, -492, 265, -106, 401, -106, 265, - 87, 771, 825, 250, 491, 251, 888, 271, 488, 888, - 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, - 568, 569, -111, 585, 42, 585, 465, 43, 512, 300, - 87, 611, 611, 453, 613, 613, 883, 71, 565, 471, - 938, 609, 570, -103, 679, 888, 333, 475, 579, 327, - 328, 87, 378, 484, 218, 558, 87, 315, 476, 618, - 125, 773, 883, 455, 883, 480, 883, 270, 883, 353, - 354, 59, 509, 773, 520, 771, 269, 867, 430, 511, - 247, 901, 296, 248, 249, 771, 523, -111, 883, 218, - 442, 486, 270, 816, 652, 891, 661, 491, 788, 618, - 618, 329, 330, 378, 511, 335, 503, 327, 328, 270, - 517, 265, 689, 456, 218, -110, 87, 218, 270, -111, - 432, 511, 852, 450, 451, 659, 718, 87, 659, 499, - 511, 218, 847, 828, 825, 87, 265, 270, 996, 834, - 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, -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, -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, -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, -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, -291, - 842, -582, 843, -478, 768, 585, 849, -582, 768, -108, - -478, 850, 853, 105, -291, 105, 859, 863, 865, 573, + 222, 504, 400, 300, 246, 252, 712, 588, 107, 537, + 270, 270, 71, 539, 71, 314, 265, 265, 775, 206, + 265, 617, 307, 311, 271, 271, 206, 449, 271, 861, + 87, 721, 888, 772, 315, 721, 654, 324, 826, 741, + 206, 556, 391, 391, 218, 393, 724, 440, 652, 836, + -107, 256, 661, -104, 525, 664, 334, 336, 338, 340, + 315, 681, 306, 310, 276, 281, 550, 1025, 444, 392, + 206, 1001, 125, 125, -109, 573, 682, 724, 696, 280, + 125, -111, 501, -488, 505, 267, 273, 706, 437, 274, + 856, 652, 393, 661, 3, 218, 782, 87, 700, 811, + 812, 283, 682, 790, 287, 346, -487, -485, 474, 581, + -110, -301, 773, 437, 293, 776, 434, 578, 533, 483, + -489, -106, 771, 125, -108, -105, -301, 366, 378, 378, + 600, 430, 910, 269, 269, 396, -112, 269, 916, 574, + -488, 682, -490, 783, 1025, 825, 468, 491, 443, 125, + 394, 744, 367, 558, 276, 281, 558, 607, 558, 296, + 558, -301, 558, -487, 1001, -587, 682, -99, -301, -586, + -96, 305, 443, 432, 857, 378, 378, -489, 401, 522, + -484, 391, 391, 611, 393, 441, 247, -492, 87, 248, + 249, -101, 772, -587, 904, 683, 667, 670, -103, -490, + 438, 218, 218, 528, 772, 547, 275, 466, 467, -104, + 397, 535, 535, 478, 479, 888, 535, 250, 888, 251, + 275, 324, 1007, 611, 611, 438, 296, -102, 542, -77, + 594, 270, 597, 541, 453, 270, 465, 502, -98, 502, + 504, -100, -97, 511, -492, 247, 300, 921, 248, 249, + -91, -491, 247, 218, 206, 248, 249, 218, 721, 721, + 905, 218, 218, -493, -479, 87, 752, 378, 378, 476, + 724, 773, 87, 87, -484, 265, 250, 523, 251, 265, + 87, 771, 442, 773, 471, 251, 896, 271, 488, -483, + 995, 315, 542, 771, 775, 888, 747, 755, -111, 356, + 357, 358, 359, -104, 524, 891, -110, 822, -491, 603, + 475, -111, 530, 460, 613, 360, 341, 342, 834, 553, + -493, -479, 728, 729, -96, 87, 218, 218, 218, 218, + 87, 218, 218, 527, 721, 353, 354, 480, 566, 567, + 568, 569, 484, 585, 835, 585, -483, -106, 512, 300, + 87, 565, 486, 442, 613, 613, 765, 71, 609, 491, + 938, 523, 570, 755, 679, 356, 357, 358, 359, 934, + 461, 87, 378, -108, 218, 558, 87, 315, -341, 618, + 125, 360, -111, 450, 451, 447, 805, 270, 860, 448, + -110, 954, 509, -341, 520, 771, 269, 867, -105, 511, + 503, 901, 296, -103, 499, 771, 364, 365, 366, 218, + 806, -102, 270, 816, 652, -106, 661, 519, 788, 618, + 618, 417, 807, 378, 511, 809, 828, 825, -341, 270, + 517, 265, 689, 367, 218, -341, 87, 218, 270, -108, + 526, 511, 852, 807, -76, 659, 718, 87, 659, 417, + 511, 218, 847, 538, 1006, 87, 265, 270, 996, 540, + 218, 270, 740, 532, 541, 87, 125, 563, 804, 659, + 544, 732, 721, 265, 911, 542, 660, 502, 502, 426, + 427, 428, 265, 724, 845, 564, 659, 106, 1023, 270, + 580, 1026, 270, -414, 246, 659, 42, 87, 771, 43, + 660, -499, 270, -105, 583, 296, 87, 586, 797, 722, + 517, 595, 470, 605, 511, 964, 965, 660, 605, 470, + 315, 893, 315, 805, 218, 587, 660, 844, 541, 71, + 206, 590, 87, 247, 659, 505, 248, 249, 737, 212, + 212, 739, 593, 59, 727, 212, 265, 429, 919, 959, + 960, 598, -106, 596, 906, 599, 493, -414, 218, 659, + 912, 914, 430, 806, 250, 660, 251, 517, 1067, 786, + 610, 771, -414, -98, 634, 611, 692, 218, -106, 847, + 762, 611, 771, 798, 699, 672, 315, 611, 611, 551, + 660, 686, -108, 945, 711, 452, 452, 431, 687, 779, + 690, 691, 378, 693, 432, -414, 552, -414, 714, 125, + 715, 125, -91, -100, -414, 802, 870, 872, 874, -583, + 876, 726, 877, 502, 808, 468, 731, 810, 105, 280, + 105, 734, 280, 786, 786, 105, 105, 1057, 749, 911, + 579, 105, 105, 105, 493, 535, 105, 446, 1045, 761, + 280, 764, 682, 218, 87, 824, 827, 781, 575, 983, + 827, 751, 942, 841, 820, 815, 978, 827, -105, 792, + -298, 791, 793, -298, -298, 125, 589, -106, 105, 803, + -106, -106, 817, -479, 270, 270, 246, 218, 818, -97, + 502, 917, 105, 611, 825, 801, 989, 206, -479, 840, + -298, -298, 991, -298, 276, 833, 613, 276, -106, 839, + -106, 541, 613, 908, 326, 327, 328, 489, 613, 613, + 248, 249, 206, 801, 247, 276, 843, 248, 249, 455, + 842, -583, 863, -479, 865, 585, 849, -583, 247, -108, + -479, 248, 249, 105, 430, 105, 850, 853, 573, 859, 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, -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, -301, -108, 1003, - 660, -108, -108, 1004, 247, 521, 1013, 248, 249, 105, - 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, -301, 430, 618, - 1045, -586, 733, 1047, -301, 473, 904, -585, 270, 87, - 87, 105, 432, 986, 1049, 105, 1051, 87, 827, 105, - 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, -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, -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, -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, -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, -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, -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, - 328, 886, 750, 327, 328, 250, 0, 251, 329, 330, - 362, 105, 105, 0, 907, 909, 756, 913, 915, 0, - 777, 0, 356, 357, 358, 359, 0, 886, 0, 886, - 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, -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, -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, - 344, 105, 105, 0, 0, 0, 499, 105, 105, 0, - 250, 266, 251, 74, 0, 266, 0, 121, 0, 217, + 270, 768, 87, 875, 511, 768, 878, 329, 330, 315, + 87, 618, 472, -584, 218, 702, 702, 618, 218, 456, + 924, 786, 925, 618, 618, 929, 432, 430, 933, 87, + 87, 927, 935, 943, 931, 948, 265, 1008, 1010, 1011, + 1012, 963, 897, 87, 605, 966, 218, 333, 969, 659, + 327, 328, 849, 513, 516, 87, 87, 502, 932, 551, + 971, 973, 473, 87, 613, 493, 529, 975, 980, 432, + 531, 981, 493, 992, 87, 87, 105, -483, -108, 993, + 660, -108, -108, 1002, 1003, 353, 354, 758, 1009, 105, + 105, 1013, -483, 585, 585, 767, 559, 1014, 125, 327, + 328, 962, 329, 330, 774, 1015, 968, 778, 1028, -108, + 998, -108, 356, 357, 358, 359, 1033, 1029, 212, 212, + 212, 212, 1030, 571, 572, -584, 1065, -483, 360, 618, + 1037, -584, 1039, 1041, -483, 883, 1046, 1048, 270, 87, + 87, 105, -590, 986, 1050, 105, 1052, 87, 827, 105, + 105, 329, 330, 105, 669, 671, 1062, 1070, -586, 920, + 105, 105, -587, 247, 1072, 733, 248, 249, 105, -586, + -587, 227, 928, 130, 1061, 880, 335, 247, 327, 328, + 248, 249, 1063, 918, 936, 937, 1038, -291, 669, 671, + 125, 1060, 940, 490, 250, 125, 251, 208, 766, 0, + 1017, 892, -291, 0, 946, 1022, -590, 87, 481, 87, + 251, 814, 87, 105, 105, 105, 105, 105, 105, 105, + 105, -590, 0, 430, 0, 0, 585, 0, 270, 684, + 329, 330, 125, -586, -587, 0, 735, -291, 105, 0, + 511, 0, 689, 827, -291, 0, 0, 0, -586, -587, + 218, 470, 0, 0, -590, 521, -590, 0, 482, 105, + -586, 0, 105, -590, 105, 432, 0, 105, 982, 0, + 430, 0, 265, 725, 0, 560, 990, 327, 328, 0, + 730, -586, -587, -586, -587, 659, 0, -586, -587, 0, + -586, -587, 736, 0, 887, 886, 0, 105, 0, 777, + 0, 356, 357, 358, 359, 473, 868, 105, 105, 0, + 0, 0, 432, 545, 0, 883, 660, 360, 883, 0, + 0, 883, 105, 883, 105, 105, 0, 0, 430, 329, + 330, 0, 0, 0, 0, 105, 1034, 0, 1035, 105, + -486, 1036, 362, 105, 759, 760, 0, 0, 105, 364, + 365, 366, 923, 105, 0, -486, 0, -290, 0, 0, + 970, 972, 0, 546, 0, 0, 0, 0, -302, 0, + 432, 883, -290, 0, 789, 0, 367, 702, 795, 0, + 953, 768, 955, -302, 892, 105, 956, 892, 0, 892, + -486, 1016, 0, 430, 105, 0, 0, -486, 883, 0, + 883, 0, 883, 0, 883, 0, 430, -290, 0, 0, + 0, 0, 105, 0, -290, 217, 217, 1031, -302, 0, + 105, 217, 266, 266, 883, -302, 266, 0, 796, 0, + 0, 0, 430, 0, 0, 432, 1021, 892, 0, 0, + 0, 456, 0, 0, 0, 212, 105, 0, 432, 0, + 0, 819, 0, 288, 290, 291, 292, 417, 1004, 1005, + 266, 308, 0, 470, 892, 105, 892, 1032, 892, 470, + 892, 0, 344, 345, 432, 1018, 0, 0, 886, 212, + 1024, 886, 1027, 886, 0, 424, 425, 426, 427, 428, + 892, 0, 1047, 1049, 1051, 0, 1053, 1054, 0, 0, + 337, 327, 328, 0, 0, 851, 348, 349, 350, 351, + 352, 0, 907, 909, 0, 0, 0, 1040, 913, 915, + 1042, 0, 0, 217, 862, 339, 327, 328, 552, 327, + 328, 886, 0, 0, 0, 0, 1071, 1073, 1074, 1075, + 0, 105, 105, 0, 907, 909, 1077, 913, 915, 557, + 327, 328, 1064, 329, 330, 0, 0, 1066, 886, 1068, + 886, 0, 886, 1069, 886, 0, 0, 0, 355, 0, + 356, 357, 358, 359, 0, 105, 0, 0, 329, 330, + 0, 329, 330, 1076, 886, 0, 360, 561, 327, 328, + 0, 755, 0, 356, 357, 358, 359, 0, 212, 0, + 361, 0, 329, 330, 0, 0, 0, 0, 0, 360, + 0, 362, 0, 0, 0, 941, 0, 363, 364, 365, + 366, 562, 327, 328, 979, 0, 750, 327, 328, 217, + 217, 950, 0, 74, 362, 74, 121, 121, -613, 0, + 329, 330, 0, 0, 121, 367, 0, 979, 368, 0, + 105, 247, 0, 0, 248, 249, 0, 0, 105, 105, + 0, 369, 105, 0, 0, 105, 105, 495, 496, 497, + 344, 105, 105, 0, 329, 330, 0, 105, 105, 329, + 330, 266, 944, 74, 251, 266, 0, 121, 0, 217, 217, 105, 0, 0, 105, 0, 355, 0, 356, 357, - 358, 359, 0, 105, 105, 247, 0, 0, 248, 249, + 358, 359, 0, 105, 105, 0, 0, 0, 0, 0, 0, 105, 0, 121, 360, 755, 0, 356, 357, 358, - 359, 0, 105, 105, 414, 415, 0, 0, 361, 0, - 0, 0, 0, 360, 0, 0, 944, 417, 251, 362, - 0, 0, 0, 0, 0, 363, 364, 365, 366, 0, - 74, 0, 0, 0, 217, 217, 217, 217, 362, 217, - 217, 0, 0, 0, 949, 424, 425, 426, 427, 428, - 0, 0, 0, 367, 0, 0, 368, 105, 998, 582, - 356, 357, 358, 359, 0, 0, 0, 105, 105, 369, - 592, 0, 0, 0, 0, 105, 360, 0, 0, 0, + 359, 0, 105, 105, 0, 414, 415, 0, 361, 0, + 0, 0, 0, 360, 0, 0, 0, 0, 417, 362, + 414, 415, 0, 0, 0, 363, 364, 365, 366, 0, + 74, 0, 0, 417, 217, 217, 217, 217, 362, 217, + 217, 0, 0, 0, 756, 423, 424, 425, 426, 427, + 428, 0, 0, 367, 0, 0, 368, 105, 0, 582, + 0, 424, 425, 426, 427, 428, 0, 105, 105, 369, + 592, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 615, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 0, 635, 636, 637, 638, 639, 640, 641, - 642, 643, 644, 645, 646, 0, 0, 266, 0, 0, - 755, 74, 356, 357, 358, 359, 0, 668, 668, 0, - 0, 0, 0, 0, 0, 105, 0, 105, 360, 0, - 105, 0, 266, 0, 0, 217, 0, 0, 0, 0, + 642, 643, 644, 645, 646, 0, 247, 266, 0, 248, + 249, 74, 0, 0, 0, 0, 0, 668, 668, 0, + 0, 0, 0, 0, 0, 105, 0, 105, 0, 0, + 105, 0, 266, 499, 0, 217, 0, 250, 0, 251, 0, 355, 0, 356, 357, 358, 359, 668, 0, 266, - 0, 668, 668, 362, 0, 0, 0, 0, 266, 360, + 0, 668, 668, 0, 0, 0, 0, 0, 266, 360, 0, 0, 0, 0, 0, 0, 0, 713, 105, 0, 716, 0, 0, 0, 717, 0, 0, 720, 0, 723, 0, 308, 292, 0, 362, 414, 415, 0, 74, 0, 363, 364, 365, 366, 0, 74, 74, 0, 417, 668, - 0, 0, 0, 74, 0, 0, 0, 0, 0, 720, + 0, 0, 755, 74, 356, 357, 358, 359, 0, 720, 0, 0, 308, 0, 121, 0, 0, 0, 367, 0, - 0, 368, 266, 421, 422, 423, 424, 425, 426, 427, + 360, 368, 266, 421, 422, 423, 424, 425, 426, 427, 428, 0, 0, 0, 548, 0, 0, 0, 0, 753, - 754, 0, 0, 0, 0, 0, 0, 0, 74, 0, - 0, 0, 0, 74, 0, 0, 763, 0, 0, 0, + 754, 0, 0, 0, 0, 362, 0, 0, 74, 0, + 0, 949, 0, 74, 0, 0, 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, + 0, -613, 0, 74, 0, 780, 0, 355, 787, 356, + 357, 358, 359, 0, -613, -613, -613, -613, -613, -613, + 0, -613, 0, 0, 74, 360, 0, -613, -613, 74, + 121, 0, 74, 0, 0, 0, 0, 0, -613, -613, + 0, -613, -613, -613, -613, -613, 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, -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, + 0, -613, 0, 821, 0, 0, 763, 780, 1019, 0, + 74, 75, 0, 75, 122, 122, -613, 0, 74, 0, + 0, 0, 122, 0, 0, 217, -613, 0, 74, -613, + -613, 0, 0, 0, 0, 846, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 308, 0, 0, 0, -613, + -613, 0, 0, 0, 0, 275, -613, -613, -613, -613, 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, @@ -2821,8 +2821,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, -613, -613, -613, -613, 406, 407, - 0, 84, -613, -613, 0, 0, 0, 0, 102, 0, + 0, 84, 0, 0, -614, -614, -614, -614, 406, 407, + 0, 84, -614, -614, 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, @@ -2878,7 +2878,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, -612, 4, 0, 5, + 0, 0, 0, 0, 0, 0, -613, 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, @@ -2890,10 +2890,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, -292, - 64, -612, 0, 0, -612, -612, 0, 0, 0, 0, + 64, -613, 0, 0, -613, -613, 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, + 0, 0, -613, 0, -613, 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, @@ -2903,90 +2903,90 @@ static const yytype_int16 yytable[] = -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, + -292, -292, -292, 0, 0, -413, 0, 0, -292, -292, + -292, -292, 0, 0, -292, -292, -292, -292, -413, -413, + -413, -413, -413, -413, 0, -413, 0, 0, 0, 0, + 0, -413, -413, -413, 0, 0, 0, 0, 0, 0, + 0, 0, -413, -413, 0, -413, -413, -413, -413, -413, 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, -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, -413, -413, -413, + -413, -413, -413, -413, -413, -413, -413, -413, -413, 0, + 0, 0, 0, -413, -413, -413, 0, 0, -413, 0, + 0, 0, 0, 0, -413, 0, -413, 0, 0, 0, + -413, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -413, 0, 0, -413, -413, 0, 0, -413, 0, -413, + -413, -413, -413, -413, -413, -413, -413, -413, -413, 0, + 0, -479, 0, -413, -413, -413, -413, -413, 0, 275, + -413, -413, -413, -413, -479, -479, -479, -479, -479, -479, + 0, -479, 0, 0, 0, 0, 0, 0, -479, -479, + 0, 0, 0, 0, 0, 0, 0, 0, -479, -479, + 0, -479, -479, -479, -479, -479, 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, -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, -479, -479, -479, -479, -479, -479, -479, + -479, -479, -479, -479, -479, 0, 0, 0, 0, -479, + -479, -479, 0, -479, -479, 0, 0, 0, 0, 0, + -479, 0, -479, 0, 0, 0, -479, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -479, 0, 0, -479, + -479, 0, -479, -479, 0, -479, -479, -479, -479, -479, + -479, -479, -479, -479, -479, 0, 0, -613, 0, 0, + -479, -479, -479, -479, 0, 0, -479, -479, -479, -479, + -613, -613, -613, -613, -613, -613, 0, -613, 0, 0, + 0, 0, 0, -613, -613, -613, 0, 0, 0, 0, + 0, 0, 0, 0, -613, -613, 0, -613, -613, -613, + -613, -613, 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, -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, -613, + -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, + -613, 0, 0, 0, 0, -613, -613, -613, 0, 0, + -613, 0, 0, 0, 0, 0, -613, 0, -613, 0, + 0, 0, -613, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -613, 0, 0, -613, -613, 0, 0, -613, + 0, -613, -613, -613, -613, -613, -613, -613, -613, -613, + -613, 0, 0, -613, 0, -613, -613, -613, -613, -613, + 0, 275, -613, -613, -613, -613, -613, -613, -613, -613, + -613, -613, 0, -613, 0, 0, 0, 0, 0, 0, + -613, -613, 0, 0, 0, 0, 0, 0, 0, 0, + -613, -613, 0, -613, -613, -613, -613, -613, 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, -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, -613, -613, -613, -613, -613, + -613, -613, -613, -613, -613, -613, -613, 0, 0, 0, + 0, -613, -613, -613, 0, 0, -613, 0, 0, 0, + 0, 0, -613, 0, -613, 0, 0, 0, -613, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -613, 0, + 0, -613, -613, 0, 0, -613, 0, -613, -613, -613, + -613, -613, -613, -613, -613, -613, -613, 0, 0, -590, + 0, 0, -613, -613, -613, -613, 0, 275, -613, -613, + -613, -613, -590, -590, -590, 0, -590, -590, 0, -590, + 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -590, -590, 0, -590, + -590, -590, -590, -590, 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, -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, -590, -590, -590, -590, -590, -590, -590, -590, -590, + -590, -590, -590, 0, 0, 0, 0, -590, -590, -590, + 0, 799, -590, 0, 0, 0, 0, 0, 0, 0, + -590, 0, 0, 0, -590, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -590, 0, 0, -590, -590, 0, + -107, -590, 0, -590, -590, -590, -590, -590, -590, -590, + -590, -590, -590, 0, 0, -590, 0, -590, -590, -590, + 0, -99, 0, 0, -590, -590, -590, -590, -590, -590, + -590, 0, -590, -590, 0, -590, 0, 0, 0, 0, + 0, -590, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -590, -590, 0, -590, -590, -590, -590, -590, 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, -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, 0, 0, 0, 0, 0, 0, -590, -590, -590, + -590, -590, -590, -590, -590, -590, -590, -590, -590, 0, + 0, 0, 0, -590, -590, -590, 0, 799, -590, 0, + 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, + -590, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -590, 0, 0, -590, -590, 0, -107, -590, 0, -590, + -590, -590, -590, -590, -590, -590, -590, -590, -590, 0, + 0, -301, 0, -590, -590, -590, 0, -590, 0, 0, + -590, -590, -590, -590, -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, @@ -3014,8 +3014,8 @@ static const yytype_int16 yytable[] = 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, + 7, 8, 9, 10, 11, 12, 13, 14, -613, -613, + -613, 0, 0, -613, 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, @@ -3025,11 +3025,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, - -612, 0, 0, -612, -612, 0, 0, 0, 0, 0, + -613, 0, 0, -613, -613, 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, -612, 294, -612, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 0, 0, -612, 0, -612, -612, + 0, -613, 294, -613, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, -613, 0, -613, -613, 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, @@ -3039,12 +3039,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, -612, 0, 0, -612, - -612, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 61, 62, 63, 0, 64, -613, 0, 0, -613, + -613, 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, -612, 294, -612, + 0, 0, 0, 0, 0, 0, 0, -613, 294, -613, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 0, 0, -612, 0, 0, -612, 15, -612, 16, 17, + 0, 0, -613, 0, 0, -613, 15, -613, 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, @@ -3054,12 +3054,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, -612, 0, 0, -612, -612, 0, 0, 0, + 0, 64, -613, 0, 0, -613, -613, 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, -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, -613, 294, -613, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, 0, -613, 0, + 0, -613, 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, @@ -3068,11 +3068,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, -612, 0, - 0, -612, -612, 4, 0, 5, 6, 7, 8, 9, + 59, 60, 0, 61, 62, 63, 0, 64, -613, 0, + 0, -613, -613, 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, -612, - 0, -612, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 15, 0, 16, 17, 18, 19, 0, 0, -613, + 0, -613, 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, @@ -3080,12 +3080,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, -612, 0, 0, - -612, -612, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 61, 62, 63, 0, 64, -613, 0, 0, + -613, -613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 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, -612, -612, 0, 0, 0, 15, 0, 16, + 0, -613, 0, 0, 0, 0, 0, 0, -613, 294, + -613, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, -613, -613, 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, @@ -3095,10 +3095,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, -612, 0, 0, -612, -612, 294, 0, + 63, 0, 64, -613, 0, 0, -613, -613, 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, -612, 0, -612, 20, 21, 22, + 18, 19, 0, 0, -613, 0, -613, 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, @@ -3107,10 +3107,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, -612, 0, 0, -612, -612, 294, 0, 5, + 0, 64, -613, 0, 0, -613, -613, 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, -612, -612, 0, -612, 20, 21, 22, 23, + 19, 0, -613, -613, 0, -613, 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, @@ -3119,10 +3119,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, -612, 0, 0, -612, -612, 294, 0, 5, 6, + 64, -613, 0, 0, -613, -613, 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, -612, -612, 0, -612, 20, 21, 22, 23, 24, + 0, -613, -613, 0, -613, 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, @@ -3131,11 +3131,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, - -612, 0, 0, -612, -612, 0, 0, 0, 0, 0, + -613, 0, 0, -613, -613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 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, + 66, 67, 0, 0, -613, 0, 0, 0, 0, 0, + 0, -613, 294, -613, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, -613, 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, @@ -3145,10 +3145,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, -612, 0, 0, -612, - -612, 0, 0, 5, 6, 7, 8, 9, 10, 11, + 0, 61, 62, 63, 0, 64, -613, 0, 0, -613, + -613, 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, -612, 0, -612, + 0, 16, 17, 18, 19, 0, 0, -613, 0, -613, 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, @@ -3222,83 +3222,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, -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, 203, 204, -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, -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, 0, 0, 0, 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, -583, -583, + -583, 0, -583, 0, 0, 0, 0, 0, -583, -584, + -584, -584, -584, -584, -584, -584, -584, -584, 0, 0, + 0, 0, 0, 0, 0, -584, 0, -584, -584, -584, + -584, 0, -584, 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, - -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, - 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, + -584, -584, 0, 0, 0, 0, 0, -584, 0, 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, -586, -586, -586, + -586, -586, -586, -586, -586, -586, 0, 0, 0, 0, + -584, -584, -584, -586, -584, -586, -586, -586, -586, 0, + -584, 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, 831, 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, -107, -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, 832, 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, -109, -588, -588, -588, -588, -588, + -588, -588, -588, -588, 0, 0, 0, -587, -587, -587, + 0, -588, 0, -588, -588, -588, -588, -587, 0, 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, -589, -589, -589, -589, -589, -589, -589, + -589, -589, 0, 0, 0, 0, -588, -588, -588, -589, + 0, -589, -589, -589, -589, 0, -588, 0, 0, 0, + -589, -589, -589, -589, -589, -589, -589, 0, 0, -589, + 0, 0, 0, 0, 0, 0, 0, 0, -589, -589, + -589, -589, -589, -589, -589, -589, -589, 0, -589, -589, + -589, 0, 0, -589, 0, 0, -589, -589, 0, -589, + -589, -589, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -589, -589, 0, 0, 0, 0, + 0, -589, 0, 0, -589, -589, 0, -589, -589, 0, + -589, 0, -589, -589, -589, 0, -589, -589, -589, 0, + -589, -589, -589, 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -588, -588, -588, 0, 0, 0, - 0, 0, 0, 0, -588, 131, 132, 133, 134, 135, + 0, 0, 0, 0, -589, -589, -589, 0, 0, 0, + 0, 0, 0, 0, -589, 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, @@ -3754,7 +3754,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 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, 1042, 648, 0, 0, 1043, 0, 203, + 0, 201, 202, 1043, 648, 0, 0, 1044, 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, @@ -3762,8 +3762,8 @@ static const yytype_int16 yytable[] = 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 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, 1054, - 648, 0, 0, 1055, 0, 203, 275, 0, 0, 0, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 1055, + 648, 0, 0, 1056, 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, @@ -3771,7 +3771,7 @@ static const yytype_int16 yytable[] = 190, 0, 0, 0, 0, 0, 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, 1057, 657, 0, 0, 1058, + 199, 200, 0, 201, 202, 1058, 657, 0, 0, 1059, 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, @@ -3843,7 +3843,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, -613, -613, 0, 0, + 406, 407, 408, 409, 410, 411, -614, -614, 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, @@ -3856,181 +3856,181 @@ static const yytype_int16 yycheck[] = 2, 89, 16, 17, 27, 69, 20, 87, 88, 66, 2, 28, 4, 5, 6, 22, 7, 9, 10, 21, 14, 13, 222, 15, 16, 17, 284, 313, 20, 479, - 10, 271, 82, 52, 28, 15, 488, 377, 401, 306, - 54, 55, 2, 310, 4, 4, 16, 17, 56, 7, - 20, 593, 54, 55, 16, 17, 14, 118, 20, 75, - 52, 501, 26, 590, 56, 505, 431, 58, 688, 318, - 28, 330, 74, 75, 66, 756, 505, 91, 429, 699, - 944, 15, 433, 25, 295, 436, 60, 61, 62, 63, - 82, 456, 54, 55, 21, 22, 25, 75, 105, 25, - 58, 544, 5, 6, 57, 51, 457, 536, 473, 111, - 13, 25, 269, 90, 271, 16, 17, 482, 16, 20, - 369, 472, 79, 474, 29, 117, 26, 119, 25, 665, - 666, 969, 483, 783, 90, 69, 25, 25, 218, 372, - 25, 0, 90, 92, 122, 802, 90, 90, 305, 229, - 783, 808, 590, 56, 121, 101, 102, 103, 74, 75, - 393, 105, 90, 16, 17, 608, 90, 20, 121, 126, - 147, 522, 121, 1037, 138, 142, 16, 138, 105, 82, - 144, 546, 128, 331, 111, 112, 334, 398, 336, 52, - 338, 147, 340, 142, 27, 55, 547, 213, 214, 147, - 142, 54, 129, 147, 147, 121, 122, 1045, 113, 289, - 121, 213, 214, 142, 90, 144, 142, 115, 210, 147, - 118, 119, 749, 147, 90, 458, 441, 442, 142, 105, - 144, 223, 224, 297, 761, 315, 214, 92, 138, 105, - 144, 305, 306, 223, 224, 142, 310, 90, 146, 28, - 148, 242, 590, 142, 142, 593, 119, 142, 544, 142, - 386, 275, 388, 313, 140, 279, 121, 269, 949, 271, - 510, 147, 90, 275, 140, 115, 295, 813, 118, 119, - 90, 147, 115, 275, 242, 118, 119, 279, 728, 729, - 51, 283, 284, 90, 55, 287, 555, 213, 214, 548, - 729, 103, 294, 295, 147, 275, 146, 121, 148, 279, - 302, 749, 18, 146, 20, 148, 966, 279, 252, 969, - 940, 313, 608, 761, 687, 92, 128, 869, 115, 147, - 963, 118, 119, 966, 294, 101, 969, 147, 971, 396, - 92, 401, 302, 92, 401, 58, 59, 318, 791, 323, - 147, 144, 509, 510, 121, 347, 348, 349, 350, 351, - 352, 353, 354, 297, 804, 131, 132, 133, 348, 349, - 350, 351, 121, 375, 60, 377, 55, 63, 279, 398, - 372, 441, 442, 125, 441, 442, 1019, 347, 347, 121, - 840, 399, 352, 142, 455, 1045, 61, 92, 369, 64, - 65, 393, 318, 25, 396, 553, 398, 399, 92, 401, - 313, 749, 1045, 90, 1047, 55, 1049, 431, 1051, 37, - 38, 107, 275, 761, 287, 863, 279, 767, 105, 431, - 115, 796, 295, 118, 119, 873, 92, 121, 1071, 431, - 92, 142, 456, 676, 795, 783, 797, 20, 605, 441, - 442, 116, 117, 369, 456, 62, 57, 64, 65, 473, - 718, 431, 464, 140, 456, 121, 458, 459, 482, 121, - 147, 473, 739, 58, 59, 433, 499, 469, 436, 142, - 482, 473, 722, 17, 18, 477, 456, 501, 940, 92, - 482, 505, 542, 138, 544, 487, 399, 92, 655, 457, - 92, 518, 942, 473, 92, 791, 433, 509, 510, 116, - 117, 101, 482, 942, 714, 145, 474, 519, 121, 533, - 661, 26, 536, 664, 518, 483, 121, 519, 966, 121, - 457, 869, 546, 121, 92, 398, 528, 121, 618, 501, - 798, 682, 215, 396, 546, 885, 886, 474, 401, 222, - 542, 784, 544, 92, 546, 141, 483, 714, 608, 519, - 518, 139, 554, 121, 522, 722, 1004, 92, 528, 9, - 10, 533, 881, 882, 508, 15, 546, 548, 811, 121, - 122, 55, 121, 142, 799, 90, 259, 90, 580, 547, - 805, 806, 101, 101, 121, 522, 121, 855, 121, 601, - 105, 92, 105, 142, 142, 576, 469, 599, 121, 849, - 580, 1049, 51, 636, 477, 62, 608, 64, 65, 51, - 547, 142, 593, 856, 487, 596, 142, 142, 966, 599, - 121, 969, 548, 138, 51, 140, 142, 140, 491, 542, - 142, 544, 147, 51, 147, 652, 772, 773, 774, 26, - 776, 142, 778, 655, 661, 16, 15, 664, 2, 661, - 4, 99, 664, 665, 666, 9, 10, 1032, 13, 116, - 117, 15, 16, 17, 347, 739, 20, 117, 1018, 121, - 682, 92, 1033, 675, 676, 687, 688, 121, 361, 922, - 692, 554, 849, 710, 685, 675, 911, 699, 16, 63, - 15, 92, 139, 15, 145, 608, 379, 1045, 52, 145, - 121, 142, 142, 90, 728, 729, 710, 709, 142, 15, - 722, 809, 66, 142, 44, 652, 926, 685, 105, 709, - 121, 142, 932, 793, 661, 121, 793, 664, 141, 799, - 141, 791, 799, 800, 15, 805, 806, 141, 805, 806, - 18, 142, 710, 680, 115, 682, 141, 118, 119, 90, - 139, 138, 15, 140, 583, 767, 728, 144, 587, 16, - 147, 139, 141, 117, 105, 119, 139, 142, 44, 57, + 10, 271, 82, 52, 28, 15, 488, 377, 4, 306, + 54, 55, 2, 310, 4, 56, 16, 17, 593, 7, + 20, 401, 54, 55, 16, 17, 14, 118, 20, 756, + 52, 501, 783, 590, 56, 505, 431, 58, 688, 544, + 28, 330, 74, 75, 66, 75, 505, 91, 429, 699, + 25, 15, 433, 25, 295, 436, 60, 61, 62, 63, + 82, 456, 54, 55, 21, 22, 318, 969, 105, 75, + 58, 944, 5, 6, 25, 57, 457, 536, 473, 111, + 13, 25, 269, 90, 271, 16, 17, 482, 26, 20, + 29, 472, 122, 474, 0, 117, 79, 119, 27, 665, + 666, 144, 483, 608, 138, 69, 90, 92, 218, 372, + 25, 90, 590, 26, 55, 593, 90, 369, 305, 229, + 90, 25, 590, 56, 25, 25, 105, 103, 74, 75, + 393, 105, 802, 16, 17, 121, 121, 20, 808, 121, + 147, 522, 90, 126, 1046, 18, 16, 20, 105, 82, + 28, 546, 128, 331, 111, 112, 334, 398, 336, 52, + 338, 140, 340, 147, 1037, 144, 547, 142, 147, 144, + 142, 54, 129, 147, 113, 121, 122, 147, 121, 289, + 92, 213, 214, 401, 214, 92, 115, 90, 210, 118, + 119, 142, 749, 144, 57, 458, 441, 442, 142, 147, + 138, 223, 224, 297, 761, 315, 144, 213, 214, 121, + 142, 305, 306, 223, 224, 966, 310, 146, 969, 148, + 144, 242, 949, 441, 442, 138, 119, 142, 544, 121, + 386, 275, 388, 313, 125, 279, 55, 269, 142, 271, + 510, 142, 142, 275, 147, 115, 295, 813, 118, 119, + 142, 90, 115, 275, 242, 118, 119, 279, 728, 729, + 123, 283, 284, 90, 90, 287, 555, 213, 214, 92, + 729, 749, 294, 295, 92, 275, 146, 92, 148, 279, + 302, 749, 92, 761, 121, 148, 791, 279, 252, 90, + 940, 313, 608, 761, 869, 1046, 548, 51, 121, 53, + 54, 55, 56, 121, 294, 783, 121, 687, 147, 396, + 92, 121, 302, 90, 401, 69, 58, 59, 92, 323, + 147, 147, 509, 510, 142, 347, 348, 349, 350, 351, + 352, 353, 354, 297, 804, 37, 38, 55, 348, 349, + 350, 351, 25, 375, 92, 377, 147, 121, 279, 398, + 372, 347, 142, 92, 441, 442, 51, 347, 399, 20, + 840, 92, 352, 51, 455, 53, 54, 55, 56, 92, + 147, 393, 318, 121, 396, 553, 398, 399, 90, 401, + 313, 69, 121, 58, 59, 51, 92, 431, 142, 55, + 121, 869, 275, 105, 287, 863, 279, 767, 121, 431, + 57, 796, 295, 142, 142, 873, 101, 102, 103, 431, + 92, 142, 456, 676, 795, 121, 797, 138, 605, 441, + 442, 101, 661, 369, 456, 664, 17, 18, 140, 473, + 718, 431, 464, 128, 456, 147, 458, 459, 482, 121, + 145, 473, 739, 682, 121, 433, 499, 469, 436, 101, + 482, 473, 722, 139, 142, 477, 456, 501, 940, 55, + 482, 505, 542, 141, 544, 487, 399, 101, 655, 457, + 142, 518, 942, 473, 92, 791, 433, 509, 510, 131, + 132, 133, 482, 942, 714, 101, 474, 519, 966, 533, + 121, 969, 536, 26, 518, 483, 60, 519, 966, 63, + 457, 121, 546, 121, 142, 398, 528, 51, 618, 501, + 798, 51, 215, 396, 546, 885, 886, 474, 401, 222, + 542, 784, 544, 92, 546, 142, 483, 714, 608, 519, + 518, 142, 554, 115, 522, 722, 118, 119, 528, 9, + 10, 533, 142, 107, 508, 15, 546, 90, 811, 881, + 882, 51, 121, 142, 799, 121, 259, 90, 580, 547, + 805, 806, 105, 92, 146, 522, 148, 855, 1046, 601, + 142, 1039, 105, 142, 51, 793, 469, 599, 16, 849, + 580, 799, 1050, 636, 477, 99, 608, 805, 806, 318, + 547, 15, 121, 856, 487, 121, 122, 140, 13, 599, + 121, 121, 548, 16, 147, 138, 63, 140, 491, 542, + 15, 544, 142, 142, 147, 652, 772, 773, 774, 26, + 776, 145, 778, 655, 661, 16, 145, 664, 2, 661, + 4, 139, 664, 665, 666, 9, 10, 1032, 142, 92, + 369, 15, 16, 17, 347, 739, 20, 117, 1018, 142, + 682, 15, 1033, 675, 676, 687, 688, 15, 361, 922, + 692, 554, 849, 710, 685, 675, 911, 699, 121, 44, + 115, 142, 121, 118, 119, 608, 379, 115, 52, 141, + 118, 119, 141, 90, 728, 729, 710, 709, 15, 142, + 722, 809, 66, 911, 18, 652, 926, 685, 105, 709, + 145, 146, 932, 148, 661, 141, 793, 664, 146, 141, + 148, 791, 799, 800, 63, 64, 65, 115, 805, 806, + 118, 119, 710, 680, 115, 682, 15, 118, 119, 90, + 139, 138, 142, 140, 44, 767, 728, 144, 115, 16, + 147, 118, 119, 117, 105, 119, 139, 141, 57, 139, 1038, 142, 796, 223, 224, 146, 142, 148, 142, 142, - 804, 142, 784, 44, 796, 15, 37, 38, 93, 791, - 792, 793, 90, 14, 796, 478, 479, 799, 800, 140, - 15, 813, 783, 805, 806, 15, 147, 105, 145, 811, - 812, 823, 15, 142, 826, 142, 796, 953, 954, 955, + 804, 583, 784, 142, 796, 587, 44, 116, 117, 791, + 792, 793, 90, 26, 796, 478, 479, 799, 800, 140, + 15, 813, 93, 805, 806, 14, 147, 105, 15, 811, + 812, 823, 15, 145, 826, 142, 796, 953, 954, 955, 956, 142, 792, 825, 687, 142, 828, 61, 142, 797, - 64, 65, 804, 283, 284, 837, 838, 849, 828, 141, - 15, 911, 140, 845, 911, 528, 299, 139, 15, 147, - 303, 15, 535, 15, 856, 857, 210, 90, 115, 139, - 797, 118, 119, 142, 115, 90, 126, 118, 119, 223, - 224, 142, 105, 885, 886, 583, 126, 55, 791, 860, - 105, 883, 116, 117, 139, 15, 888, 55, 869, 146, - 871, 148, 15, 90, 875, 146, 986, 148, 348, 349, - 350, 351, 142, 353, 354, 1041, 142, 140, 105, 911, - 142, 144, 519, 142, 147, 140, 57, 144, 942, 921, - 922, 275, 147, 925, 142, 279, 142, 929, 940, 283, - 284, 144, 141, 287, 441, 442, 142, 13, 6, 812, - 294, 295, 51, 140, 53, 54, 55, 56, 302, 1035, - 147, 783, 825, 1037, 783, 810, 1034, 63, 64, 65, - 69, 254, 26, 7, 837, 838, 999, 948, 475, 476, - 883, 583, 845, 966, 115, 888, -1, 118, 119, 26, - 963, -1, 123, -1, 857, -1, -1, 989, 969, 991, - 971, 674, 994, 347, 348, 349, 350, 351, 352, 353, - 354, -1, -1, -1, 90, -1, 1018, 148, 1032, 459, - 116, 117, 925, -1, -1, -1, 523, -1, 372, 105, - 1032, 90, 1034, 1035, -1, 1006, 90, -1, 1009, -1, - 1032, 714, -1, 142, 890, 891, 105, -1, -1, 393, - -1, 105, 396, 90, 398, -1, -1, 401, 921, -1, - -1, -1, 1032, 506, 140, -1, 929, -1, 105, 1040, - 513, 147, -1, -1, 1045, 1033, 1047, 26, -1, -1, - 1051, 140, 525, -1, 138, 783, 140, 431, 147, 90, - 144, -1, -1, 147, -1, -1, 769, 441, 442, -1, - 1071, 138, -1, 140, 105, -1, 1033, 144, 90, 90, - 147, -1, 456, -1, 458, 459, -1, -1, -1, -1, - 966, -1, -1, 105, 105, 469, 989, -1, 991, 473, - -1, 994, -1, 477, 577, 578, 90, -1, 482, 140, - -1, 90, 815, 487, 963, -1, 147, 966, -1, -1, - 969, 105, 971, -1, -1, -1, 105, -1, 140, 140, - 26, 63, 64, 65, 607, 147, 147, 840, -1, 51, - -1, 53, 54, 55, 56, 519, 1022, 1023, 1024, -1, - 1026, 1027, -1, -1, 528, -1, 140, 69, -1, 138, - -1, 140, -1, 147, -1, 144, -1, -1, 147, -1, - 1019, -1, 546, -1, 115, 9, 10, 118, 119, -1, - 554, 15, 16, 17, 116, 117, 20, -1, -1, 1065, - 1066, 1067, 1068, -1, 90, -1, 1045, -1, 1047, 1075, - 1049, -1, 1051, -1, -1, 675, 580, 148, -1, 105, - -1, 684, -1, 47, 48, 49, 50, 63, 64, 65, - 54, 55, 1071, 926, 101, 599, -1, -1, -1, 932, - 142, -1, 66, 67, -1, 963, -1, -1, 966, 709, - -1, 969, 138, 971, 140, 63, 64, 65, 144, -1, - -1, 147, 129, 130, 131, 132, 133, 51, -1, 53, - 54, 55, 56, -1, 115, 738, -1, 118, 119, -1, - 116, 117, 799, 800, -1, 69, -1, -1, 805, 806, - 63, 64, 65, 117, 757, 63, 64, 65, 63, 64, - 65, 1019, 63, 64, 65, 146, -1, 148, 116, 117, - 94, 675, 676, -1, 831, 832, 100, 834, 835, -1, - 51, -1, 53, 54, 55, 56, -1, 1045, -1, 1047, - -1, 1049, 51, 1051, 53, 54, 55, 56, 69, -1, - -1, -1, -1, 116, 117, 709, 88, 89, 116, 117, - 69, 116, 117, 1071, -1, 116, 117, -1, -1, 101, - -1, -1, 115, 94, 83, 118, 119, -1, 828, -1, - 101, 102, 103, -1, -1, 94, 40, 41, 42, 43, - 44, 100, 101, 102, 103, 848, 128, 129, 130, 131, - 132, 133, 145, 146, 911, 148, -1, 128, -1, 223, - 224, 864, 121, 2, -1, 4, 5, 6, -1, 128, - -1, -1, 131, -1, 13, -1, -1, 934, -1, 115, - 784, -1, 118, 119, -1, 144, -1, -1, 792, 793, - -1, -1, 796, -1, -1, 799, 800, 261, 262, 263, - 264, 805, 806, -1, -1, -1, 142, 811, 812, -1, - 146, 275, 148, 52, -1, 279, -1, 56, -1, 283, + 64, 65, 804, 283, 284, 837, 838, 849, 828, 548, + 142, 15, 140, 845, 911, 528, 299, 141, 15, 147, + 303, 139, 535, 15, 856, 857, 210, 90, 115, 15, + 797, 118, 119, 15, 139, 37, 38, 576, 142, 223, + 224, 126, 105, 885, 886, 583, 61, 126, 791, 64, + 65, 883, 116, 117, 593, 55, 888, 596, 139, 146, + 51, 148, 53, 54, 55, 56, 986, 15, 348, 349, + 350, 351, 55, 353, 354, 138, 1042, 140, 69, 911, + 142, 144, 142, 142, 147, 783, 142, 142, 942, 921, + 922, 275, 26, 925, 142, 279, 142, 929, 940, 283, + 284, 116, 117, 287, 441, 442, 15, 141, 144, 812, + 294, 295, 144, 115, 142, 519, 118, 119, 302, 26, + 26, 13, 825, 6, 1035, 783, 62, 115, 64, 65, + 118, 119, 1037, 810, 837, 838, 999, 90, 475, 476, + 883, 1034, 845, 254, 146, 888, 148, 7, 583, -1, + 963, 783, 105, -1, 857, 966, 90, 989, 90, 991, + 148, 674, 994, 347, 348, 349, 350, 351, 352, 353, + 354, 105, -1, 105, -1, -1, 1018, -1, 1032, 459, + 116, 117, 925, 90, 90, -1, 523, 140, 372, -1, + 1032, -1, 1034, 1035, 147, -1, -1, -1, 105, 105, + 1032, 714, -1, -1, 138, 90, 140, -1, 140, 393, + 144, -1, 396, 147, 398, 147, -1, 401, 921, -1, + 105, -1, 1032, 506, -1, 62, 929, 64, 65, -1, + 513, 138, 138, 140, 140, 1033, -1, 144, 144, -1, + 147, 147, 525, -1, 783, 783, -1, 431, -1, 51, + -1, 53, 54, 55, 56, 140, 769, 441, 442, -1, + -1, -1, 147, 90, -1, 963, 1033, 69, 966, -1, + -1, 969, 456, 971, 458, 459, -1, -1, 105, 116, + 117, -1, -1, -1, -1, 469, 989, -1, 991, 473, + 90, 994, 94, 477, 577, 578, -1, -1, 482, 101, + 102, 103, 815, 487, -1, 105, -1, 90, -1, -1, + 890, 891, -1, 140, -1, -1, -1, -1, 90, -1, + 147, 1019, 105, -1, 607, -1, 128, 840, 90, -1, + 869, 963, 871, 105, 966, 519, 875, 969, -1, 971, + 140, 90, -1, 105, 528, -1, -1, 147, 1046, -1, + 1048, -1, 1050, -1, 1052, -1, 105, 140, -1, -1, + -1, -1, 546, -1, 147, 9, 10, 90, 140, -1, + 554, 15, 16, 17, 1072, 147, 20, -1, 140, -1, + -1, -1, 105, -1, -1, 147, 966, 1019, -1, -1, + -1, 140, -1, -1, -1, 675, 580, -1, 147, -1, + -1, 684, -1, 47, 48, 49, 50, 101, 947, 948, + 54, 55, -1, 926, 1046, 599, 1048, 140, 1050, 932, + 1052, -1, 66, 67, 147, 963, -1, -1, 966, 709, + 969, 969, 971, 971, -1, 129, 130, 131, 132, 133, + 1072, -1, 1022, 1023, 1024, -1, 1026, 1027, -1, -1, + 63, 64, 65, -1, -1, 738, 40, 41, 42, 43, + 44, -1, 799, 800, -1, -1, -1, 1006, 805, 806, + 1009, -1, -1, 117, 757, 63, 64, 65, 63, 64, + 65, 1019, -1, -1, -1, -1, 1066, 1067, 1068, 1069, + -1, 675, 676, -1, 831, 832, 1076, 834, 835, 63, + 64, 65, 1041, 116, 117, -1, -1, 1046, 1046, 1048, + 1048, -1, 1050, 1052, 1052, -1, -1, -1, 51, -1, + 53, 54, 55, 56, -1, 709, -1, -1, 116, 117, + -1, 116, 117, 1072, 1072, -1, 69, 63, 64, 65, + -1, 51, -1, 53, 54, 55, 56, -1, 828, -1, + 83, -1, 116, 117, -1, -1, -1, -1, -1, 69, + -1, 94, -1, -1, -1, 848, -1, 100, 101, 102, + 103, 63, 64, 65, 911, -1, 63, 64, 65, 223, + 224, 864, -1, 2, 94, 4, 5, 6, 121, -1, + 116, 117, -1, -1, 13, 128, -1, 934, 131, -1, + 784, 115, -1, -1, 118, 119, -1, -1, 792, 793, + -1, 144, 796, -1, -1, 799, 800, 261, 262, 263, + 264, 805, 806, -1, 116, 117, -1, 811, 812, 116, + 117, 275, 146, 52, 148, 279, -1, 56, -1, 283, 284, 825, -1, -1, 828, -1, 51, -1, 53, 54, - 55, 56, -1, 837, 838, 115, -1, -1, 118, 119, + 55, 56, -1, 837, 838, -1, -1, -1, -1, -1, -1, 845, -1, 82, 69, 51, -1, 53, 54, 55, - 56, -1, 856, 857, 88, 89, -1, -1, 83, -1, - -1, -1, -1, 69, -1, -1, 146, 101, 148, 94, - -1, -1, -1, -1, -1, 100, 101, 102, 103, -1, - 119, -1, -1, -1, 348, 349, 350, 351, 94, 353, - 354, -1, -1, -1, 100, 129, 130, 131, 132, 133, - -1, -1, -1, 128, -1, -1, 131, 911, 51, 373, - 53, 54, 55, 56, -1, -1, -1, 921, 922, 144, - 384, -1, -1, -1, -1, 929, 69, -1, -1, -1, + 56, -1, 856, 857, -1, 88, 89, -1, 83, -1, + -1, -1, -1, 69, -1, -1, -1, -1, 101, 94, + 88, 89, -1, -1, -1, 100, 101, 102, 103, -1, + 119, -1, -1, 101, 348, 349, 350, 351, 94, 353, + 354, -1, -1, -1, 100, 128, 129, 130, 131, 132, + 133, -1, -1, 128, -1, -1, 131, 911, -1, 373, + -1, 129, 130, 131, 132, 133, -1, 921, 922, 144, + 384, -1, -1, -1, -1, 929, -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, -1, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, -1, -1, 431, -1, -1, - 51, 210, 53, 54, 55, 56, -1, 441, 442, -1, - -1, -1, -1, -1, -1, 989, -1, 991, 69, -1, - 994, -1, 456, -1, -1, 459, -1, -1, -1, -1, + 424, 425, 426, 427, 428, -1, 115, 431, -1, 118, + 119, 210, -1, -1, -1, -1, -1, 441, 442, -1, + -1, -1, -1, -1, -1, 989, -1, 991, -1, -1, + 994, -1, 456, 142, -1, 459, -1, 146, -1, 148, -1, 51, -1, 53, 54, 55, 56, 471, -1, 473, - -1, 475, 476, 94, -1, -1, -1, -1, 482, 69, + -1, 475, 476, -1, -1, -1, -1, -1, 482, 69, -1, -1, -1, -1, -1, -1, -1, 491, 1032, -1, 494, -1, -1, -1, 498, -1, -1, 501, -1, 503, -1, 505, 506, -1, 94, 88, 89, -1, 287, -1, 100, 101, 102, 103, -1, 294, 295, -1, 101, 523, - -1, -1, -1, 302, -1, -1, -1, -1, -1, 533, + -1, -1, 51, 302, 53, 54, 55, 56, -1, 533, -1, -1, 536, -1, 313, -1, -1, -1, 128, -1, - -1, 131, 546, 126, 127, 128, 129, 130, 131, 132, + 69, 131, 546, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, 144, -1, -1, -1, -1, 563, - 564, -1, -1, -1, -1, -1, -1, -1, 347, -1, - -1, -1, -1, 352, -1, -1, 580, -1, -1, -1, + 564, -1, -1, -1, -1, 94, -1, -1, 347, -1, + -1, 100, -1, 352, -1, -1, 580, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 372, -1, 599, -1, 51, 602, 53, 54, 55, 56, -1, 13, 14, 15, 16, 17, 18, @@ -5206,11 +5206,11 @@ static const yytype_int16 yystos[] = 85, 91, 94, 95, 97, 98, 100, 104, 106, 107, 108, 110, 111, 112, 114, 134, 135, 136, 152, 153, 154, 159, 161, 163, 164, 165, 168, 169, 172, 173, - 175, 176, 177, 179, 180, 189, 203, 220, 240, 241, - 251, 252, 253, 257, 258, 259, 265, 266, 267, 269, - 270, 271, 272, 273, 274, 310, 323, 154, 21, 22, + 175, 176, 177, 179, 180, 189, 203, 220, 241, 242, + 252, 253, 254, 258, 259, 260, 266, 267, 268, 270, + 271, 272, 273, 274, 275, 311, 324, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 164, 165, 181, 182, 203, 220, 271, 274, 310, + 134, 164, 165, 181, 182, 203, 220, 272, 275, 311, 182, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, @@ -5218,94 +5218,94 @@ static const yytype_int16 yystos[] = 50, 51, 52, 55, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 86, 87, 88, 89, 100, 101, 102, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 135, 136, 143, 144, 183, 187, 188, 273, 305, - 204, 91, 163, 164, 165, 167, 180, 189, 220, 271, - 272, 274, 167, 210, 212, 69, 91, 173, 180, 220, - 225, 271, 274, 33, 34, 35, 36, 48, 49, 50, - 51, 55, 106, 183, 184, 185, 267, 115, 118, 119, - 146, 148, 167, 261, 262, 263, 316, 320, 321, 322, + 133, 135, 136, 143, 144, 183, 187, 188, 274, 306, + 204, 91, 163, 164, 165, 167, 180, 189, 220, 272, + 273, 275, 167, 210, 212, 69, 91, 173, 180, 220, + 225, 272, 275, 33, 34, 35, 36, 48, 49, 50, + 51, 55, 106, 183, 184, 185, 268, 115, 118, 119, + 146, 148, 167, 262, 263, 264, 317, 321, 322, 323, 51, 100, 102, 103, 135, 172, 189, 195, 198, 201, - 253, 308, 309, 195, 195, 144, 192, 193, 196, 197, - 323, 192, 196, 144, 317, 184, 155, 138, 189, 220, + 254, 309, 310, 195, 195, 144, 192, 193, 196, 197, + 324, 192, 196, 144, 318, 184, 155, 138, 189, 220, 189, 189, 189, 55, 1, 94, 157, 158, 159, 174, - 175, 323, 205, 207, 190, 201, 308, 323, 189, 307, - 308, 323, 91, 142, 179, 220, 271, 274, 208, 53, - 54, 56, 63, 107, 183, 268, 63, 64, 65, 116, - 117, 254, 255, 61, 254, 62, 254, 63, 254, 63, - 254, 58, 59, 168, 189, 189, 316, 322, 40, 41, + 175, 324, 205, 207, 190, 201, 309, 324, 189, 308, + 309, 324, 91, 142, 179, 220, 272, 275, 208, 53, + 54, 56, 63, 107, 183, 269, 63, 64, 65, 116, + 117, 255, 256, 61, 255, 62, 255, 63, 255, 63, + 255, 58, 59, 168, 189, 189, 317, 323, 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, 56, 69, 83, 94, 100, 101, 102, 103, 128, 131, 144, - 277, 278, 279, 280, 281, 284, 285, 286, 287, 289, - 290, 291, 292, 294, 295, 296, 299, 300, 301, 302, - 303, 323, 277, 279, 28, 238, 121, 142, 94, 100, + 278, 279, 280, 281, 282, 285, 286, 287, 288, 290, + 291, 292, 293, 295, 296, 297, 300, 301, 302, 303, + 304, 324, 278, 280, 28, 239, 121, 142, 94, 100, 176, 121, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 88, 89, 93, 101, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 90, - 105, 140, 147, 314, 90, 314, 315, 26, 138, 242, - 253, 92, 92, 192, 196, 242, 163, 51, 55, 181, - 58, 59, 278, 125, 275, 90, 140, 314, 219, 306, - 90, 147, 313, 156, 157, 55, 277, 277, 16, 221, - 320, 121, 90, 140, 314, 92, 92, 221, 167, 167, - 55, 90, 140, 314, 25, 107, 142, 264, 316, 115, - 263, 20, 245, 320, 57, 189, 189, 189, 93, 142, - 199, 200, 323, 57, 199, 200, 85, 194, 195, 201, - 308, 323, 195, 163, 316, 318, 163, 321, 160, 138, - 157, 90, 314, 92, 159, 174, 145, 316, 322, 318, - 159, 318, 141, 200, 319, 322, 200, 319, 139, 319, - 55, 176, 177, 178, 142, 90, 140, 314, 144, 236, - 289, 294, 63, 254, 256, 260, 261, 63, 255, 61, + 105, 140, 147, 315, 90, 315, 316, 26, 138, 243, + 254, 92, 92, 192, 196, 243, 163, 51, 55, 181, + 58, 59, 279, 125, 276, 90, 140, 315, 219, 307, + 90, 147, 314, 156, 157, 55, 278, 278, 16, 221, + 321, 121, 90, 140, 315, 92, 92, 221, 167, 167, + 55, 90, 140, 315, 25, 107, 142, 265, 317, 115, + 264, 20, 246, 321, 57, 189, 189, 189, 93, 142, + 199, 200, 324, 57, 199, 200, 85, 194, 195, 201, + 309, 324, 195, 163, 317, 319, 163, 322, 160, 138, + 157, 90, 315, 92, 159, 174, 145, 317, 323, 319, + 159, 319, 141, 200, 320, 323, 200, 320, 139, 320, + 55, 176, 177, 178, 142, 90, 140, 315, 144, 237, + 290, 295, 63, 255, 257, 261, 262, 63, 256, 61, 62, 63, 63, 101, 101, 154, 167, 167, 167, 167, - 159, 163, 163, 57, 121, 320, 293, 85, 289, 294, - 121, 156, 189, 142, 304, 323, 51, 142, 304, 320, - 142, 288, 189, 142, 288, 51, 142, 288, 51, 121, - 156, 239, 100, 168, 189, 201, 202, 174, 142, 179, - 142, 161, 162, 168, 180, 189, 191, 202, 220, 274, + 159, 163, 163, 57, 121, 321, 294, 85, 290, 295, + 121, 156, 189, 142, 305, 324, 51, 142, 305, 321, + 142, 289, 189, 142, 289, 51, 142, 289, 51, 121, + 156, 240, 100, 168, 189, 201, 202, 174, 142, 179, + 142, 161, 162, 168, 180, 189, 191, 202, 220, 275, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 52, 55, - 187, 192, 311, 312, 194, 201, 51, 52, 55, 187, - 192, 311, 51, 55, 311, 244, 243, 162, 189, 191, - 162, 191, 99, 170, 217, 276, 216, 51, 55, 181, - 311, 194, 311, 156, 163, 166, 15, 13, 247, 323, + 187, 192, 312, 313, 194, 201, 51, 52, 55, 187, + 192, 312, 51, 55, 312, 245, 244, 162, 189, 191, + 162, 191, 99, 170, 217, 277, 216, 51, 55, 181, + 312, 194, 312, 156, 163, 166, 15, 13, 248, 324, 121, 121, 157, 16, 51, 55, 194, 51, 55, 157, - 27, 222, 320, 222, 51, 55, 194, 51, 55, 214, - 186, 157, 245, 189, 201, 15, 189, 189, 317, 100, - 189, 198, 308, 189, 309, 318, 145, 316, 200, 200, - 318, 145, 184, 152, 139, 191, 318, 159, 206, 308, - 176, 178, 51, 55, 194, 51, 55, 289, 209, 142, - 63, 157, 261, 189, 189, 51, 100, 226, 294, 318, - 318, 142, 172, 189, 15, 51, 281, 286, 303, 85, - 287, 292, 299, 301, 294, 296, 301, 51, 294, 172, - 189, 15, 79, 126, 230, 231, 323, 189, 200, 318, - 178, 142, 44, 121, 44, 90, 140, 314, 317, 92, + 27, 222, 321, 222, 51, 55, 194, 51, 55, 214, + 186, 157, 246, 189, 201, 15, 189, 189, 318, 100, + 189, 198, 309, 189, 310, 319, 145, 317, 200, 200, + 319, 145, 184, 152, 139, 191, 319, 159, 206, 309, + 176, 178, 51, 55, 194, 51, 55, 290, 209, 142, + 63, 157, 262, 189, 189, 51, 100, 226, 295, 319, + 319, 142, 172, 189, 15, 51, 282, 287, 304, 85, + 288, 293, 300, 302, 295, 297, 302, 51, 295, 172, + 189, 15, 79, 126, 231, 232, 324, 189, 200, 319, + 178, 142, 44, 121, 44, 90, 140, 315, 318, 92, 92, 192, 196, 141, 200, 92, 92, 193, 196, 193, - 196, 230, 230, 171, 320, 167, 156, 141, 15, 318, - 183, 189, 202, 248, 323, 18, 224, 323, 17, 223, + 196, 231, 231, 171, 321, 167, 156, 141, 15, 319, + 183, 189, 202, 249, 324, 18, 224, 324, 17, 223, 224, 92, 92, 141, 92, 92, 224, 211, 213, 141, - 167, 184, 139, 15, 200, 221, 189, 199, 85, 308, - 139, 318, 319, 141, 233, 317, 29, 113, 237, 139, - 142, 291, 318, 142, 85, 44, 44, 304, 320, 142, - 288, 142, 288, 142, 288, 142, 288, 288, 44, 44, - 227, 229, 232, 280, 282, 283, 286, 294, 295, 297, - 298, 301, 303, 156, 100, 189, 178, 159, 189, 51, + 167, 184, 139, 15, 200, 221, 189, 199, 85, 309, + 139, 319, 320, 141, 234, 318, 29, 113, 238, 139, + 142, 292, 319, 142, 85, 44, 44, 305, 321, 142, + 289, 142, 289, 142, 289, 142, 289, 289, 44, 44, + 228, 230, 233, 281, 283, 284, 287, 295, 296, 298, + 299, 302, 304, 156, 100, 189, 178, 159, 189, 51, 55, 194, 51, 55, 57, 123, 162, 191, 168, 191, - 170, 92, 162, 191, 162, 191, 170, 242, 238, 156, - 157, 230, 218, 320, 15, 93, 249, 323, 157, 14, - 250, 323, 167, 15, 92, 15, 157, 157, 222, 189, - 157, 318, 200, 145, 146, 156, 157, 294, 142, 100, - 318, 189, 189, 294, 301, 294, 294, 189, 189, 233, - 233, 91, 220, 142, 304, 304, 142, 228, 220, 142, - 228, 142, 228, 15, 189, 141, 189, 189, 162, 191, - 15, 139, 157, 156, 91, 180, 220, 271, 274, 221, - 157, 221, 15, 15, 215, 224, 245, 246, 51, 234, - 235, 290, 15, 139, 142, 294, 142, 291, 288, 142, - 288, 288, 288, 126, 126, 55, 90, 282, 286, 142, - 227, 228, 298, 301, 294, 297, 301, 294, 139, 15, - 55, 90, 140, 314, 157, 157, 157, 142, 317, 294, - 142, 294, 51, 55, 304, 142, 228, 142, 228, 142, - 228, 142, 228, 228, 51, 55, 194, 51, 55, 247, - 223, 15, 235, 294, 288, 294, 301, 294, 294, 141, - 228, 142, 228, 228, 228, 294, 228 + 170, 92, 162, 191, 162, 191, 170, 243, 239, 156, + 157, 231, 218, 321, 15, 93, 250, 324, 157, 14, + 251, 324, 167, 15, 92, 15, 157, 157, 222, 189, + 157, 319, 200, 145, 146, 156, 157, 227, 142, 100, + 319, 189, 189, 295, 302, 295, 295, 189, 189, 234, + 234, 91, 220, 142, 305, 305, 142, 229, 220, 142, + 229, 142, 229, 15, 189, 141, 189, 189, 162, 191, + 15, 139, 157, 156, 91, 180, 220, 272, 275, 221, + 157, 221, 15, 15, 215, 224, 246, 247, 51, 235, + 236, 291, 15, 139, 295, 295, 142, 292, 289, 142, + 289, 289, 289, 126, 126, 55, 90, 283, 287, 142, + 228, 229, 299, 302, 295, 298, 302, 295, 139, 15, + 55, 90, 140, 315, 157, 157, 157, 142, 318, 142, + 295, 142, 295, 51, 55, 305, 142, 229, 142, 229, + 142, 229, 142, 229, 229, 51, 55, 194, 51, 55, + 248, 223, 15, 236, 295, 289, 295, 302, 295, 295, + 141, 229, 142, 229, 229, 229, 295, 229 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -5347,32 +5347,32 @@ static const yytype_int16 yyr1[] = 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, 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, - 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 + 226, 227, 226, 228, 228, 228, 228, 229, 229, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 231, 231, 233, 232, 232, 232, + 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, + 240, 239, 241, 241, 241, 241, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 244, 243, 245, 243, 246, + 247, 247, 248, 248, 249, 249, 249, 250, 250, 251, + 251, 252, 252, 252, 252, 253, 253, 254, 254, 254, + 254, 255, 255, 256, 257, 256, 256, 256, 258, 258, + 259, 259, 260, 261, 261, 262, 262, 263, 263, 264, + 265, 264, 266, 266, 267, 267, 268, 269, 269, 269, + 269, 269, 269, 270, 270, 271, 271, 271, 271, 272, + 272, 272, 272, 272, 273, 273, 274, 274, 274, 274, + 274, 274, 274, 274, 275, 275, 276, 277, 276, 278, + 278, 279, 279, 279, 280, 280, 280, 280, 281, 282, + 282, 283, 283, 284, 284, 285, 285, 286, 286, 287, + 287, 288, 288, 288, 288, 289, 289, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 291, 291, 291, 291, 291, 292, 292, 293, + 294, 293, 295, 295, 296, 297, 298, 299, 299, 300, + 300, 301, 301, 302, 302, 303, 303, 304, 304, 305, + 305, 306, 307, 306, 308, 308, 309, 309, 310, 310, + 310, 310, 310, 311, 311, 311, 312, 312, 312, 312, + 313, 313, 313, 314, 314, 315, 315, 316, 316, 317, + 317, 318, 318, 319, 320, 320, 320, 321, 321, 322, + 322, 323, 323, 324 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -5414,32 +5414,32 @@ static const yytype_int8 yyr2[] = 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, 0, 4, 4, 2, 2, 1, 2, 0, 6, + 8, 4, 6, 4, 3, 6, 2, 4, 6, 2, + 4, 2, 4, 1, 1, 1, 0, 4, 1, 4, + 1, 4, 1, 3, 1, 1, 4, 1, 3, 3, + 0, 5, 2, 4, 5, 5, 2, 4, 4, 3, + 3, 3, 2, 1, 4, 0, 5, 0, 5, 5, + 1, 1, 6, 1, 1, 1, 1, 2, 1, 2, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, + 3, 1, 2, 1, 0, 4, 1, 2, 2, 3, + 2, 3, 1, 1, 2, 1, 2, 1, 2, 1, + 0, 4, 2, 3, 1, 4, 2, 1, 1, 1, + 1, 1, 2, 2, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 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 + 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, 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 }; @@ -8443,346 +8443,356 @@ yyreduce: case 356: #line 2964 "mrbgems/mruby-compiler/core/parse.y" { + local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); } -#line 8449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8450 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: -#line 2968 "mrbgems/mruby-compiler/core/parse.y" +#line 2969 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); } -#line 8457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8458 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: -#line 2972 "mrbgems/mruby-compiler/core/parse.y" +#line 2973 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); } -#line 8465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8466 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: -#line 2976 "mrbgems/mruby-compiler/core/parse.y" +#line 2977 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8474 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: -#line 2980 "mrbgems/mruby-compiler/core/parse.y" +#line 2981 "mrbgems/mruby-compiler/core/parse.y" { + local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, nint(-1), 0); } -#line 8481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: -#line 2984 "mrbgems/mruby-compiler/core/parse.y" +#line 2986 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); + local_add_f(p, intern_op(mul)); } -#line 8489 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8491 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: #line 2990 "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 8497 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8499 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: -#line 2994 "mrbgems/mruby-compiler/core/parse.y" +#line 2996 "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 8505 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8507 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: -#line 2998 "mrbgems/mruby-compiler/core/parse.y" +#line 3000 "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 8513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: -#line 3002 "mrbgems/mruby-compiler/core/parse.y" +#line 3004 "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 8521 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: #line 3008 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 8529 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: -#line 3012 "mrbgems/mruby-compiler/core/parse.y" +#line 3014 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } -#line 8537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8539 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: #line 3018 "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 8545 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8547 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: -#line 3022 "mrbgems/mruby-compiler/core/parse.y" +#line 3024 "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 8553 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: -#line 3026 "mrbgems/mruby-compiler/core/parse.y" +#line 3028 "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 8561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: -#line 3030 "mrbgems/mruby-compiler/core/parse.y" +#line 3032 "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 8569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8571 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: -#line 3034 "mrbgems/mruby-compiler/core/parse.y" +#line 3036 "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 8577 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: -#line 3038 "mrbgems/mruby-compiler/core/parse.y" +#line 3040 "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 8585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: -#line 3042 "mrbgems/mruby-compiler/core/parse.y" +#line 3044 "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 8593 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8595 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: -#line 3046 "mrbgems/mruby-compiler/core/parse.y" +#line 3048 "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 8601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8603 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: -#line 3050 "mrbgems/mruby-compiler/core/parse.y" +#line 3052 "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 8609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8611 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: -#line 3054 "mrbgems/mruby-compiler/core/parse.y" +#line 3056 "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 8617 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8619 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: -#line 3058 "mrbgems/mruby-compiler/core/parse.y" +#line 3060 "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 8625 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8627 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: -#line 3062 "mrbgems/mruby-compiler/core/parse.y" +#line 3064 "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 8633 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8635 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: -#line 3066 "mrbgems/mruby-compiler/core/parse.y" +#line 3068 "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 8641 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8643 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: -#line 3070 "mrbgems/mruby-compiler/core/parse.y" +#line 3072 "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 8649 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8651 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: -#line 3074 "mrbgems/mruby-compiler/core/parse.y" +#line 3076 "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 8657 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8659 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: #line 3080 "mrbgems/mruby-compiler/core/parse.y" { - local_add_blk(p, 0); - (yyval.nd) = 0; + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 8666 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8667 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: -#line 3085 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmd_start = TRUE; - (yyval.nd) = (yyvsp[0].nd); +#line 3086 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_blk(p, 0); + (yyval.nd) = 0; } -#line 8675 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8676 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: #line 3091 "mrbgems/mruby-compiler/core/parse.y" - {local_add_blk(p, 0);} -#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" + { + p->cmd_start = TRUE; + (yyval.nd) = (yyvsp[0].nd); + } +#line 8685 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: -#line 3092 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 8689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 3097 "mrbgems/mruby-compiler/core/parse.y" + {local_add_blk(p, 0);} +#line 8691 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: -#line 3096 "mrbgems/mruby-compiler/core/parse.y" +#line 3098 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 8699 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 388: +#line 3102 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8698 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 388: -#line 3101 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 8706 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: -#line 3108 "mrbgems/mruby-compiler/core/parse.y" +#line 3107 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = (yyvsp[-2].nd); } -#line 8714 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: -#line 3112 "mrbgems/mruby-compiler/core/parse.y" +#line 3114 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8722 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8724 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 393: -#line 3122 "mrbgems/mruby-compiler/core/parse.y" + case 391: +#line 3118 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 8732 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 394: +#line 3128 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 8731 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 395: -#line 3130 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 8739 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8741 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: -#line 3134 "mrbgems/mruby-compiler/core/parse.y" +#line 3136 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = (yyvsp[-2].nd); } -#line 8747 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8749 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: #line 3140 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = (yyvsp[0].nd); } -#line 8755 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: -#line 3144 "mrbgems/mruby-compiler/core/parse.y" +#line 3146 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8765 "mrbgems/mruby-compiler/core/y.tab.c" break; case 399: #line 3150 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); - nvars_nest(p); + (yyval.nd) = (yyvsp[-1].nd); } -#line 8772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8773 "mrbgems/mruby-compiler/core/y.tab.c" break; case 400: -#line 3157 "mrbgems/mruby-compiler/core/parse.y" +#line 3156 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); - local_unnest(p); - nvars_unnest(p); + local_nest(p); + nvars_nest(p); } #line 8782 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: -#line 3165 "mrbgems/mruby-compiler/core/parse.y" +#line 3163 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); + local_unnest(p); + nvars_unnest(p); + } +#line 8792 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 402: +#line 3171 "mrbgems/mruby-compiler/core/parse.y" { if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8792,159 +8802,159 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8796 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 402: -#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 8804 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8806 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: -#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)); - } -#line 8813 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 404: -#line 3184 "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 8822 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 405: -#line 3191 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); - } -#line 8830 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 406: -#line 3195 "mrbgems/mruby-compiler/core/parse.y" +#line 3181 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8814 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 404: +#line 3185 "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 8823 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 405: +#line 3190 "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 8832 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 406: +#line 3197 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 8840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: -#line 3199 "mrbgems/mruby-compiler/core/parse.y" +#line 3201 "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 8846 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: -#line 3203 "mrbgems/mruby-compiler/core/parse.y" +#line 3205 "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 8854 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: -#line 3207 "mrbgems/mruby-compiler/core/parse.y" +#line 3209 "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 8862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: -#line 3211 "mrbgems/mruby-compiler/core/parse.y" +#line 3213 "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 8870 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: -#line 3215 "mrbgems/mruby-compiler/core/parse.y" +#line 3217 "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 8878 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: -#line 3219 "mrbgems/mruby-compiler/core/parse.y" +#line 3221 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_zsuper(p); + (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8886 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: -#line 3223 "mrbgems/mruby-compiler/core/parse.y" +#line 3225 "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 8894 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8896 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: #line 3229 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } #line 8904 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: -#line 3236 "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 8915 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 416: -#line 3243 "mrbgems/mruby-compiler/core/parse.y" +#line 3235 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8914 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 417: -#line 3250 "mrbgems/mruby-compiler/core/parse.y" + case 416: +#line 3242 "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 8936 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8925 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 417: +#line 3249 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 8935 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: -#line 3261 "mrbgems/mruby-compiler/core/parse.y" +#line 3256 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); + (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); + SET_LINENO((yyval.nd), (yyvsp[-3].num)); + local_unnest(p); + nvars_unnest(p); } -#line 8944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: #line 3267 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); + } +#line 8954 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 420: +#line 3273 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -8953,60 +8963,60 @@ yyreduce: (yyval.nd) = 0; } } -#line 8957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8967 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 421: -#line 3281 "mrbgems/mruby-compiler/core/parse.y" + case 422: +#line 3287 "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 8966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8976 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 423: -#line 3289 "mrbgems/mruby-compiler/core/parse.y" + case 424: +#line 3295 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8984 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 426: -#line 3297 "mrbgems/mruby-compiler/core/parse.y" + case 427: +#line 3303 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8992 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 428: -#line 3304 "mrbgems/mruby-compiler/core/parse.y" + case 429: +#line 3310 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9000 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 435: -#line 3318 "mrbgems/mruby-compiler/core/parse.y" + case 436: +#line 3324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8998 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 438: -#line 3326 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 9006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9008 "mrbgems/mruby-compiler/core/y.tab.c" break; case 439: -#line 3330 "mrbgems/mruby-compiler/core/parse.y" +#line 3332 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 9016 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 440: +#line 3336 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9017,69 +9027,69 @@ yyreduce: } (yyval.nd) = new_dstr(p, n); } -#line 9021 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 441: -#line 3344 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 9029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9031 "mrbgems/mruby-compiler/core/y.tab.c" break; case 442: #line 3350 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9039 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: -#line 3354 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = p->lex_strterm; - p->lex_strterm = NULL; + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9046 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: #line 3360 "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 9055 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9056 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: -#line 3365 "mrbgems/mruby-compiler/core/parse.y" +#line 3366 "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 9063 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: -#line 3369 "mrbgems/mruby-compiler/core/parse.y" +#line 3371 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9071 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9073 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: #line 3375 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = list1(new_literal_delim(p)); } -#line 9079 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9081 "mrbgems/mruby-compiler/core/y.tab.c" break; case 448: -#line 3379 "mrbgems/mruby-compiler/core/parse.y" +#line 3381 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 9089 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 449: +#line 3385 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9090,31 +9100,21 @@ yyreduce: } (yyval.nd) = new_dxstr(p, n); } -#line 9094 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 449: -#line 3392 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 9102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9104 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: -#line 3396 "mrbgems/mruby-compiler/core/parse.y" +#line 3398 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } -#line 9110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9112 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 454: -#line 3409 "mrbgems/mruby-compiler/core/parse.y" + case 451: +#line 3402 "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); + (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9120 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9122,17 +9122,17 @@ yyreduce: case 455: #line 3415 "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 9128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9130 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: -#line 3425 "mrbgems/mruby-compiler/core/parse.y" + case 456: +#line 3421 "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); + heredoc_end(p); } #line 9138 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9140,32 +9140,42 @@ yyreduce: case 459: #line 3431 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = p->lex_strterm; - p->lex_strterm = NULL; + parser_heredoc_info * inf = parsing_heredoc_inf(p); + inf->doc = push(inf->doc, (yyvsp[0].nd)); + heredoc_treat_nextline(p); } -#line 9147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9148 "mrbgems/mruby-compiler/core/y.tab.c" break; case 460: #line 3437 "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)); + (yyval.nd) = p->lex_strterm; + p->lex_strterm = NULL; } #line 9157 "mrbgems/mruby-compiler/core/y.tab.c" break; case 461: -#line 3445 "mrbgems/mruby-compiler/core/parse.y" +#line 3443 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); + 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 9165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 462: -#line 3449 "mrbgems/mruby-compiler/core/parse.y" +#line 3451 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); + } +#line 9175 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 463: +#line 3455 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9176,20 +9186,20 @@ yyreduce: } (yyval.nd) = new_words(p, n); } -#line 9180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 463: -#line 3463 "mrbgems/mruby-compiler/core/parse.y" + case 464: +#line 3469 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9199 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 464: -#line 3468 "mrbgems/mruby-compiler/core/parse.y" + case 465: +#line 3474 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -9201,43 +9211,43 @@ yyreduce: } (yyval.nd) = new_dsym(p, new_dstr(p, n)); } -#line 9205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9215 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 465: -#line 3482 "mrbgems/mruby-compiler/core/parse.y" + case 466: +#line 3488 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9213 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 470: -#line 3492 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = new_strsym(p, (yyvsp[0].nd)); - } -#line 9221 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9223 "mrbgems/mruby-compiler/core/y.tab.c" break; case 471: -#line 3496 "mrbgems/mruby-compiler/core/parse.y" +#line 3498 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9229 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9231 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: #line 3502 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9239 "mrbgems/mruby-compiler/core/y.tab.c" break; case 473: -#line 3506 "mrbgems/mruby-compiler/core/parse.y" +#line 3508 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); + } +#line 9247 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 474: +#line 3512 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); if (intn((yyvsp[0].nd)->cdr->cdr) > 0) { @@ -9245,123 +9255,123 @@ yyreduce: } (yyval.nd) = new_symbols(p, n); } -#line 9249 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 476: -#line 3518 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_negate(p, (yyvsp[0].nd)); - } -#line 9257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 477: -#line 3522 "mrbgems/mruby-compiler/core/parse.y" +#line 3524 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9265 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 478: #line 3528 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_lvar(p, (yyvsp[0].id)); + (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 479: -#line 3532 "mrbgems/mruby-compiler/core/parse.y" +#line 3534 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_ivar(p, (yyvsp[0].id)); + (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9283 "mrbgems/mruby-compiler/core/y.tab.c" break; case 480: -#line 3536 "mrbgems/mruby-compiler/core/parse.y" +#line 3538 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_gvar(p, (yyvsp[0].id)); + (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 9289 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 481: -#line 3540 "mrbgems/mruby-compiler/core/parse.y" +#line 3542 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_cvar(p, (yyvsp[0].id)); + (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9299 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: -#line 3544 "mrbgems/mruby-compiler/core/parse.y" +#line 3546 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_const(p, (yyvsp[0].id)); + (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 9305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9307 "mrbgems/mruby-compiler/core/y.tab.c" break; case 483: #line 3550 "mrbgems/mruby-compiler/core/parse.y" { - assignable(p, (yyvsp[0].nd)); + (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 9313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9315 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: -#line 3554 "mrbgems/mruby-compiler/core/parse.y" +#line 3556 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(p, "can't assign to numbered parameter"); + assignable(p, (yyvsp[0].nd)); } -#line 9321 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9323 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: #line 3560 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = var_reference(p, (yyvsp[0].nd)); + yyerror(p, "can't assign to numbered parameter"); } -#line 9329 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9331 "mrbgems/mruby-compiler/core/y.tab.c" break; case 486: -#line 3564 "mrbgems/mruby-compiler/core/parse.y" +#line 3566 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_nil(p); + (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 9337 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9339 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: -#line 3568 "mrbgems/mruby-compiler/core/parse.y" +#line 3570 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_self(p); + (yyval.nd) = new_nil(p); } -#line 9345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9347 "mrbgems/mruby-compiler/core/y.tab.c" break; case 488: -#line 3572 "mrbgems/mruby-compiler/core/parse.y" +#line 3574 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_true(p); + (yyval.nd) = new_self(p); } -#line 9353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9355 "mrbgems/mruby-compiler/core/y.tab.c" break; case 489: -#line 3576 "mrbgems/mruby-compiler/core/parse.y" +#line 3578 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_false(p); + (yyval.nd) = new_true(p); } -#line 9361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9363 "mrbgems/mruby-compiler/core/y.tab.c" break; case 490: -#line 3580 "mrbgems/mruby-compiler/core/parse.y" +#line 3582 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_false(p); + } +#line 9371 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 491: +#line 3586 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9369,117 +9379,107 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9373 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9383 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 491: -#line 3588 "mrbgems/mruby-compiler/core/parse.y" + case 492: +#line 3594 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 9384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9394 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 492: -#line 3595 "mrbgems/mruby-compiler/core/parse.y" + case 493: +#line 3601 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 9392 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 495: -#line 3605 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9402 "mrbgems/mruby-compiler/core/y.tab.c" break; case 496: -#line 3609 "mrbgems/mruby-compiler/core/parse.y" +#line 3611 "mrbgems/mruby-compiler/core/parse.y" { - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; + (yyval.nd) = 0; } -#line 9409 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9410 "mrbgems/mruby-compiler/core/y.tab.c" break; case 497: -#line 3614 "mrbgems/mruby-compiler/core/parse.y" +#line 3615 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 9417 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 500: -#line 3630 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); p->lstate = EXPR_BEG; p->cmd_start = TRUE; } +#line 9419 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 498: +#line 3620 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } #line 9427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 501: #line 3636 "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 9435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9437 "mrbgems/mruby-compiler/core/y.tab.c" break; case 502: -#line 3640 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 9443 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 504: -#line 3647 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 9451 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 505: -#line 3651 "mrbgems/mruby-compiler/core/parse.y" +#line 3642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 9459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9445 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: -#line 3655 "mrbgems/mruby-compiler/core/parse.y" + case 503: +#line 3646 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 9467 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9453 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 505: +#line 3653 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 9461 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 506: +#line 3657 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + } +#line 9469 "mrbgems/mruby-compiler/core/y.tab.c" break; case 507: #line 3661 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); + (yyval.nd) = new_args_dots(p, 0); } -#line 9475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9477 "mrbgems/mruby-compiler/core/y.tab.c" break; case 508: #line 3667 "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 9485 "mrbgems/mruby-compiler/core/y.tab.c" break; @@ -9487,17 +9487,17 @@ yyreduce: case 509: #line 3673 "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 9494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9495 "mrbgems/mruby-compiler/core/y.tab.c" break; case 510: -#line 3680 "mrbgems/mruby-compiler/core/parse.y" +#line 3679 "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))); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } #line 9504 "mrbgems/mruby-compiler/core/y.tab.c" @@ -9506,461 +9506,472 @@ yyreduce: case 511: #line 3686 "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 9513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9514 "mrbgems/mruby-compiler/core/y.tab.c" break; case 512: -#line 3693 "mrbgems/mruby-compiler/core/parse.y" +#line 3692 "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 9521 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 513: -#line 3697 "mrbgems/mruby-compiler/core/parse.y" +#line 3699 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9531 "mrbgems/mruby-compiler/core/y.tab.c" break; case 514: #line 3703 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9539 "mrbgems/mruby-compiler/core/y.tab.c" break; case 515: -#line 3707 "mrbgems/mruby-compiler/core/parse.y" +#line 3709 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 9547 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 516: +#line 3713 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 518: -#line 3717 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id))); - } -#line 9553 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9555 "mrbgems/mruby-compiler/core/y.tab.c" break; case 519: -#line 3721 "mrbgems/mruby-compiler/core/parse.y" +#line 3723 "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 9561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 520: #line 3727 "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 9569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9571 "mrbgems/mruby-compiler/core/y.tab.c" break; case 521: -#line 3731 "mrbgems/mruby-compiler/core/parse.y" +#line 3733 "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 9577 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 522: -#line 3735 "mrbgems/mruby-compiler/core/parse.y" +#line 3737 "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 9585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 523: -#line 3739 "mrbgems/mruby-compiler/core/parse.y" +#line 3741 "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 9593 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" break; case 524: #line 3745 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9603 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: -#line 3749 "mrbgems/mruby-compiler/core/parse.y" +#line 3751 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = (yyvsp[0].nd); } -#line 9609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9611 "mrbgems/mruby-compiler/core/y.tab.c" break; case 526: #line 3755 "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 9617 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9619 "mrbgems/mruby-compiler/core/y.tab.c" break; case 527: -#line 3759 "mrbgems/mruby-compiler/core/parse.y" +#line 3761 "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 9625 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9627 "mrbgems/mruby-compiler/core/y.tab.c" break; case 528: -#line 3763 "mrbgems/mruby-compiler/core/parse.y" +#line 3765 "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 9633 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9635 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: -#line 3767 "mrbgems/mruby-compiler/core/parse.y" +#line 3769 "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 9641 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9643 "mrbgems/mruby-compiler/core/y.tab.c" break; case 530: -#line 3771 "mrbgems/mruby-compiler/core/parse.y" +#line 3773 "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 9649 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9651 "mrbgems/mruby-compiler/core/y.tab.c" break; case 531: -#line 3775 "mrbgems/mruby-compiler/core/parse.y" +#line 3777 "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 9657 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9659 "mrbgems/mruby-compiler/core/y.tab.c" break; case 532: -#line 3779 "mrbgems/mruby-compiler/core/parse.y" +#line 3781 "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 9665 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9667 "mrbgems/mruby-compiler/core/y.tab.c" break; case 533: -#line 3783 "mrbgems/mruby-compiler/core/parse.y" +#line 3785 "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 9673 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9675 "mrbgems/mruby-compiler/core/y.tab.c" break; case 534: -#line 3787 "mrbgems/mruby-compiler/core/parse.y" +#line 3789 "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 9681 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9683 "mrbgems/mruby-compiler/core/y.tab.c" break; case 535: -#line 3791 "mrbgems/mruby-compiler/core/parse.y" +#line 3793 "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 9689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9691 "mrbgems/mruby-compiler/core/y.tab.c" break; case 536: -#line 3795 "mrbgems/mruby-compiler/core/parse.y" +#line 3797 "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 9697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9699 "mrbgems/mruby-compiler/core/y.tab.c" break; case 537: -#line 3799 "mrbgems/mruby-compiler/core/parse.y" +#line 3801 "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 9705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9707 "mrbgems/mruby-compiler/core/y.tab.c" break; case 538: -#line 3803 "mrbgems/mruby-compiler/core/parse.y" +#line 3805 "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 9713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9715 "mrbgems/mruby-compiler/core/y.tab.c" break; case 539: -#line 3807 "mrbgems/mruby-compiler/core/parse.y" +#line 3809 "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 9721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9723 "mrbgems/mruby-compiler/core/y.tab.c" break; case 540: -#line 3811 "mrbgems/mruby-compiler/core/parse.y" +#line 3813 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 9731 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 541: +#line 3817 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(and)); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 9730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9740 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 541: -#line 3818 "mrbgems/mruby-compiler/core/parse.y" + case 542: +#line 3824 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9739 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9749 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 542: -#line 3823 "mrbgems/mruby-compiler/core/parse.y" + case 543: +#line 3829 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9758 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 543: -#line 3828 "mrbgems/mruby-compiler/core/parse.y" + case 544: +#line 3834 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9767 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 544: -#line 3833 "mrbgems/mruby-compiler/core/parse.y" + case 545: +#line 3839 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9776 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 545: -#line 3838 "mrbgems/mruby-compiler/core/parse.y" + case 546: +#line 3844 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 9775 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 546: -#line 3845 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = 0; - } -#line 9783 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9785 "mrbgems/mruby-compiler/core/y.tab.c" break; case 547: -#line 3849 "mrbgems/mruby-compiler/core/parse.y" +#line 3851 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = 0; + } +#line 9793 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 548: +#line 3855 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9792 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 548: -#line 3856 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_arg(p, (yyvsp[0].id)); - } -#line 9800 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9802 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: -#line 3860 "mrbgems/mruby-compiler/core/parse.y" +#line 3862 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = local_switch(p); + (yyval.nd) = new_arg(p, (yyvsp[0].id)); } -#line 9808 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9810 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: -#line 3864 "mrbgems/mruby-compiler/core/parse.y" +#line 3866 "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 9817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9818 "mrbgems/mruby-compiler/core/y.tab.c" break; case 551: -#line 3871 "mrbgems/mruby-compiler/core/parse.y" +#line 3870 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car); + local_resume(p, (yyvsp[-2].nd)); + local_add_f(p, 0); } -#line 9825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 552: -#line 3875 "mrbgems/mruby-compiler/core/parse.y" +#line 3878 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9833 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: -#line 3881 "mrbgems/mruby-compiler/core/parse.y" +#line 3882 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9844 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 554: +#line 3888 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 9843 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 554: -#line 3889 "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 9853 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9854 "mrbgems/mruby-compiler/core/y.tab.c" break; case 555: -#line 3897 "mrbgems/mruby-compiler/core/parse.y" +#line 3896 "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 9863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 556: -#line 3905 "mrbgems/mruby-compiler/core/parse.y" +#line 3904 "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 9871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 557: -#line 3909 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 9879 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 558: -#line 3915 "mrbgems/mruby-compiler/core/parse.y" +#line 3912 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9887 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9882 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 559: -#line 3919 "mrbgems/mruby-compiler/core/parse.y" + case 558: +#line 3916 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9895 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9890 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 562: -#line 3929 "mrbgems/mruby-compiler/core/parse.y" + case 559: +#line 3922 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 9898 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 560: +#line 3926 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9906 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 563: +#line 3936 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9915 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 563: -#line 3934 "mrbgems/mruby-compiler/core/parse.y" + case 564: +#line 3941 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 9913 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 566: -#line 3945 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } -#line 9921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9924 "mrbgems/mruby-compiler/core/y.tab.c" break; case 567: -#line 3949 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = intern_op(and); - } -#line 9929 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 568: -#line 3955 "mrbgems/mruby-compiler/core/parse.y" +#line 3952 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9932 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 568: +#line 3956 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = intern_op(and); + } +#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 569: -#line 3959 "mrbgems/mruby-compiler/core/parse.y" +#line 3962 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = 0; + (yyval.id) = (yyvsp[0].id); } -#line 9945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 570: -#line 3965 "mrbgems/mruby-compiler/core/parse.y" +#line 3966 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = 0; + } +#line 9956 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 571: +#line 3972 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9954 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 571: -#line 3969 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_BEG;} -#line 9960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9965 "mrbgems/mruby-compiler/core/y.tab.c" break; case 572: -#line 3970 "mrbgems/mruby-compiler/core/parse.y" +#line 3976 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_BEG;} +#line 9971 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 573: +#line 3977 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -9983,63 +9994,63 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 9987 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 574: -#line 3996 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 9995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 575: -#line 4002 "mrbgems/mruby-compiler/core/parse.y" +#line 4003 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10006 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 576: +#line 4009 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 10004 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 576: -#line 4007 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 10012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10015 "mrbgems/mruby-compiler/core/y.tab.c" break; case 577: -#line 4013 "mrbgems/mruby-compiler/core/parse.y" +#line 4014 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10023 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 578: +#line 4020 "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 10022 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10033 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 578: -#line 4019 "mrbgems/mruby-compiler/core/parse.y" + case 579: +#line 4026 "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 10031 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 579: -#line 4024 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); - } -#line 10039 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10042 "mrbgems/mruby-compiler/core/y.tab.c" break; case 580: -#line 4028 "mrbgems/mruby-compiler/core/parse.y" +#line 4031 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); + } +#line 10050 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 581: +#line 4035 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) { @@ -10049,67 +10060,67 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10053 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10064 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 581: -#line 4038 "mrbgems/mruby-compiler/core/parse.y" + case 582: +#line 4045 "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 10062 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 594: -#line 4065 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.num) = '.'; - } -#line 10070 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10073 "mrbgems/mruby-compiler/core/y.tab.c" break; case 595: -#line 4069 "mrbgems/mruby-compiler/core/parse.y" +#line 4072 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.num) = '.'; + } +#line 10081 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 596: +#line 4076 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 10078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 597: -#line 4076 "mrbgems/mruby-compiler/core/parse.y" + case 598: +#line 4083 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 10086 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10097 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: -#line 4097 "mrbgems/mruby-compiler/core/parse.y" + case 607: +#line 4104 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 10092 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10103 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: -#line 4102 "mrbgems/mruby-compiler/core/parse.y" + case 609: +#line 4109 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10112 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: -#line 4114 "mrbgems/mruby-compiler/core/parse.y" + case 613: +#line 4121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10109 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10120 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 10113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10124 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10341,7 +10352,7 @@ yyreturn: #endif return yyresult; } -#line 4118 "mrbgems/mruby-compiler/core/parse.y" +#line 4125 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval)))