diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 8a013d86c..95e9df9cc 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -4656,6 +4656,10 @@ opt_args_tail : ',' args_tail { $$ = $2; } + | ',' + { + $$ = new_args_tail(p, 0, 0, 0); + } | /* none */ { $$ = new_args_tail(p, 0, 0, 0); @@ -4867,6 +4871,10 @@ opt_f_block_arg : ',' f_block_arg { $$ = $2; } + | ',' + { + $$ = 0; + } | none { $$ = 0; diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index d4648fafe..7eff81985 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -2956,7 +2956,7 @@ union yyalloc /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 199 /* YYNRULES -- Number of rules. */ -#define YYNRULES 689 +#define YYNRULES 691 /* YYNSTATES -- Number of states. */ #define YYNSTATES 1203 @@ -3078,16 +3078,17 @@ static const yytype_int16 yyrline[] = 4470, 4474, 4478, 4482, 4490, 4497, 4503, 4504, 4508, 4512, 4511, 4528, 4529, 4532, 4538, 4542, 4548, 4549, 4553, 4557, 4563, 4569, 4577, 4583, 4590, 4596, 4603, 4607, 4613, 4617, - 4623, 4624, 4627, 4631, 4637, 4641, 4645, 4649, 4655, 4660, - 4665, 4669, 4673, 4677, 4681, 4685, 4689, 4693, 4697, 4701, - 4705, 4709, 4713, 4717, 4722, 4728, 4733, 4738, 4743, 4748, - 4755, 4759, 4766, 4771, 4770, 4782, 4786, 4792, 4800, 4808, - 4816, 4820, 4826, 4830, 4836, 4837, 4840, 4845, 4852, 4853, - 4856, 4860, 4866, 4870, 4876, 4882, 4882, 4889, 4890, 4896, - 4900, 4906, 4912, 4917, 4921, 4926, 4931, 4947, 4952, 4958, - 4959, 4960, 4963, 4964, 4965, 4966, 4969, 4970, 4971, 4974, - 4975, 4978, 4982, 4988, 4989, 4995, 4996, 4999, 5000, 5003, - 5006, 5007, 5008, 5011, 5012, 5015, 5020, 5023, 5024, 5028 + 4623, 4624, 4627, 4631, 4637, 4641, 4645, 4649, 4655, 4659, + 4664, 4669, 4673, 4677, 4681, 4685, 4689, 4693, 4697, 4701, + 4705, 4709, 4713, 4717, 4721, 4726, 4732, 4737, 4742, 4747, + 4752, 4759, 4763, 4770, 4775, 4774, 4786, 4790, 4796, 4804, + 4812, 4820, 4824, 4830, 4834, 4840, 4841, 4844, 4849, 4856, + 4857, 4860, 4864, 4870, 4874, 4878, 4884, 4890, 4890, 4897, + 4898, 4904, 4908, 4914, 4920, 4925, 4929, 4934, 4939, 4955, + 4960, 4966, 4967, 4968, 4971, 4972, 4973, 4974, 4977, 4978, + 4979, 4982, 4983, 4986, 4990, 4996, 4997, 5003, 5004, 5007, + 5008, 5011, 5014, 5015, 5016, 5019, 5020, 5023, 5028, 5031, + 5032, 5036 }; #endif @@ -3182,7 +3183,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-690) +#define YYTABLE_NINF (-692) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3320,18 +3321,18 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 2, 0, 0, 0, 0, 0, 0, 297, 0, 0, - 321, 324, 0, 0, 675, 344, 345, 346, 347, 309, - 273, 273, 560, 559, 561, 562, 677, 0, 10, 0, - 564, 563, 565, 550, 661, 552, 551, 554, 553, 546, + 321, 324, 0, 0, 677, 344, 345, 346, 347, 309, + 273, 273, 560, 559, 561, 562, 679, 0, 10, 0, + 564, 563, 565, 550, 663, 552, 551, 554, 553, 546, 547, 507, 508, 566, 567, 558, 0, 0, 0, 0, - 0, 0, 299, 689, 689, 91, 316, 0, 0, 0, - 0, 0, 0, 522, 0, 0, 0, 3, 675, 6, - 9, 27, 32, 614, 614, 48, 63, 62, 0, 79, + 0, 0, 299, 691, 691, 91, 316, 0, 0, 0, + 0, 0, 0, 522, 0, 0, 0, 3, 677, 6, + 9, 27, 32, 615, 615, 48, 63, 62, 0, 79, 0, 83, 93, 0, 57, 251, 0, 64, 314, 289, 290, 505, 291, 292, 293, 503, 502, 534, 504, 501, 557, 0, 294, 295, 273, 5, 1, 8, 344, 345, - 309, 689, 420, 0, 116, 117, 558, 0, 0, 0, - 0, 614, 614, 119, 568, 348, 0, 557, 295, 0, + 309, 691, 420, 0, 116, 117, 558, 0, 0, 0, + 0, 615, 615, 119, 568, 348, 0, 557, 295, 0, 340, 171, 181, 172, 168, 197, 198, 199, 200, 179, 194, 187, 177, 176, 192, 175, 174, 170, 195, 169, 182, 186, 188, 180, 173, 189, 196, 191, 190, 183, @@ -3339,107 +3340,107 @@ static const yytype_int16 yydefact[] = 163, 121, 123, 122, 156, 157, 134, 135, 136, 143, 140, 142, 137, 138, 158, 159, 144, 145, 149, 152, 153, 139, 141, 131, 132, 133, 146, 147, 148, 150, - 151, 154, 155, 160, 645, 58, 124, 125, 644, 0, - 0, 0, 61, 614, 614, 0, 0, 0, 557, 0, + 151, 154, 155, 160, 647, 58, 124, 125, 646, 0, + 0, 0, 61, 615, 615, 0, 0, 0, 557, 0, 295, 0, 0, 0, 115, 0, 359, 358, 0, 0, 557, 295, 190, 183, 193, 178, 161, 162, 163, 121, - 122, 0, 126, 128, 20, 127, 525, 530, 529, 683, - 685, 675, 686, 0, 527, 0, 687, 684, 676, 659, - 558, 281, 658, 276, 0, 268, 280, 77, 272, 689, - 505, 689, 649, 78, 76, 689, 262, 310, 0, 75, - 261, 419, 74, 675, 0, 18, 0, 0, 224, 0, - 225, 212, 215, 306, 0, 0, 0, 675, 15, 675, - 81, 14, 0, 675, 0, 680, 680, 252, 0, 0, - 680, 647, 0, 0, 89, 0, 99, 106, 614, 540, + 122, 0, 126, 128, 20, 127, 525, 530, 529, 685, + 687, 677, 688, 0, 527, 0, 689, 686, 678, 661, + 558, 281, 660, 276, 0, 268, 280, 77, 272, 691, + 505, 691, 651, 78, 76, 691, 262, 310, 0, 75, + 261, 419, 74, 677, 0, 18, 0, 0, 224, 0, + 225, 212, 215, 306, 0, 0, 0, 677, 15, 677, + 81, 14, 0, 677, 0, 682, 682, 252, 0, 0, + 682, 649, 0, 0, 89, 0, 99, 106, 615, 540, 539, 541, 542, 536, 0, 538, 537, 509, 514, 513, 516, 0, 0, 511, 518, 0, 520, 0, 532, 0, - 544, 0, 548, 549, 52, 239, 240, 4, 676, 0, - 0, 0, 0, 0, 0, 0, 621, 617, 616, 615, - 618, 619, 0, 623, 635, 590, 591, 639, 638, 634, - 614, 0, 576, 0, 583, 588, 689, 593, 689, 613, - 0, 620, 622, 625, 599, 0, 632, 599, 637, 599, - 641, 597, 572, 0, 0, 407, 409, 0, 95, 0, + 544, 0, 548, 549, 52, 239, 240, 4, 678, 0, + 0, 0, 0, 0, 0, 0, 622, 618, 617, 616, + 619, 620, 0, 624, 636, 590, 591, 640, 639, 635, + 615, 0, 576, 0, 583, 588, 691, 593, 691, 614, + 0, 621, 623, 626, 600, 0, 633, 600, 638, 600, + 642, 597, 572, 0, 0, 407, 409, 0, 95, 0, 87, 84, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 214, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 672, 689, 671, 0, 674, 673, 0, 424, + 0, 0, 674, 691, 673, 0, 676, 675, 0, 424, 422, 315, 506, 0, 0, 413, 68, 313, 337, 116, - 117, 118, 548, 549, 576, 569, 335, 0, 689, 0, - 0, 0, 670, 669, 59, 0, 689, 306, 0, 0, - 350, 0, 349, 0, 0, 689, 0, 0, 0, 0, - 0, 0, 306, 0, 689, 0, 332, 0, 129, 0, - 0, 526, 528, 0, 0, 688, 653, 654, 282, 657, - 275, 0, 677, 269, 0, 278, 0, 270, 0, 675, - 0, 675, 689, 689, 263, 274, 675, 0, 312, 51, - 678, 0, 0, 0, 0, 0, 0, 17, 675, 304, - 13, 676, 80, 300, 303, 307, 682, 253, 681, 682, - 255, 308, 648, 105, 97, 0, 92, 0, 0, 689, - 0, 614, 317, 404, 599, 543, 0, 0, 517, 523, + 117, 118, 548, 549, 576, 569, 335, 0, 691, 0, + 0, 0, 672, 671, 59, 0, 691, 306, 0, 0, + 350, 0, 349, 0, 0, 691, 0, 0, 0, 0, + 0, 0, 306, 0, 691, 0, 332, 0, 129, 0, + 0, 526, 528, 0, 0, 690, 655, 656, 282, 659, + 275, 0, 679, 269, 0, 278, 0, 270, 0, 677, + 0, 677, 691, 691, 263, 274, 677, 0, 312, 51, + 680, 0, 0, 0, 0, 0, 0, 17, 677, 304, + 13, 678, 80, 300, 303, 307, 684, 253, 683, 684, + 255, 308, 650, 105, 97, 0, 92, 0, 0, 691, + 0, 615, 317, 404, 600, 543, 0, 0, 517, 523, 510, 512, 519, 521, 533, 545, 0, 0, 7, 21, - 22, 23, 24, 25, 49, 50, 580, 627, 581, 579, - 0, 675, 675, 599, 0, 0, 582, 0, 595, 643, - 592, 0, 596, 577, 0, 606, 628, 0, 609, 636, - 0, 611, 640, 0, 0, 689, 281, 28, 30, 0, - 31, 675, 0, 85, 96, 47, 33, 45, 0, 256, + 22, 23, 24, 25, 49, 50, 580, 628, 581, 579, + 0, 677, 677, 600, 0, 0, 582, 644, 595, 645, + 592, 644, 596, 577, 599, 607, 629, 599, 610, 637, + 599, 612, 641, 0, 0, 691, 281, 28, 30, 0, + 31, 677, 0, 85, 96, 47, 33, 45, 0, 256, 201, 29, 0, 295, 0, 229, 234, 235, 236, 231, 233, 243, 244, 237, 238, 210, 213, 241, 242, 0, - 221, 677, 230, 232, 226, 227, 228, 216, 217, 218, - 219, 220, 662, 667, 663, 668, 418, 273, 416, 0, - 689, 662, 664, 663, 665, 417, 273, 662, 663, 273, - 689, 689, 34, 256, 202, 44, 209, 66, 69, 0, - 0, 0, 116, 117, 120, 0, 0, 689, 0, 675, - 0, 298, 689, 689, 493, 0, 0, 689, 351, 666, - 305, 0, 662, 663, 689, 353, 322, 352, 325, 666, - 305, 0, 662, 663, 0, 0, 0, 0, 0, 280, - 0, 328, 652, 655, 651, 279, 284, 283, 277, 689, - 656, 650, 260, 258, 264, 265, 267, 311, 679, 19, - 0, 26, 208, 82, 16, 675, 680, 98, 90, 102, - 104, 0, 101, 103, 677, 0, 0, 535, 0, 524, - 222, 223, 621, 619, 367, 675, 360, 575, 573, 0, - 40, 247, 342, 0, 0, 589, 689, 642, 0, 598, - 626, 599, 599, 599, 633, 599, 621, 599, 42, 249, + 221, 679, 230, 232, 226, 227, 228, 216, 217, 218, + 219, 220, 664, 669, 665, 670, 418, 273, 416, 0, + 691, 664, 666, 665, 667, 417, 273, 664, 665, 273, + 691, 691, 34, 256, 202, 44, 209, 66, 69, 0, + 0, 0, 116, 117, 120, 0, 0, 691, 0, 677, + 0, 298, 691, 691, 493, 0, 0, 691, 351, 668, + 305, 0, 664, 665, 691, 353, 322, 352, 325, 668, + 305, 0, 664, 665, 0, 0, 0, 0, 0, 280, + 0, 328, 654, 657, 653, 279, 284, 283, 277, 691, + 658, 652, 260, 258, 264, 265, 267, 311, 681, 19, + 0, 26, 208, 82, 16, 677, 682, 98, 90, 102, + 104, 0, 101, 103, 679, 0, 599, 535, 0, 524, + 222, 223, 622, 620, 367, 677, 360, 575, 573, 599, + 40, 247, 342, 0, 0, 589, 691, 643, 0, 598, + 627, 600, 600, 600, 634, 600, 622, 600, 42, 249, 343, 395, 393, 0, 392, 391, 288, 0, 94, 88, - 0, 0, 0, 0, 0, 689, 0, 457, 458, 459, + 0, 0, 0, 0, 0, 691, 0, 457, 458, 459, 491, 476, 456, 0, 0, 0, 475, 490, 0, 56, 0, 436, 449, 451, 461, 440, 460, 462, 442, 484, 444, 453, 455, 454, 54, 0, 0, 0, 415, 72, 421, 265, 0, 0, 414, 70, 410, 65, 0, 0, - 689, 338, 0, 0, 421, 341, 646, 60, 494, 495, - 689, 496, 0, 689, 356, 0, 0, 354, 0, 0, + 691, 338, 0, 0, 421, 341, 648, 60, 494, 495, + 691, 496, 0, 691, 356, 0, 0, 354, 0, 0, 421, 0, 0, 0, 0, 0, 421, 0, 130, 531, - 0, 327, 0, 0, 285, 271, 675, 689, 11, 301, + 0, 327, 0, 0, 285, 271, 677, 691, 11, 301, 254, 100, 0, 397, 0, 0, 318, 515, 368, 365, - 624, 0, 675, 0, 0, 594, 578, 0, 602, 0, - 604, 0, 610, 0, 607, 612, 0, 0, 390, 677, - 677, 585, 586, 689, 689, 375, 0, 630, 375, 375, - 373, 0, 284, 286, 86, 46, 257, 662, 663, 0, - 662, 663, 487, 478, 491, 465, 472, 0, 466, 469, + 625, 0, 677, 0, 0, 594, 578, 599, 603, 599, + 605, 599, 611, 599, 608, 613, 0, 0, 390, 679, + 679, 585, 586, 691, 691, 375, 0, 631, 375, 375, + 373, 0, 284, 286, 86, 46, 257, 664, 665, 0, + 664, 665, 487, 478, 491, 465, 472, 0, 466, 469, 0, 480, 0, 481, 483, 474, 489, 488, 463, 437, 438, 445, 0, 0, 0, 0, 0, 0, 0, 39, 206, 38, 207, 73, 0, 36, 204, 37, 205, 71, 411, 412, 0, 0, 0, 0, 570, 336, 0, 0, 498, 357, 0, 12, 500, 0, 319, 0, 320, 0, - 0, 333, 0, 0, 0, 283, 689, 259, 266, 403, - 0, 0, 0, 0, 0, 363, 574, 41, 248, 599, - 599, 599, 599, 43, 250, 0, 0, 0, 584, 0, - 371, 372, 375, 383, 629, 0, 386, 0, 388, 408, + 0, 333, 0, 0, 0, 283, 691, 259, 266, 403, + 0, 0, 0, 0, 0, 363, 574, 41, 248, 600, + 600, 600, 600, 43, 250, 0, 0, 0, 584, 644, + 371, 372, 375, 383, 630, 0, 386, 0, 388, 408, 287, 421, 486, 464, 0, 0, 479, 0, 446, 0, 450, 452, 441, 447, 477, 485, 443, 246, 245, 35, 203, 425, 423, 0, 0, 0, 497, 0, 107, 114, - 0, 499, 0, 323, 326, 0, 0, 0, 689, 427, - 428, 426, 401, 677, 399, 402, 406, 405, 369, 366, - 0, 361, 603, 0, 600, 605, 608, 396, 394, 306, - 0, 587, 689, 0, 374, 381, 375, 375, 375, 631, + 0, 499, 0, 323, 326, 0, 0, 0, 691, 427, + 428, 426, 401, 679, 399, 402, 406, 405, 369, 366, + 0, 361, 604, 599, 601, 606, 609, 396, 394, 306, + 0, 587, 691, 0, 374, 381, 375, 375, 375, 632, 375, 375, 473, 467, 470, 482, 439, 0, 67, 339, - 113, 0, 689, 0, 689, 689, 0, 0, 0, 0, - 429, 0, 0, 398, 0, 364, 0, 599, 666, 305, + 113, 0, 691, 0, 691, 691, 0, 0, 0, 0, + 429, 0, 0, 398, 0, 364, 0, 600, 668, 305, 370, 0, 378, 0, 380, 0, 387, 0, 384, 389, - 0, 0, 448, 110, 112, 0, 662, 663, 492, 355, - 334, 689, 689, 430, 329, 400, 362, 601, 375, 375, + 0, 0, 448, 110, 112, 0, 664, 665, 492, 355, + 334, 691, 691, 430, 329, 400, 362, 602, 375, 375, 375, 375, 468, 471, 108, 0, 0, 0, 0, 0, 379, 0, 376, 382, 385, 0, 330, 331, 0, 0, - 0, 375, 689, 0, 0, 377, 431, 0, 0, 689, - 689, 433, 435 + 0, 375, 691, 0, 0, 377, 431, 0, 0, 691, + 691, 433, 435 }; /* YYPGOTO[NTERM-NUM]. */ @@ -3507,7 +3508,7 @@ static const yytype_int16 yytable[] = 553, 393, 392, 392, 206, 296, 306, 310, 585, 479, 954, 949, 781, 125, 1085, 782, 439, 960, 785, 1114, -107, 446, 497, 439, 1109, -556, 672, 675, 445, 604, - 270, 270, -659, 659, 270, 276, 281, 863, 472, 125, + 270, 270, -661, 659, 270, 276, 281, 863, 472, 125, 280, 867, 448, 894, 472, 848, 849, 615, 873, 401, -110, 799, 582, 445, -115, 283, 394, -556, 686, 335, 337, 339, 341, 657, 255, 880, 476, 666, 270, 270, @@ -3518,12 +3519,12 @@ static const yytype_int16 yytable[] = 287, -550, 950, 470, 432, 963, 561, 687, 347, 561, 862, 561, 493, 561, 1172, 561, -559, 895, 440, 817, 1109, 305, 395, 470, 275, 440, 1085, -99, 525, 780, - 468, 469, 392, 392, -659, 792, -550, 212, 212, 751, - -659, 577, 780, -550, -561, 1055, 434, 687, -560, 480, - 481, 1056, 293, 817, 550, 732, 951, -102, 398, -662, + 468, 469, 392, 392, -661, 792, -550, 212, 212, 751, + -661, 577, 780, -550, -561, 1055, 434, 687, -560, 480, + 481, 1056, 293, 817, 550, 732, 951, -102, 398, -664, 493, 495, 737, 523, 781, 717, 325, 782, 397, 379, 379, 296, 687, -559, 743, 579, 531, 781, 206, -104, - 782, -663, 731, -106, 538, 538, 394, -105, 505, 538, + 782, -665, 731, -106, 538, 538, 394, -105, 505, 538, 505, 545, 300, 593, 514, -562, 728, 728, 516, 519, 449, -561, 246, 929, 450, 247, 248, -101, 507, -103, 926, -564, 402, 926, 759, 984, -100, 379, 379, 1091, @@ -3558,7 +3559,7 @@ static const yytype_int16 yytable[] = 247, 248, 578, 747, 584, 544, -571, 780, 336, 270, 328, 329, 882, 270, 265, 587, 842, 591, 780, 1011, 590, 508, 594, -111, 795, 599, -111, 602, -108, -111, - -111, -305, 1007, 472, 597, -663, 835, 600, -305, 603, + -111, -305, 1007, 472, 597, -665, 835, 600, -305, 603, 842, 270, 614, 705, 270, -109, 520, 1059, 1016, 770, 677, 734, 1169, 691, 270, 1175, 1176, -111, 843, -111, 125, 720, 330, 331, 839, 86, -101, 843, 788, -109, @@ -3583,7 +3584,7 @@ static const yytype_int16 yytable[] = 999, 1000, 217, 897, 86, 315, 903, 622, 544, 1006, 609, 935, 246, 907, 909, 247, 248, 1070, 911, 795, 265, 1012, 762, 1072, 357, 358, 359, 360, 913, 990, - 212, 474, 994, 916, 887, 942, 520, -660, 217, 943, + 212, 474, 994, 916, 887, 942, 520, -662, 217, 943, 763, 955, 995, 249, 958, 250, 432, 961, 622, 622, 964, 965, 472, 966, 987, 992, 505, 988, 472, 996, 270, 998, 1009, 217, 1014, 86, 217, 1029, 762, 1032, @@ -3594,32 +3595,32 @@ static const yytype_int16 yytable[] = 1063, 419, 1048, 898, 617, 1049, -554, 925, 1071, 125, 1050, 1054, 502, 1061, 125, -558, 249, 86, 250, 1073, 1078, 1062, -558, 1074, 1086, 1087, 86, 1093, 1097, 472, - 472, 428, 429, 430, 1098, 1099, 1117, -666, 1118, -660, - 315, -554, 315, 924, 217, -660, 1123, 1119, -554, 1090, + 472, 428, 429, 430, 1098, 1099, 1117, -668, 1118, -662, + 315, -554, 315, 924, 217, -662, 1123, 1119, -554, 1090, 1120, 1132, 86, 104, 1134, 104, 1136, 212, 212, 1141, 104, 104, 1143, 483, 930, 864, 104, 104, 104, 1076, - 1077, 104, 1145, 1160, 921, -662, 125, 921, 432, 217, + 1077, 104, 1145, 1160, 921, -664, 125, 921, 432, 217, 921, 924, 921, 924, 524, 924, 1124, 924, 1125, 1147, 946, 1126, 1150, 1151, 1164, 1188, 959, 1181, 217, 432, - 548, -666, 930, 104, 930, -662, 930, 315, 930, -663, - -557, 1197, 1198, 484, 773, 432, -666, 104, 1133, 1174, + 548, -668, 930, 104, 930, -664, 930, 315, 930, -665, + -557, 1197, 1198, 484, 773, 432, -668, 104, 1133, 1174, 434, 924, 1019, -295, 1021, -557, 1185, 1186, 1022, 1187, - 472, 1189, 774, 1190, 475, 740, 226, 864, -295, -662, - 130, 434, 930, 1161, 1162, 1159, 472, 472, 921, -666, - 549, -666, 981, 270, -662, -662, 1165, 434, -666, -663, + 472, 1189, 774, 1190, 475, 740, 226, 864, -295, -664, + 130, 434, 930, 1161, 1162, 1159, 472, 472, 921, -668, + 549, -668, 981, 270, -664, -664, 1165, 434, -668, -665, -557, 589, 918, 1116, 365, 366, 367, -557, 953, 104, 1158, 104, 1051, -295, 492, 217, 86, 665, 208, 775, - -295, 514, 1101, 694, 864, 0, 921, -662, 921, -662, - 921, 368, 921, -662, 1036, 1038, -662, -306, 0, 1106, + -295, 514, 1101, 694, 864, 0, 921, -664, 921, -664, + 921, 368, 921, -664, 1036, 1038, -664, -306, 0, 1106, 664, 0, 0, 0, 1192, 0, 0, 0, 0, 217, 0, 0, -306, 1199, 1200, 804, 0, 0, 1042, 0, - 864, 864, 832, -663, 833, 0, 921, 265, 1088, 1089, - 432, 0, 73, 1100, 73, 121, 121, 832, -663, 833, + 864, 864, 832, -665, 833, 0, 921, 265, 1088, 1089, + 432, 0, 73, 1100, 73, 121, 121, 832, -665, 833, 1053, 0, 0, 121, 212, 212, 0, -306, 432, 1121, 1108, 864, 1111, 0, -306, 0, 1193, 1194, 864, 864, 0, 0, 104, 0, 432, 805, 0, 270, 0, 674, - 676, -663, 434, -663, 104, 104, 0, -663, 0, 0, - -663, 0, 73, 458, 0, 0, 121, 0, 86, 1082, + 676, -665, 434, -665, 104, 104, 0, -665, 0, 0, + -665, 0, 73, 458, 0, 0, 121, 0, 86, 1082, 434, 357, 358, 359, 360, 315, 86, 622, 1105, 1122, 217, 0, 0, 674, 676, 1135, 434, 763, 1137, 0, 334, 0, 121, 328, 329, 832, 0, 833, 0, 0, @@ -3679,26 +3680,26 @@ static const yytype_int16 yytable[] = 0, 74, 0, 104, 104, 122, 0, 104, 0, 363, 0, 0, 818, 416, 417, 364, 365, 366, 367, 120, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, - 356, 122, 357, 358, 359, 360, -689, 0, 104, 104, + 356, 122, 357, 358, 359, 360, -691, 0, 104, 104, 0, 0, 0, 368, 104, 104, 369, 0, 361, 0, 104, 104, 0, 425, 426, 427, 428, 429, 430, 370, 0, 0, 73, 0, 104, 0, 0, 104, 0, 74, - 0, 0, 0, 363, -689, 0, 104, 104, 0, 364, - 365, 366, 367, 0, 0, 104, 0, -689, -689, -689, - -689, -689, -689, 0, -689, 0, 104, 104, 0, -689, - -689, -689, 0, 0, 0, 0, 0, 368, 416, 417, - 369, -689, -689, 0, -689, -689, -689, -689, -689, 0, + 0, 0, 0, 363, -691, 0, 104, 104, 0, 364, + 365, 366, 367, 0, 0, 104, 0, -691, -691, -691, + -691, -691, -691, 0, -691, 0, 104, 104, 0, -691, + -691, -691, 0, 0, 0, 0, 0, 368, 416, 417, + 369, -691, -691, 0, -691, -691, -691, -691, -691, 0, 0, 419, 0, 551, -302, 0, 0, -302, -302, 0, 103, 0, 103, 128, 128, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 423, 424, 425, 426, 427, 428, 429, 430, -302, -302, 0, -302, 0, 0, - 74, 0, 0, 0, -689, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 73, 0, 104, 0, 0, -689, - 103, 121, 73, 73, 317, 0, 104, 104, 0, -689, - 0, 0, -689, -689, 104, 0, 0, 0, 0, 0, + 74, 0, 0, 0, -691, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 73, 0, 104, 0, 0, -691, + 103, 121, 73, 73, 317, 0, 104, 104, 0, -691, + 0, 0, -691, -691, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 0, 0, 0, - 317, 0, -689, -689, 0, 0, 0, 73, 275, -689, - -689, -689, -689, 73, 73, 807, 808, 809, 0, 73, + 317, 0, -691, -691, 0, 0, 0, 73, 275, -691, + -691, -691, -691, 73, 73, 807, 808, 809, 0, 73, 73, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 944, 73, 74, 74, 811, 0, 103, 39, 40, 0, 74, 0, 812, 73, 73, 0, 0, 0, @@ -3817,7 +3818,7 @@ static const yytype_int16 yytable[] = 100, 0, 0, 100, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, -690, -690, + 406, 407, 408, 409, 410, 411, 412, 413, -692, -692, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 101, 0, 0, 100, 100, 419, 101, 101, 0, 83, 0, 83, 101, 101, 83, 0, 0, 0, @@ -3850,8 +3851,8 @@ static const yytype_int16 yytable[] = 649, 650, 651, 0, 0, 266, 0, 0, 0, 0, 0, 0, 0, 101, 101, 673, 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 266, 0, 0, 0, 0, -690, -690, -690, -690, 408, - 409, 0, 0, -690, -690, 673, 0, 266, 0, 673, + 266, 0, 0, 0, 0, -692, -692, -692, -692, 408, + 409, 0, 0, -692, -692, 673, 0, 266, 0, 673, 673, 416, 417, 0, 0, 0, 266, 0, 0, 0, 0, 0, 0, 0, 419, 719, 0, 0, 722, 723, 0, 0, 0, 724, 101, 0, 727, 0, 730, 0, @@ -3865,7 +3866,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 796, 0, - 0, -689, 3, 0, 4, 5, 6, 7, 8, 9, + 0, -691, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, @@ -3876,10 +3877,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 858, 48, 49, 771, 789, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 403, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -689, 0, 884, -689, - -689, 0, 0, 0, 0, 0, 0, 727, 308, 0, + 0, 60, 61, 62, 0, 63, -691, 0, 884, -691, + -691, 0, 0, 0, 0, 0, 0, 727, 308, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -689, 0, -689, + 0, 0, 0, 0, 0, 0, 0, -691, 0, -691, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 419, @@ -3936,63 +3937,63 @@ static const yytype_int16 yytable[] = 0, 0, -550, 0, -550, 0, 0, 0, -550, 0, 0, 0, 0, 0, 0, 0, 0, 0, -550, 0, 0, -550, -550, 0, -550, -550, 0, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, 0, 0, -689, + -550, -550, -550, -550, -550, -550, -550, 0, 0, -691, 0, 0, -550, -550, -550, -550, 0, 0, -550, -550, - -550, -550, -689, -689, -689, -689, -689, -689, 0, -689, - 0, 0, 0, 0, -689, -689, -689, -689, 0, 0, - 0, 0, 0, 0, 0, 0, -689, -689, 0, -689, - -689, -689, -689, -689, 0, 0, 0, 0, 0, 0, + -550, -550, -691, -691, -691, -691, -691, -691, 0, -691, + 0, 0, 0, 0, -691, -691, -691, -691, 0, 0, + 0, 0, 0, 0, 0, 0, -691, -691, 0, -691, + -691, -691, -691, -691, 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, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, 0, 0, 0, 0, -689, -689, -689, - 0, 0, -689, 0, 0, 0, 0, 0, -689, 0, - -689, 0, 0, 0, -689, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -689, 0, 0, -689, -689, 0, - 0, -689, 0, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, 0, 0, -689, 0, -689, -689, -689, - -689, -689, 0, 275, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 0, -689, 0, 0, 0, 0, - -689, 0, -689, -689, 0, 0, 0, 0, 0, 0, - 0, 0, -689, -689, 0, -689, -689, -689, -689, -689, + 0, -691, -691, -691, -691, -691, -691, -691, -691, -691, + -691, -691, -691, 0, 0, 0, 0, -691, -691, -691, + 0, 0, -691, 0, 0, 0, 0, 0, -691, 0, + -691, 0, 0, 0, -691, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -691, 0, 0, -691, -691, 0, + 0, -691, 0, -691, -691, -691, -691, -691, -691, -691, + -691, -691, -691, 0, 0, -691, 0, -691, -691, -691, + -691, -691, 0, 275, -691, -691, -691, -691, -691, -691, + -691, -691, -691, -691, 0, -691, 0, 0, 0, 0, + -691, 0, -691, -691, 0, 0, 0, 0, 0, 0, + 0, 0, -691, -691, 0, -691, -691, -691, -691, -691, 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, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 0, - 0, 0, 0, -689, -689, -689, 0, 0, -689, 0, - 0, 0, 0, 0, -689, 0, -689, 0, 0, 0, - -689, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -689, 0, 0, -689, -689, 0, 0, -689, 0, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 0, - 0, -666, 0, 0, -689, -689, -689, -689, 0, 275, - -689, -689, -689, -689, -666, -666, -666, 0, -666, -666, - 0, -666, 0, 0, 0, 0, -666, -666, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -666, -666, - 0, -666, -666, -666, -666, -666, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -691, -691, -691, + -691, -691, -691, -691, -691, -691, -691, -691, -691, 0, + 0, 0, 0, -691, -691, -691, 0, 0, -691, 0, + 0, 0, 0, 0, -691, 0, -691, 0, 0, 0, + -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -691, 0, 0, -691, -691, 0, 0, -691, 0, -691, + -691, -691, -691, -691, -691, -691, -691, -691, -691, 0, + 0, -668, 0, 0, -691, -691, -691, -691, 0, 275, + -691, -691, -691, -691, -668, -668, -668, 0, -668, -668, + 0, -668, 0, 0, 0, 0, -668, -668, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -668, -668, + 0, -668, -668, -668, -668, -668, 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, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, 0, 0, 0, 0, -666, - -666, -666, 0, 836, -666, 0, 0, 0, 0, 0, - 0, 0, -666, 0, 0, 0, -666, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -666, 0, 0, -666, - -666, 0, -110, -666, 0, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, 0, 0, -666, 0, -666, - -666, -666, 0, -102, 0, 0, -666, -666, -666, -666, - -666, -666, -666, 0, -666, -666, 0, -666, 0, 0, - 0, 0, -666, -666, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -666, -666, 0, -666, -666, -666, - -666, -666, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, 0, 0, 0, 0, -668, + -668, -668, 0, 836, -668, 0, 0, 0, 0, 0, + 0, 0, -668, 0, 0, 0, -668, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -668, 0, 0, -668, + -668, 0, -110, -668, 0, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, 0, 0, -668, 0, -668, + -668, -668, 0, -102, 0, 0, -668, -668, -668, -668, + -668, -668, -668, 0, -668, -668, 0, -668, 0, 0, + 0, 0, -668, -668, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -668, -668, 0, -668, -668, -668, + -668, -668, 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, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, 0, 0, 0, 0, -666, -666, -666, 0, 836, - -666, 0, 0, 0, 0, 0, 0, 0, -666, 0, - 0, 0, -666, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -666, 0, 0, -666, -666, 0, -110, -666, - 0, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, 0, 0, -305, 0, -666, -666, -666, 0, -666, - 0, 0, -666, -666, -666, -666, -305, -305, -305, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, 0, 0, 0, 0, -668, -668, -668, 0, 836, + -668, 0, 0, 0, 0, 0, 0, 0, -668, 0, + 0, 0, -668, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -668, 0, 0, -668, -668, 0, -110, -668, + 0, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, 0, 0, -305, 0, -668, -668, -668, 0, -668, + 0, 0, -668, -668, -668, -668, -305, -305, -305, 0, -305, -305, 0, -305, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, 0, -305, -305, -305, -305, -305, 0, 0, @@ -4021,7 +4022,7 @@ static const yytype_int16 yytable[] = -305, -305, -305, 0, 0, 0, 0, 0, -305, -305, 0, -305, 0, 0, -305, -305, -305, -305, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - -689, -689, -689, 0, 0, -689, 14, 0, 15, 16, + -691, -691, -691, 0, 0, -691, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, @@ -4031,12 +4032,12 @@ static const yytype_int16 yytable[] = 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -689, 0, 0, -689, -689, 0, 0, 0, + 0, 63, -691, 0, 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -689, 294, -689, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, -689, 0, - -689, -689, 14, 0, 15, 16, 17, 18, 0, 0, + 0, 0, 0, -691, 294, -691, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 0, 0, -691, 0, + -691, -691, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -4045,12 +4046,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, -689, 0, - 0, -689, -689, 0, 0, 0, 0, 0, 0, 0, + 58, 59, 0, 60, 61, 62, 0, 63, -691, 0, + 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -689, - 294, -689, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, -689, 0, 0, -689, 14, -689, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -691, + 294, -691, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 0, 0, -691, 0, 0, -691, 14, -691, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, @@ -4060,13 +4061,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, -689, 0, 0, -689, -689, 0, + 61, 62, 0, 63, -691, 0, 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -689, 294, -689, 4, 5, + 0, 0, 0, 0, 0, -691, 294, -691, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - -689, 0, 0, -689, 14, 0, 15, 16, 17, 18, - -689, 0, 0, 0, 0, 19, 20, 21, 22, 23, + -691, 0, 0, -691, 14, 0, 15, 16, 17, 18, + -691, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, @@ -4075,11 +4076,11 @@ static const yytype_int16 yytable[] = 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - -689, 0, 0, -689, -689, 0, 0, 0, 0, 0, + -691, 0, 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -689, 294, -689, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, -689, 0, 0, -689, + 0, -691, 294, -691, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, 0, -691, 0, 0, -691, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, @@ -4089,10 +4090,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -689, 0, 0, -689, - -689, 3, 0, 4, 5, 6, 7, 8, 9, 10, + 0, 60, 61, 62, 0, 63, -691, 0, 0, -691, + -691, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, - 0, 15, 16, 17, 18, 0, 0, -689, 0, -689, + 0, 15, 16, 17, 18, 0, 0, -691, 0, -691, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, @@ -4101,12 +4102,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, -689, 0, 0, -689, -689, + 60, 61, 62, 0, 63, -691, 0, 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 66, 0, 0, -689, - 0, 0, 0, 0, 0, 0, -689, 294, -689, 4, + 0, 0, 0, 0, 64, 65, 66, 0, 0, -691, + 0, 0, 0, 0, 0, 0, -691, 294, -691, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - -689, -689, 0, 0, 0, 14, 0, 15, 16, 17, + -691, -691, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, @@ -4116,10 +4117,10 @@ static const yytype_int16 yytable[] = 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -689, 0, 0, -689, -689, 294, 0, 4, 5, + 63, -691, 0, 0, -691, -691, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, - 0, 0, -689, 0, -689, 19, 20, 21, 22, 23, + 0, 0, -691, 0, -691, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, @@ -4128,10 +4129,10 @@ static const yytype_int16 yytable[] = 49, 0, 0, 0, 0, 0, 50, 0, 0, 295, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - -689, 0, 0, -689, -689, 294, 0, 4, 5, 6, + -691, 0, 0, -691, -691, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, 0, - -689, -689, 0, -689, 19, 20, 21, 22, 23, 24, + -691, -691, 0, -691, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, @@ -4139,11 +4140,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, -689, - 0, 0, -689, -689, 294, 0, 4, 5, 6, 7, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -691, + 0, 0, -691, -691, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, - 66, 0, 14, 0, 15, 16, 17, 18, 0, -689, - -689, 0, -689, 19, 20, 21, 22, 23, 24, 25, + 66, 0, 14, 0, 15, 16, 17, 18, 0, -691, + -691, 0, -691, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, @@ -4151,12 +4152,12 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, -689, 0, - 0, -689, -689, 0, 0, 0, 0, 0, 0, 0, + 58, 59, 0, 60, 61, 62, 0, 63, -691, 0, + 0, -691, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, - 0, 0, -689, 0, 0, 0, 0, 0, 0, -689, - 294, -689, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, -689, 0, 0, 0, 14, 0, + 0, 0, -691, 0, 0, 0, 0, 0, 0, -691, + 294, -691, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 0, 0, -691, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, @@ -4166,10 +4167,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, -689, 0, 0, -689, -689, 0, + 61, 62, 0, 63, -691, 0, 0, -691, -691, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, - 16, 17, 18, 0, 0, -689, 0, -689, 19, 20, + 16, 17, 18, 0, 0, -691, 0, -691, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, @@ -4243,83 +4244,83 @@ static const yytype_int16 yytable[] = 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, -659, -659, -659, -659, -659, - -659, -659, -659, -659, 0, 0, 0, 0, 0, 0, - 0, -659, 0, -659, -659, -659, -659, 0, -659, 0, - 0, 0, -659, -659, -659, -659, -659, -659, -659, 0, - 0, -659, 0, 0, 0, 0, 0, 0, 0, 0, - -659, -659, -659, -659, -659, -659, -659, -659, -659, 0, - -659, -659, -659, 0, 0, -659, 0, 0, -659, -659, - 0, -659, -659, -659, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -659, -659, 0, 0, - 0, 0, 0, -659, 0, 0, -659, -659, 0, -659, - -659, 0, -659, 0, -659, -659, -659, 0, -659, -659, - -659, 0, -659, -659, -659, 0, -659, 0, 0, 0, + 0, 0, 0, 203, 204, -661, -661, -661, -661, -661, + -661, -661, -661, -661, 0, 0, 0, 0, 0, 0, + 0, -661, 0, -661, -661, -661, -661, 0, -661, 0, + 0, 0, -661, -661, -661, -661, -661, -661, -661, 0, + 0, -661, 0, 0, 0, 0, 0, 0, 0, 0, + -661, -661, -661, -661, -661, -661, -661, -661, -661, 0, + -661, -661, -661, 0, 0, -661, 0, 0, -661, -661, + 0, -661, -661, -661, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -661, -661, 0, 0, + 0, 0, 0, -661, 0, 0, -661, -661, 0, -661, + -661, 0, -661, 0, -661, -661, -661, 0, -661, -661, + -661, 0, -661, -661, -661, 0, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -659, -659, -659, 0, - -659, 0, 0, 0, 0, 0, -659, -660, -660, -660, - -660, -660, -660, -660, -660, -660, 0, 0, 0, 0, - 0, 0, 0, -660, 0, -660, -660, -660, -660, 0, - -660, 0, 0, 0, -660, -660, -660, -660, -660, -660, - -660, 0, 0, -660, 0, 0, 0, 0, 0, 0, - 0, 0, -660, -660, -660, -660, -660, -660, -660, -660, - -660, 0, -660, -660, -660, 0, 0, -660, 0, 0, - -660, -660, 0, -660, -660, -660, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -660, -660, - 0, 0, 0, 0, 0, -660, 0, 0, -660, -660, - 0, -660, -660, 0, -660, 0, -660, -660, -660, 0, - -660, -660, -660, 0, -660, -660, -660, 0, -660, 0, - 0, 0, 0, 0, 0, -662, -662, -662, -662, -662, - -662, -662, -662, -662, 0, 0, 0, 0, -660, -660, - -660, -662, -660, -662, -662, -662, -662, 0, -660, 0, - 0, 0, -662, -662, -662, -662, -662, -662, -662, 0, - 0, -662, 0, 0, 0, 0, 0, 0, 0, 0, - -662, -662, -662, -662, -662, -662, -662, -662, -662, 0, - -662, -662, -662, 0, 0, -662, 0, 0, -662, -662, - 0, -662, -662, -662, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -662, -662, 0, 0, - 0, 0, 0, -662, 868, 0, -662, -662, 0, -662, - -662, 0, -662, 0, -662, -662, -662, 0, -662, -662, - -662, 0, -662, -662, -662, 0, -662, 0, 0, 0, - 0, 0, 0, -110, -663, -663, -663, -663, -663, -663, - -663, -663, -663, 0, 0, 0, -662, -662, -662, 0, - -663, 0, -663, -663, -663, -663, -662, 0, 0, 0, - 0, -663, -663, -663, -663, -663, -663, -663, 0, 0, - -663, 0, 0, 0, 0, 0, 0, 0, 0, -663, - -663, -663, -663, -663, -663, -663, -663, -663, 0, -663, - -663, -663, 0, 0, -663, 0, 0, -663, -663, 0, - -663, -663, -663, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -663, -663, 0, 0, 0, - 0, 0, -663, 869, 0, -663, -663, 0, -663, -663, - 0, -663, 0, -663, -663, -663, 0, -663, -663, -663, - 0, -663, -663, -663, 0, -663, 0, 0, 0, 0, - 0, 0, -112, -664, -664, -664, -664, -664, -664, -664, - -664, -664, 0, 0, 0, -663, -663, -663, 0, -664, - 0, -664, -664, -664, -664, -663, 0, 0, 0, 0, - -664, -664, -664, -664, -664, -664, -664, 0, 0, -664, - 0, 0, 0, 0, 0, 0, 0, 0, -664, -664, - -664, -664, -664, -664, -664, -664, -664, 0, -664, -664, - -664, 0, 0, -664, 0, 0, -664, -664, 0, -664, - -664, -664, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -664, -664, 0, 0, 0, 0, - 0, -664, 0, 0, -664, -664, 0, -664, -664, 0, - -664, 0, -664, -664, -664, 0, -664, -664, -664, 0, - -664, -664, -664, 0, -664, 0, 0, 0, 0, 0, - 0, -665, -665, -665, -665, -665, -665, -665, -665, -665, - 0, 0, 0, 0, -664, -664, -664, -665, 0, -665, - -665, -665, -665, 0, -664, 0, 0, 0, -665, -665, - -665, -665, -665, -665, -665, 0, 0, -665, 0, 0, - 0, 0, 0, 0, 0, 0, -665, -665, -665, -665, - -665, -665, -665, -665, -665, 0, -665, -665, -665, 0, - 0, -665, 0, 0, -665, -665, 0, -665, -665, -665, + 0, 0, 0, 0, 0, 0, -661, -661, -661, 0, + -661, 0, 0, 0, 0, 0, -661, -662, -662, -662, + -662, -662, -662, -662, -662, -662, 0, 0, 0, 0, + 0, 0, 0, -662, 0, -662, -662, -662, -662, 0, + -662, 0, 0, 0, -662, -662, -662, -662, -662, -662, + -662, 0, 0, -662, 0, 0, 0, 0, 0, 0, + 0, 0, -662, -662, -662, -662, -662, -662, -662, -662, + -662, 0, -662, -662, -662, 0, 0, -662, 0, 0, + -662, -662, 0, -662, -662, -662, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -662, -662, + 0, 0, 0, 0, 0, -662, 0, 0, -662, -662, + 0, -662, -662, 0, -662, 0, -662, -662, -662, 0, + -662, -662, -662, 0, -662, -662, -662, 0, -662, 0, + 0, 0, 0, 0, 0, -664, -664, -664, -664, -664, + -664, -664, -664, -664, 0, 0, 0, 0, -662, -662, + -662, -664, -662, -664, -664, -664, -664, 0, -662, 0, + 0, 0, -664, -664, -664, -664, -664, -664, -664, 0, + 0, -664, 0, 0, 0, 0, 0, 0, 0, 0, + -664, -664, -664, -664, -664, -664, -664, -664, -664, 0, + -664, -664, -664, 0, 0, -664, 0, 0, -664, -664, + 0, -664, -664, -664, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -664, -664, 0, 0, + 0, 0, 0, -664, 868, 0, -664, -664, 0, -664, + -664, 0, -664, 0, -664, -664, -664, 0, -664, -664, + -664, 0, -664, -664, -664, 0, -664, 0, 0, 0, + 0, 0, 0, -110, -665, -665, -665, -665, -665, -665, + -665, -665, -665, 0, 0, 0, -664, -664, -664, 0, + -665, 0, -665, -665, -665, -665, -664, 0, 0, 0, + 0, -665, -665, -665, -665, -665, -665, -665, 0, 0, + -665, 0, 0, 0, 0, 0, 0, 0, 0, -665, + -665, -665, -665, -665, -665, -665, -665, -665, 0, -665, + -665, -665, 0, 0, -665, 0, 0, -665, -665, 0, + -665, -665, -665, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -665, -665, 0, 0, 0, + 0, 0, -665, 869, 0, -665, -665, 0, -665, -665, + 0, -665, 0, -665, -665, -665, 0, -665, -665, -665, + 0, -665, -665, -665, 0, -665, 0, 0, 0, 0, + 0, 0, -112, -666, -666, -666, -666, -666, -666, -666, + -666, -666, 0, 0, 0, -665, -665, -665, 0, -666, + 0, -666, -666, -666, -666, -665, 0, 0, 0, 0, + -666, -666, -666, -666, -666, -666, -666, 0, 0, -666, + 0, 0, 0, 0, 0, 0, 0, 0, -666, -666, + -666, -666, -666, -666, -666, -666, -666, 0, -666, -666, + -666, 0, 0, -666, 0, 0, -666, -666, 0, -666, + -666, -666, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -666, -666, 0, 0, 0, 0, + 0, -666, 0, 0, -666, -666, 0, -666, -666, 0, + -666, 0, -666, -666, -666, 0, -666, -666, -666, 0, + -666, -666, -666, 0, -666, 0, 0, 0, 0, 0, + 0, -667, -667, -667, -667, -667, -667, -667, -667, -667, + 0, 0, 0, 0, -666, -666, -666, -667, 0, -667, + -667, -667, -667, 0, -666, 0, 0, 0, -667, -667, + -667, -667, -667, -667, -667, 0, 0, -667, 0, 0, + 0, 0, 0, 0, 0, 0, -667, -667, -667, -667, + -667, -667, -667, -667, -667, 0, -667, -667, -667, 0, + 0, -667, 0, 0, -667, -667, 0, -667, -667, -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -665, -665, 0, 0, 0, 0, 0, -665, - 0, 0, -665, -665, 0, -665, -665, 0, -665, 0, - -665, -665, -665, 0, -665, -665, -665, 0, -665, -665, - -665, 0, -665, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -667, -667, 0, 0, 0, 0, 0, -667, + 0, 0, -667, -667, 0, -667, -667, 0, -667, 0, + -667, -667, -667, 0, -667, -667, -667, 0, -667, -667, + -667, 0, -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -665, -665, -665, 0, 0, 0, 0, 0, - 0, 0, -665, 131, 132, 133, 134, 135, 136, 137, + 0, 0, -667, -667, -667, 0, 0, 0, 0, 0, + 0, 0, -667, 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, 232, 233, 234, 235, 162, 163, 164, @@ -6467,15 +6468,16 @@ static const yytype_int16 yyr1[] = 299, 301, 301, 302, 302, 302, 303, 303, 303, 303, 304, 304, 305, 305, 306, 306, 307, 307, 308, 308, 309, 309, 310, 310, 311, 311, 311, 311, 312, 312, - 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, - 313, 313, 313, 313, 313, 314, 314, 314, 314, 314, - 315, 315, 316, 317, 316, 318, 318, 319, 320, 321, - 322, 322, 323, 323, 324, 324, 325, 325, 326, 326, - 327, 327, 328, 328, 329, 330, 329, 331, 331, 332, - 332, 333, 333, 333, 333, 333, 333, 333, 333, 334, - 334, 334, 335, 335, 335, 335, 336, 336, 336, 337, - 337, 338, 338, 339, 339, 340, 340, 341, 341, 342, - 343, 343, 343, 344, 344, 345, 345, 346, 346, 347 + 312, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 314, 314, 314, 314, + 314, 315, 315, 316, 317, 316, 318, 318, 319, 320, + 321, 322, 322, 323, 323, 324, 324, 325, 325, 326, + 326, 327, 327, 328, 328, 328, 329, 330, 329, 331, + 331, 332, 332, 333, 333, 333, 333, 333, 333, 333, + 333, 334, 334, 334, 335, 335, 335, 335, 336, 336, + 336, 337, 337, 338, 338, 339, 339, 340, 340, 341, + 341, 342, 343, 343, 343, 344, 344, 345, 345, 346, + 346, 347 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -6540,16 +6542,17 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, 1, 1, 3, 5, 3, 1, 2, 4, 2, 2, 2, 2, 1, 2, 1, 1, 3, 1, 3, - 1, 1, 2, 1, 4, 2, 2, 1, 2, 0, - 6, 8, 4, 6, 4, 6, 2, 4, 6, 2, - 4, 2, 4, 1, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 1, 3, 2, 2, 2, - 1, 3, 1, 3, 1, 1, 2, 1, 1, 1, - 2, 1, 2, 1, 1, 0, 4, 1, 2, 1, - 3, 3, 3, 2, 2, 3, 3, 2, 1, 1, + 1, 1, 2, 1, 4, 2, 2, 1, 2, 1, + 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, 1, 0, 4, 1, + 2, 1, 3, 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 2, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 2, 0 + 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, + 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, + 2, 0 }; @@ -7216,7 +7219,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7220 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7223 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7434,7 +7437,7 @@ yyreduce: p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7441 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ @@ -7442,7 +7445,7 @@ yyreduce: { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7449 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ @@ -7450,7 +7453,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 7454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7457 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ @@ -7458,7 +7461,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ @@ -7466,7 +7469,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7473 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ @@ -7474,7 +7477,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7481 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ @@ -7482,7 +7485,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7489 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ @@ -7491,7 +7494,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7498 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ @@ -7502,7 +7505,7 @@ yyreduce: nvars_unnest(p); (yyval.nd) = 0; } -#line 7506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7509 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ @@ -7527,7 +7530,7 @@ yyreduce: } } } -#line 7531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7534 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ @@ -7535,7 +7538,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 7539 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7542 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ @@ -7543,7 +7546,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7547 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7550 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ @@ -7551,7 +7554,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7558 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ @@ -7559,7 +7562,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7563 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7566 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ @@ -7567,13 +7570,13 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ #line 2278 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7577 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7580 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ @@ -7581,7 +7584,7 @@ yyreduce: { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 7585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7588 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ @@ -7589,7 +7592,7 @@ yyreduce: { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 7593 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7596 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ @@ -7597,7 +7600,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 7601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ @@ -7605,7 +7608,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 7609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7612 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ @@ -7618,7 +7621,7 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7625 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ @@ -7631,7 +7634,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ @@ -7639,7 +7642,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ @@ -7648,7 +7651,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 7652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7655 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ @@ -7656,7 +7659,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ @@ -7664,7 +7667,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ @@ -7672,7 +7675,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7679 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ @@ -7680,7 +7683,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7687 "mrbgems/mruby-compiler/core/y.tab.c" break; case 33: /* command_asgn: lhs '=' command_rhs */ @@ -7688,7 +7691,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7695 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: var_lhs tOP_ASGN command_rhs */ @@ -7696,7 +7699,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7703 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ @@ -7704,7 +7707,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7711 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ @@ -7712,7 +7715,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7719 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ @@ -7720,7 +7723,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7727 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ @@ -7729,7 +7732,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 7733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7736 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ @@ -7737,7 +7740,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7744 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ @@ -7750,7 +7753,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7754 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7757 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -7763,7 +7766,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ @@ -7776,7 +7779,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7783 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -7789,7 +7792,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: backref tOP_ASGN command_rhs */ @@ -7798,7 +7801,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 7802 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7805 "mrbgems/mruby-compiler/core/y.tab.c" break; case 46: /* command_rhs: command_call "'rescue' modifier" stmt */ @@ -7806,7 +7809,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7810 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7813 "mrbgems/mruby-compiler/core/y.tab.c" break; case 49: /* expr: expr "'and'" expr */ @@ -7814,7 +7817,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7818 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7821 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'or'" expr */ @@ -7822,7 +7825,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7826 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7829 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: "'not'" opt_nl expr */ @@ -7830,7 +7833,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7837 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: '!' command_call */ @@ -7838,13 +7841,13 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7842 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7845 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* $@4: %empty */ #line 2438 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 7848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7851 "mrbgems/mruby-compiler/core/y.tab.c" break; case 54: /* expr: arg "=>" $@4 p_expr */ @@ -7854,13 +7857,13 @@ yyreduce: p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), TRUE); } -#line 7858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7861 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* $@5: %empty */ #line 2444 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 7864 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7867 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* expr: arg "'in'" $@5 p_expr */ @@ -7870,7 +7873,7 @@ yyreduce: p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), FALSE); } -#line 7874 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7877 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* defn_head: "'def'" fname */ @@ -7881,7 +7884,7 @@ yyreduce: p->in_def++; nvars_block(p); } -#line 7885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 59: /* $@6: %empty */ @@ -7889,7 +7892,7 @@ yyreduce: { p->lstate = EXPR_FNAME; } -#line 7893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7896 "mrbgems/mruby-compiler/core/y.tab.c" break; case 60: /* defs_head: "'def'" singleton dot_or_colon $@6 fname */ @@ -7902,7 +7905,7 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 7906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 61: /* expr_value: expr */ @@ -7913,7 +7916,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); } } -#line 7917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7920 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* block_command: block_call call_op2 operation2 command_args */ @@ -7921,7 +7924,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 7925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7928 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* $@7: %empty */ @@ -7930,7 +7933,7 @@ yyreduce: local_nest(p); nvars_nest(p); } -#line 7934 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7937 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* cmd_brace_block: "{" $@7 opt_block_param compstmt '}' */ @@ -7940,7 +7943,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 7944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7947 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: operation command_args */ @@ -7948,7 +7951,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7955 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: operation command_args cmd_brace_block */ @@ -7957,7 +7960,7 @@ yyreduce: args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 7961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7964 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value call_op operation2 command_args */ @@ -7965,7 +7968,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 7969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7972 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: primary_value call_op operation2 command_args cmd_brace_block */ @@ -7974,7 +7977,7 @@ yyreduce: args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); } -#line 7978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: primary_value "::" operation2 command_args */ @@ -7982,7 +7985,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 7986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7989 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: primary_value "::" operation2 command_args cmd_brace_block */ @@ -7991,7 +7994,7 @@ yyreduce: args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), tCOLON2); } -#line 7995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'super'" command_args */ @@ -7999,7 +8002,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8006 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'yield'" command_args */ @@ -8007,7 +8010,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8011 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8014 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* command: "'return'" call_args */ @@ -8015,7 +8018,7 @@ yyreduce: { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8019 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8022 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* command: "'break'" call_args */ @@ -8023,7 +8026,7 @@ yyreduce: { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8030 "mrbgems/mruby-compiler/core/y.tab.c" break; case 78: /* command: "'next'" call_args */ @@ -8031,7 +8034,7 @@ yyreduce: { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8038 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs: mlhs_basic */ @@ -8039,7 +8042,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 8043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs: tLPAREN mlhs_inner rparen */ @@ -8047,7 +8050,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8054 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_inner: tLPAREN mlhs_inner rparen */ @@ -8055,7 +8058,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8062 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list */ @@ -8063,7 +8066,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8070 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list mlhs_item */ @@ -8071,7 +8074,7 @@ yyreduce: { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8078 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" mlhs_node */ @@ -8079,7 +8082,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8086 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ @@ -8087,7 +8090,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8094 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: mlhs_list "*" */ @@ -8095,7 +8098,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8102 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ @@ -8103,7 +8106,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8110 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: /* mlhs_basic: "*" mlhs_node */ @@ -8111,7 +8114,7 @@ yyreduce: { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8118 "mrbgems/mruby-compiler/core/y.tab.c" break; case 90: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ @@ -8119,7 +8122,7 @@ yyreduce: { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8126 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: /* mlhs_basic: "*" */ @@ -8127,7 +8130,7 @@ yyreduce: { (yyval.nd) = list2(0, new_nil(p)); } -#line 8131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: /* mlhs_basic: "*" ',' mlhs_post */ @@ -8135,7 +8138,7 @@ yyreduce: { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 8139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: /* mlhs_item: tLPAREN mlhs_inner rparen */ @@ -8143,7 +8146,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8150 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: /* mlhs_list: mlhs_item ',' */ @@ -8151,7 +8154,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 8155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8158 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: /* mlhs_list: mlhs_list mlhs_item ',' */ @@ -8159,7 +8162,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8166 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: /* mlhs_post: mlhs_item */ @@ -8167,7 +8170,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8174 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: /* mlhs_post: mlhs_list mlhs_item */ @@ -8175,7 +8178,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8179 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8182 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: /* mlhs_node: variable */ @@ -8183,7 +8186,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8190 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: /* mlhs_node: primary_value '[' opt_call_args ']' */ @@ -8191,7 +8194,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8195 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8198 "mrbgems/mruby-compiler/core/y.tab.c" break; case 101: /* mlhs_node: primary_value call_op "local variable or method" */ @@ -8199,7 +8202,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8203 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" break; case 102: /* mlhs_node: primary_value "::" "local variable or method" */ @@ -8207,7 +8210,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8211 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8214 "mrbgems/mruby-compiler/core/y.tab.c" break; case 103: /* mlhs_node: primary_value call_op "constant" */ @@ -8215,7 +8218,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8219 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8222 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: /* mlhs_node: primary_value "::" "constant" */ @@ -8225,7 +8228,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8229 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8232 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: /* mlhs_node: tCOLON3 "constant" */ @@ -8235,7 +8238,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: /* mlhs_node: backref */ @@ -8244,7 +8247,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: /* lhs: variable */ @@ -8252,7 +8255,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: /* lhs: primary_value '[' opt_call_args ']' */ @@ -8260,7 +8263,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 109: /* lhs: primary_value call_op "local variable or method" */ @@ -8268,7 +8271,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 110: /* lhs: primary_value "::" "local variable or method" */ @@ -8276,7 +8279,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8283 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: /* lhs: primary_value call_op "constant" */ @@ -8284,7 +8287,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: primary_value "::" "constant" */ @@ -8294,7 +8297,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* lhs: tCOLON3 "constant" */ @@ -8304,7 +8307,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8311 "mrbgems/mruby-compiler/core/y.tab.c" break; case 114: /* lhs: backref */ @@ -8313,7 +8316,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8320 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* lhs: "numbered parameter" */ @@ -8321,7 +8324,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8328 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cname: "local variable or method" */ @@ -8329,7 +8332,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8336 "mrbgems/mruby-compiler/core/y.tab.c" break; case 118: /* cpath: tCOLON3 cname */ @@ -8337,7 +8340,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8344 "mrbgems/mruby-compiler/core/y.tab.c" break; case 119: /* cpath: cname */ @@ -8345,7 +8348,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8349 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8352 "mrbgems/mruby-compiler/core/y.tab.c" break; case 120: /* cpath: primary_value "::" cname */ @@ -8354,7 +8357,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8358 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8361 "mrbgems/mruby-compiler/core/y.tab.c" break; case 124: /* fname: op */ @@ -8363,7 +8366,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8367 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8370 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* fname: reswords */ @@ -8372,7 +8375,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8379 "mrbgems/mruby-compiler/core/y.tab.c" break; case 128: /* undef_list: fsym */ @@ -8380,13 +8383,13 @@ yyreduce: { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8387 "mrbgems/mruby-compiler/core/y.tab.c" break; case 129: /* $@8: %empty */ #line 2774 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8390 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8393 "mrbgems/mruby-compiler/core/y.tab.c" break; case 130: /* undef_list: undef_list ',' $@8 fsym */ @@ -8394,187 +8397,187 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } -#line 8398 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8401 "mrbgems/mruby-compiler/core/y.tab.c" break; case 131: /* op: '|' */ #line 2780 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(or); } -#line 8404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 132: /* op: '^' */ #line 2781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(xor); } -#line 8410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 133: /* op: '&' */ #line 2782 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 8416 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8419 "mrbgems/mruby-compiler/core/y.tab.c" break; case 134: /* op: "<=>" */ #line 2783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(cmp); } -#line 8422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8425 "mrbgems/mruby-compiler/core/y.tab.c" break; case 135: /* op: "==" */ #line 2784 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eq); } -#line 8428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 136: /* op: "===" */ #line 2785 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eqq); } -#line 8434 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8437 "mrbgems/mruby-compiler/core/y.tab.c" break; case 137: /* op: "=~" */ #line 2786 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(match); } -#line 8440 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" break; case 138: /* op: "!~" */ #line 2787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(nmatch); } -#line 8446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8449 "mrbgems/mruby-compiler/core/y.tab.c" break; case 139: /* op: '>' */ #line 2788 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(gt); } -#line 8452 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8455 "mrbgems/mruby-compiler/core/y.tab.c" break; case 140: /* op: ">=" */ #line 2789 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(ge); } -#line 8458 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8461 "mrbgems/mruby-compiler/core/y.tab.c" break; case 141: /* op: '<' */ #line 2790 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lt); } -#line 8464 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8467 "mrbgems/mruby-compiler/core/y.tab.c" break; case 142: /* op: "<=" */ #line 2791 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(le); } -#line 8470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8473 "mrbgems/mruby-compiler/core/y.tab.c" break; case 143: /* op: "!=" */ #line 2792 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neq); } -#line 8476 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8479 "mrbgems/mruby-compiler/core/y.tab.c" break; case 144: /* op: "<<" */ #line 2793 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lshift); } -#line 8482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8485 "mrbgems/mruby-compiler/core/y.tab.c" break; case 145: /* op: ">>" */ #line 2794 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(rshift); } -#line 8488 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8491 "mrbgems/mruby-compiler/core/y.tab.c" break; case 146: /* op: '+' */ #line 2795 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(add); } -#line 8494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8497 "mrbgems/mruby-compiler/core/y.tab.c" break; case 147: /* op: '-' */ #line 2796 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(sub); } -#line 8500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8503 "mrbgems/mruby-compiler/core/y.tab.c" break; case 148: /* op: '*' */ #line 2797 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8509 "mrbgems/mruby-compiler/core/y.tab.c" break; case 149: /* op: "*" */ #line 2798 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 150: /* op: '/' */ #line 2799 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(div); } -#line 8518 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8521 "mrbgems/mruby-compiler/core/y.tab.c" break; case 151: /* op: '%' */ #line 2800 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mod); } -#line 8524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8527 "mrbgems/mruby-compiler/core/y.tab.c" break; case 152: /* op: tPOW */ #line 2801 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8530 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8533 "mrbgems/mruby-compiler/core/y.tab.c" break; case 153: /* op: "**" */ #line 2802 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8536 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8539 "mrbgems/mruby-compiler/core/y.tab.c" break; case 154: /* op: '!' */ #line 2803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(not); } -#line 8542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8545 "mrbgems/mruby-compiler/core/y.tab.c" break; case 155: /* op: '~' */ #line 2804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neg); } -#line 8548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8551 "mrbgems/mruby-compiler/core/y.tab.c" break; case 156: /* op: "unary plus" */ #line 2805 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(plus); } -#line 8554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8557 "mrbgems/mruby-compiler/core/y.tab.c" break; case 157: /* op: "unary minus" */ #line 2806 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(minus); } -#line 8560 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 158: /* op: tAREF */ #line 2807 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aref); } -#line 8566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8569 "mrbgems/mruby-compiler/core/y.tab.c" break; case 159: /* op: tASET */ #line 2808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aset); } -#line 8572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8575 "mrbgems/mruby-compiler/core/y.tab.c" break; case 160: /* op: '`' */ #line 2809 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(tick); } -#line 8578 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8581 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: /* arg: lhs '=' arg_rhs */ @@ -8582,7 +8585,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8589 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: /* arg: var_lhs tOP_ASGN arg_rhs */ @@ -8590,7 +8593,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ @@ -8598,7 +8601,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8605 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ @@ -8606,7 +8609,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8610 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ @@ -8614,7 +8617,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8618 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8621 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ @@ -8622,7 +8625,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8626 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8629 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ @@ -8631,7 +8634,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ @@ -8640,7 +8643,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8647 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: backref tOP_ASGN arg_rhs */ @@ -8649,7 +8652,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8653 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8656 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg ".." arg */ @@ -8657,7 +8660,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8661 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8664 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg ".." */ @@ -8665,7 +8668,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT2 arg */ @@ -8673,7 +8676,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 8677 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg "..." arg */ @@ -8681,7 +8684,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8685 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8688 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg "..." */ @@ -8689,7 +8692,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: tBDOT3 arg */ @@ -8697,7 +8700,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 8701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '+' arg */ @@ -8705,7 +8708,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 8709 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8712 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '-' arg */ @@ -8713,7 +8716,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 8717 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8720 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg '*' arg */ @@ -8721,7 +8724,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 8725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: arg '/' arg */ @@ -8729,7 +8732,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 8733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8736 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: arg '%' arg */ @@ -8737,7 +8740,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 8741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8744 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: arg tPOW arg */ @@ -8745,7 +8748,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 8749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8752 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ @@ -8753,7 +8756,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8760 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: tUMINUS_NUM "float literal" tPOW arg */ @@ -8761,7 +8764,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8765 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8768 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: "unary plus" arg */ @@ -8769,7 +8772,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 8773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8776 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: "unary minus" arg */ @@ -8777,7 +8780,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 8781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8784 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg '|' arg */ @@ -8785,7 +8788,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 8789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8792 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '^' arg */ @@ -8793,7 +8796,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 8797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8800 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg '&' arg */ @@ -8801,7 +8804,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 8805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8808 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg "<=>" arg */ @@ -8809,7 +8812,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 8813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg '>' arg */ @@ -8817,7 +8820,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 8821 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg ">=" arg */ @@ -8825,7 +8828,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 8829 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg '<' arg */ @@ -8833,7 +8836,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 8837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "<=" arg */ @@ -8841,7 +8844,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 8845 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "==" arg */ @@ -8849,7 +8852,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 8853 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "===" arg */ @@ -8857,7 +8860,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 8861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: arg "!=" arg */ @@ -8865,7 +8868,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 8869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: arg "=~" arg */ @@ -8873,7 +8876,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 8877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "!~" arg */ @@ -8881,7 +8884,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 8885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: '!' arg */ @@ -8889,7 +8892,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8896 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: '~' arg */ @@ -8897,7 +8900,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 8901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8904 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "<<" arg */ @@ -8905,7 +8908,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8912 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg ">>" arg */ @@ -8913,7 +8916,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 8917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8920 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg "&&" arg */ @@ -8921,7 +8924,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8928 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: arg "||" arg */ @@ -8929,7 +8932,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8936 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: arg '?' arg opt_nl ':' arg */ @@ -8937,7 +8940,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8944 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: arg '?' arg opt_nl "label" arg */ @@ -8945,7 +8948,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8952 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defn_head f_opt_arglist_paren '=' arg */ @@ -8958,7 +8961,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8965 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -8971,7 +8974,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8975 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" break; case 249: /* arg: defs_head f_opt_arglist_paren '=' arg */ @@ -8984,7 +8987,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -8997,7 +9000,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9004 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* arg: primary */ @@ -9005,7 +9008,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9012 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* aref_args: args trailer */ @@ -9013,7 +9016,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9020 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* aref_args: args comma assocs trailer */ @@ -9021,7 +9024,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9028 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* aref_args: assocs trailer */ @@ -9029,7 +9032,7 @@ yyreduce: { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9036 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* arg_rhs: arg */ @@ -9037,7 +9040,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9044 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* arg_rhs: arg "'rescue' modifier" arg */ @@ -9046,7 +9049,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9050 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9053 "mrbgems/mruby-compiler/core/y.tab.c" break; case 258: /* paren_args: '(' opt_call_args ')' */ @@ -9054,7 +9057,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9061 "mrbgems/mruby-compiler/core/y.tab.c" break; case 259: /* paren_args: '(' args comma tBDOT3 rparen */ @@ -9067,7 +9070,7 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9071 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9074 "mrbgems/mruby-compiler/core/y.tab.c" break; case 260: /* paren_args: '(' tBDOT3 rparen */ @@ -9086,7 +9089,7 @@ yyreduce: (yyval.nd) = 0; } } -#line 9090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: /* opt_call_args: args comma */ @@ -9094,7 +9097,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9101 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: /* opt_call_args: args comma assocs comma */ @@ -9102,7 +9105,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: /* opt_call_args: assocs comma */ @@ -9110,7 +9113,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9117 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: /* call_args: command */ @@ -9119,7 +9122,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9126 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: /* call_args: args opt_block_arg */ @@ -9127,7 +9130,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 270: /* call_args: assocs opt_block_arg */ @@ -9135,7 +9138,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 271: /* call_args: args comma assocs opt_block_arg */ @@ -9143,7 +9146,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9150 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: /* call_args: block_arg */ @@ -9151,7 +9154,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9158 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: /* @9: %empty */ @@ -9160,7 +9163,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: /* command_args: @9 call_args */ @@ -9169,7 +9172,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: /* block_arg: "&" arg */ @@ -9177,7 +9180,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" break; case 276: /* block_arg: "&" */ @@ -9185,7 +9188,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, 0); } -#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: /* opt_block_arg: comma block_arg */ @@ -9193,7 +9196,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9200 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: /* opt_block_arg: none */ @@ -9201,7 +9204,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 9205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9208 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: /* args: arg */ @@ -9210,7 +9213,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9217 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: /* args: "*" */ @@ -9218,7 +9221,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9225 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: /* args: "*" arg */ @@ -9226,7 +9229,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9233 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: /* args: args comma arg */ @@ -9235,7 +9238,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 284: /* args: args comma "*" */ @@ -9243,7 +9246,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9247 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9250 "mrbgems/mruby-compiler/core/y.tab.c" break; case 285: /* args: args comma "*" arg */ @@ -9251,7 +9254,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9258 "mrbgems/mruby-compiler/core/y.tab.c" break; case 286: /* mrhs: args comma arg */ @@ -9260,7 +9263,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 287: /* mrhs: args comma "*" arg */ @@ -9268,7 +9271,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 288: /* mrhs: "*" arg */ @@ -9276,7 +9279,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9283 "mrbgems/mruby-compiler/core/y.tab.c" break; case 290: /* primary: string */ @@ -9284,7 +9287,7 @@ yyreduce: { (yyval.nd) = new_str(p, (yyvsp[0].nd)); } -#line 9288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 291: /* primary: xstring */ @@ -9292,7 +9295,7 @@ yyreduce: { (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); } -#line 9296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9299 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: /* primary: "method" */ @@ -9300,7 +9303,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 9304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9307 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: /* @10: %empty */ @@ -9309,7 +9312,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9316 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: /* primary: "'begin'" @10 bodystmt "'end'" */ @@ -9318,7 +9321,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); } -#line 9322 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: /* @11: %empty */ @@ -9327,13 +9330,13 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9331 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* $@12: %empty */ #line 3264 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9337 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9340 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: "(" @11 stmt $@12 rparen */ @@ -9342,13 +9345,13 @@ yyreduce: p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 9346 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9349 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* $@13: %empty */ #line 3269 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9355 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: "(" $@13 rparen */ @@ -9356,7 +9359,7 @@ yyreduce: { (yyval.nd) = new_nil(p); } -#line 9360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9363 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: tLPAREN compstmt ')' */ @@ -9364,7 +9367,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9371 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: primary_value "::" "constant" */ @@ -9372,7 +9375,7 @@ yyreduce: { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9379 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: tCOLON3 "constant" */ @@ -9380,7 +9383,7 @@ yyreduce: { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9387 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "[" aref_args ']' */ @@ -9388,7 +9391,7 @@ yyreduce: { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9395 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: tLBRACE assoc_list '}' */ @@ -9396,7 +9399,7 @@ yyreduce: { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9403 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'return'" */ @@ -9404,7 +9407,7 @@ yyreduce: { (yyval.nd) = new_return(p, 0); } -#line 9408 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9411 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: "'yield'" opt_paren_args */ @@ -9412,7 +9415,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9416 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9419 "mrbgems/mruby-compiler/core/y.tab.c" break; case 311: /* primary: "'not'" '(' expr rparen */ @@ -9420,7 +9423,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9424 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: "'not'" '(' rparen */ @@ -9428,7 +9431,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9432 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9435 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* primary: operation brace_block */ @@ -9436,7 +9439,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9440 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9443 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: method_call brace_block */ @@ -9445,7 +9448,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9452 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* @14: %empty */ @@ -9456,7 +9459,7 @@ yyreduce: (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* @15: %empty */ @@ -9465,7 +9468,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9469 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9472 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* primary: "->" @14 f_larglist @15 lambda_body */ @@ -9478,7 +9481,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9485 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ @@ -9487,7 +9490,7 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9494 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ @@ -9496,19 +9499,19 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd), (yyvsp[-2].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9503 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ #line 3356 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9509 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ #line 3356 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'while'" $@16 expr_value do $@17 compstmt "'end'" */ @@ -9517,19 +9520,19 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9521 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9524 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* $@18: %empty */ #line 3363 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9527 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9530 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* $@19: %empty */ #line 3363 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9533 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9536 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'until'" $@18 expr_value do $@19 compstmt "'end'" */ @@ -9538,7 +9541,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ @@ -9546,7 +9549,7 @@ yyreduce: { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9553 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: /* primary: "'case'" opt_terms case_body "'end'" */ @@ -9554,7 +9557,7 @@ yyreduce: { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ @@ -9563,7 +9566,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-7].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9567 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ @@ -9572,7 +9575,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ @@ -9581,19 +9584,19 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), TRUE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9588 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* $@20: %empty */ #line 3408 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9591 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9594 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* $@21: %empty */ #line 3410 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9597 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9600 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* primary: "'for'" for_var "'in'" $@20 expr_value do $@21 compstmt "'end'" */ @@ -9602,7 +9605,7 @@ yyreduce: (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 9606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9609 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ @@ -9613,7 +9616,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9617 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9620 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" cpath superclass @22 bodystmt "'end'" */ @@ -9624,7 +9627,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ @@ -9633,7 +9636,7 @@ yyreduce: (yyval.num) = p->in_def; p->in_def = 0; } -#line 9637 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9640 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* @24: %empty */ @@ -9643,7 +9646,7 @@ yyreduce: nvars_block(p); p->in_single = 0; } -#line 9647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9650 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: "'class'" "<<" expr @23 term @24 bodystmt "'end'" */ @@ -9656,7 +9659,7 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 9660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* @25: %empty */ @@ -9667,7 +9670,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9671 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9674 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'module'" cpath @25 bodystmt "'end'" */ @@ -9678,7 +9681,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9682 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9685 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: defn_head f_arglist bodystmt "'end'" */ @@ -9689,7 +9692,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: defs_head f_arglist bodystmt "'end'" */ @@ -9701,7 +9704,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'break'" */ @@ -9709,7 +9712,7 @@ yyreduce: { (yyval.nd) = new_break(p, 0); } -#line 9713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary: "'next'" */ @@ -9717,7 +9720,7 @@ yyreduce: { (yyval.nd) = new_next(p, 0); } -#line 9721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 346: /* primary: "'redo'" */ @@ -9725,7 +9728,7 @@ yyreduce: { (yyval.nd) = new_redo(p); } -#line 9729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9732 "mrbgems/mruby-compiler/core/y.tab.c" break; case 347: /* primary: "'retry'" */ @@ -9733,7 +9736,7 @@ yyreduce: { (yyval.nd) = new_retry(p); } -#line 9737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9740 "mrbgems/mruby-compiler/core/y.tab.c" break; case 348: /* primary_value: primary */ @@ -9742,7 +9745,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9749 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ @@ -9750,7 +9753,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9757 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* opt_else: "'else'" compstmt */ @@ -9758,7 +9761,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9762 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9765 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* for_var: lhs */ @@ -9766,7 +9769,7 @@ yyreduce: { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 9770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9773 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg */ @@ -9774,7 +9777,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 9778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9781 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" f_norm_arg */ @@ -9782,7 +9785,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 9786 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9789 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ @@ -9790,7 +9793,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9794 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9797 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: f_arg ',' "*" */ @@ -9799,7 +9802,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 9803 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9806 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: f_arg ',' "*" ',' f_arg */ @@ -9807,7 +9810,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 9811 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9814 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* f_margs: "*" f_norm_arg */ @@ -9815,7 +9818,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 9819 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9822 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" f_norm_arg ',' f_arg */ @@ -9823,7 +9826,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9827 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* f_margs: "*" */ @@ -9832,7 +9835,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9839 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* $@26: %empty */ @@ -9840,7 +9843,7 @@ yyreduce: { local_add_f(p, intern_op(mul)); } -#line 9844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9847 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* f_margs: "*" ',' $@26 f_arg */ @@ -9848,7 +9851,7 @@ yyreduce: { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 9852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9855 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ @@ -9856,7 +9859,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9860 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9863 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* block_args_tail: f_block_kwarg opt_f_block_arg */ @@ -9864,7 +9867,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9871 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* block_args_tail: f_kwrest opt_f_block_arg */ @@ -9872,7 +9875,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9876 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9879 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_args_tail: f_block_arg */ @@ -9880,7 +9883,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9887 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* opt_block_args_tail: ',' block_args_tail */ @@ -9888,7 +9891,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9892 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9895 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* opt_block_args_tail: %empty */ @@ -9896,7 +9899,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9903 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -9904,7 +9907,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9911 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9912,7 +9915,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9916 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9919 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ @@ -9920,7 +9923,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9924 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9927 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ @@ -9928,7 +9931,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9935 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ @@ -9936,7 +9939,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9943 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_arg ',' opt_block_args_tail */ @@ -9944,7 +9947,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9952,7 +9955,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9956 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9959 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_arg opt_block_args_tail */ @@ -9960,7 +9963,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9967 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -9968,7 +9971,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -9976,7 +9979,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9983 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_block_optarg opt_block_args_tail */ @@ -9984,7 +9987,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ @@ -9992,7 +9995,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9996 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: /* block_param: f_rest_arg opt_block_args_tail */ @@ -10000,7 +10003,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10004 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10007 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ @@ -10008,7 +10011,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10015 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: /* block_param: block_args_tail */ @@ -10016,7 +10019,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: /* opt_block_param: none */ @@ -10025,7 +10028,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10032 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: /* opt_block_param: block_param_def */ @@ -10034,13 +10037,13 @@ yyreduce: p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10041 "mrbgems/mruby-compiler/core/y.tab.c" break; case 393: /* $@27: %empty */ #line 3695 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p);} -#line 10044 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 394: /* block_param_def: '|' $@27 opt_bv_decl '|' */ @@ -10048,7 +10051,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10055 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: /* block_param_def: "||" */ @@ -10057,7 +10060,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10064 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: /* block_param_def: '|' block_param opt_bv_decl '|' */ @@ -10065,7 +10068,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10072 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: /* opt_bv_decl: opt_nl */ @@ -10073,7 +10076,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10077 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10080 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ @@ -10081,7 +10084,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10085 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10088 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: /* bvar: "local variable or method" */ @@ -10090,7 +10093,7 @@ yyreduce: local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 10094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10097 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: /* f_larglist: '(' f_args opt_bv_decl ')' */ @@ -10098,7 +10101,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10105 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: /* f_larglist: f_args */ @@ -10106,7 +10109,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10113 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: /* lambda_body: tLAMBEG compstmt '}' */ @@ -10114,7 +10117,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10118 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10121 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ @@ -10122,7 +10125,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10129 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* @28: %empty */ @@ -10132,7 +10135,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10139 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* do_block: "'do' for block" @28 opt_block_param bodystmt "'end'" */ @@ -10143,7 +10146,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10150 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: command do_block */ @@ -10152,7 +10155,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10156 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: /* block_call: block_call call_op2 operation2 opt_paren_args */ @@ -10160,7 +10163,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ @@ -10169,7 +10172,7 @@ yyreduce: (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10176 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: /* block_call: block_call call_op2 operation2 command_args do_block */ @@ -10178,7 +10181,7 @@ yyreduce: (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10185 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: operation paren_args */ @@ -10186,7 +10189,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10193 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: /* method_call: primary_value call_op operation2 opt_paren_args */ @@ -10194,7 +10197,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: /* method_call: primary_value "::" operation2 paren_args */ @@ -10202,7 +10205,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10209 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: primary_value "::" operation3 */ @@ -10210,7 +10213,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10217 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: /* method_call: primary_value call_op paren_args */ @@ -10218,7 +10221,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 10222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10225 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value "::" paren_args */ @@ -10226,7 +10229,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } -#line 10230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10233 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* method_call: "'super'" paren_args */ @@ -10234,7 +10237,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10238 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10241 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* method_call: "'super'" */ @@ -10242,7 +10245,7 @@ yyreduce: { (yyval.nd) = new_zsuper(p); } -#line 10246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10249 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: /* method_call: primary_value '[' opt_call_args ']' */ @@ -10250,7 +10253,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10254 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10257 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* @29: %empty */ @@ -10260,7 +10263,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: /* brace_block: '{' @29 opt_block_param compstmt '}' */ @@ -10271,7 +10274,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10275 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10278 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* @30: %empty */ @@ -10281,7 +10284,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10288 "mrbgems/mruby-compiler/core/y.tab.c" break; case 425: /* brace_block: "'do'" @30 opt_block_param bodystmt "'end'" */ @@ -10292,7 +10295,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10299 "mrbgems/mruby-compiler/core/y.tab.c" break; case 426: /* case_body: "'when'" args then compstmt cases */ @@ -10300,7 +10303,7 @@ yyreduce: { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10307 "mrbgems/mruby-compiler/core/y.tab.c" break; case 427: /* cases: opt_else */ @@ -10313,7 +10316,7 @@ yyreduce: (yyval.nd) = 0; } } -#line 10317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10320 "mrbgems/mruby-compiler/core/y.tab.c" break; case 429: /* in_clauses: opt_else */ @@ -10321,13 +10324,13 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10328 "mrbgems/mruby-compiler/core/y.tab.c" break; case 430: /* $@31: %empty */ #line 3884 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10331 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 431: /* in_clauses: "'in'" p_expr $@31 then compstmt in_clauses */ @@ -10336,13 +10339,13 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10343 "mrbgems/mruby-compiler/core/y.tab.c" break; case 432: /* $@32: %empty */ #line 3889 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10346 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10349 "mrbgems/mruby-compiler/core/y.tab.c" break; case 433: /* in_clauses: "'in'" p_expr $@32 "'if' modifier" expr_value then compstmt in_clauses */ @@ -10351,13 +10354,13 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10355 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10358 "mrbgems/mruby-compiler/core/y.tab.c" break; case 434: /* $@33: %empty */ #line 3894 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10364 "mrbgems/mruby-compiler/core/y.tab.c" break; case 435: /* in_clauses: "'in'" p_expr $@33 "'unless' modifier" expr_value then compstmt in_clauses */ @@ -10366,7 +10369,7 @@ yyreduce: node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10370 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 437: /* p_expr: p_args_head p_as */ @@ -10374,7 +10377,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10381 "mrbgems/mruby-compiler/core/y.tab.c" break; case 438: /* p_expr: p_args_head p_rest */ @@ -10382,7 +10385,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 10386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10389 "mrbgems/mruby-compiler/core/y.tab.c" break; case 439: /* p_expr: p_args_head p_rest ',' p_args_post */ @@ -10390,7 +10393,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10397 "mrbgems/mruby-compiler/core/y.tab.c" break; case 440: /* p_expr: p_rest */ @@ -10398,7 +10401,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10402 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: /* p_expr: p_rest ',' p_args_post */ @@ -10406,7 +10409,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 442: /* p_expr: p_hash_elems */ @@ -10415,7 +10418,7 @@ yyreduce: /* Brace-less hash pattern: in a:, b: x */ (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10419 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10422 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: /* p_expr: p_hash_elems ',' p_kwrest */ @@ -10424,7 +10427,7 @@ yyreduce: /* Brace-less hash pattern with kwrest: in a:, **rest */ (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: /* p_expr: p_kwrest */ @@ -10433,7 +10436,7 @@ yyreduce: /* Brace-less kwrest only: in **rest */ (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10437 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10440 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: /* p_args_head: p_as ',' */ @@ -10441,7 +10444,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 10445 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10448 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: /* p_args_head: p_args_head p_as ',' */ @@ -10449,7 +10452,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 10453 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10456 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: /* p_args_post: p_as */ @@ -10457,7 +10460,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10461 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10464 "mrbgems/mruby-compiler/core/y.tab.c" break; case 448: /* p_args_post: p_args_post ',' p_as */ @@ -10465,7 +10468,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10469 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10472 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: /* p_as: p_alt "=>" "local variable or method" */ @@ -10473,7 +10476,7 @@ yyreduce: { (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10477 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10480 "mrbgems/mruby-compiler/core/y.tab.c" break; case 452: /* p_alt: p_alt '|' p_value */ @@ -10481,7 +10484,7 @@ yyreduce: { (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10485 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10488 "mrbgems/mruby-compiler/core/y.tab.c" break; case 454: /* p_value: numeric */ @@ -10489,7 +10492,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10493 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10496 "mrbgems/mruby-compiler/core/y.tab.c" break; case 455: /* p_value: symbol */ @@ -10497,7 +10500,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10504 "mrbgems/mruby-compiler/core/y.tab.c" break; case 456: /* p_value: tSTRING */ @@ -10505,7 +10508,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_str(p, list1((yyvsp[0].nd)))); } -#line 10509 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10512 "mrbgems/mruby-compiler/core/y.tab.c" break; case 457: /* p_value: "'nil'" */ @@ -10513,7 +10516,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_nil(p)); } -#line 10517 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10520 "mrbgems/mruby-compiler/core/y.tab.c" break; case 458: /* p_value: "'true'" */ @@ -10521,7 +10524,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_true(p)); } -#line 10525 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10528 "mrbgems/mruby-compiler/core/y.tab.c" break; case 459: /* p_value: "'false'" */ @@ -10529,7 +10532,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, new_false(p)); } -#line 10533 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10536 "mrbgems/mruby-compiler/core/y.tab.c" break; case 460: /* p_value: p_const */ @@ -10537,7 +10540,7 @@ yyreduce: { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10541 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10544 "mrbgems/mruby-compiler/core/y.tab.c" break; case 463: /* p_value: '^' "local variable or method" */ @@ -10545,7 +10548,7 @@ yyreduce: { (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); } -#line 10549 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10552 "mrbgems/mruby-compiler/core/y.tab.c" break; case 464: /* p_array: "[" p_array_body ']' */ @@ -10553,7 +10556,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10557 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10560 "mrbgems/mruby-compiler/core/y.tab.c" break; case 465: /* p_array: "[" ']' */ @@ -10561,7 +10564,7 @@ yyreduce: { (yyval.nd) = new_pat_array(p, 0, 0, 0); } -#line 10565 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 466: /* p_array_body: p_array_elems */ @@ -10570,7 +10573,7 @@ yyreduce: /* Just pre elements, no rest */ (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); } -#line 10574 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10577 "mrbgems/mruby-compiler/core/y.tab.c" break; case 467: /* p_array_body: p_array_elems ',' p_rest */ @@ -10579,7 +10582,7 @@ yyreduce: /* Pre elements + rest, no post */ (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); } -#line 10583 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10586 "mrbgems/mruby-compiler/core/y.tab.c" break; case 468: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ @@ -10588,7 +10591,7 @@ yyreduce: /* Pre + rest + post */ (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10595 "mrbgems/mruby-compiler/core/y.tab.c" break; case 469: /* p_array_body: p_rest */ @@ -10597,7 +10600,7 @@ yyreduce: /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 470: /* p_array_body: p_rest ',' p_array_elems */ @@ -10606,7 +10609,7 @@ yyreduce: /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10610 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 471: /* p_array_body: p_rest ',' p_array_elems ',' p_rest */ @@ -10615,7 +10618,7 @@ yyreduce: /* Find pattern: [*pre, elems, *post] */ (yyval.nd) = new_pat_find(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 472: /* p_array_elems: p_as */ @@ -10623,7 +10626,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 473: /* p_array_elems: p_array_elems ',' p_as */ @@ -10631,7 +10634,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 474: /* p_rest: "*" "local variable or method" */ @@ -10639,7 +10642,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 475: /* p_rest: "*" */ @@ -10648,7 +10651,7 @@ yyreduce: /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 10652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10655 "mrbgems/mruby-compiler/core/y.tab.c" break; case 476: /* p_const: "constant" */ @@ -10656,7 +10659,7 @@ yyreduce: { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 10660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 477: /* p_const: p_const "::" "constant" */ @@ -10664,7 +10667,7 @@ yyreduce: { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10671 "mrbgems/mruby-compiler/core/y.tab.c" break; case 478: /* p_const: tCOLON3 "constant" */ @@ -10672,7 +10675,7 @@ yyreduce: { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 10676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10679 "mrbgems/mruby-compiler/core/y.tab.c" break; case 479: /* p_hash: tLBRACE p_hash_body '}' */ @@ -10680,7 +10683,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10687 "mrbgems/mruby-compiler/core/y.tab.c" break; case 480: /* p_hash: tLBRACE '}' */ @@ -10688,7 +10691,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 10692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10695 "mrbgems/mruby-compiler/core/y.tab.c" break; case 481: /* p_hash_body: p_hash_elems */ @@ -10696,7 +10699,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10703 "mrbgems/mruby-compiler/core/y.tab.c" break; case 482: /* p_hash_body: p_hash_elems ',' p_kwrest */ @@ -10704,7 +10707,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10711 "mrbgems/mruby-compiler/core/y.tab.c" break; case 483: /* p_hash_body: p_kwrest */ @@ -10712,7 +10715,7 @@ yyreduce: { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10719 "mrbgems/mruby-compiler/core/y.tab.c" break; case 484: /* p_hash_elems: p_hash_elem */ @@ -10720,7 +10723,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10727 "mrbgems/mruby-compiler/core/y.tab.c" break; case 485: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ @@ -10728,7 +10731,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10735 "mrbgems/mruby-compiler/core/y.tab.c" break; case 486: /* p_hash_elem: "local variable or method" "label" p_as */ @@ -10737,7 +10740,7 @@ yyreduce: /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10744 "mrbgems/mruby-compiler/core/y.tab.c" break; case 487: /* p_hash_elem: "local variable or method" "label" */ @@ -10746,7 +10749,7 @@ yyreduce: /* {key:} shorthand - binds to variable with same name */ (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), new_pat_var(p, (yyvsp[-1].id))); } -#line 10750 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10753 "mrbgems/mruby-compiler/core/y.tab.c" break; case 488: /* p_kwrest: "**" "local variable or method" */ @@ -10754,7 +10757,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10758 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10761 "mrbgems/mruby-compiler/core/y.tab.c" break; case 489: /* p_kwrest: "**" "'nil'" */ @@ -10763,7 +10766,7 @@ yyreduce: /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 10767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 490: /* p_kwrest: "**" */ @@ -10772,7 +10775,7 @@ yyreduce: /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 10776 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10779 "mrbgems/mruby-compiler/core/y.tab.c" break; case 491: /* p_var: "local variable or method" */ @@ -10780,7 +10783,7 @@ yyreduce: { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10784 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10787 "mrbgems/mruby-compiler/core/y.tab.c" break; case 492: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ @@ -10789,7 +10792,7 @@ yyreduce: (yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd))); if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd)); } -#line 10793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 494: /* exc_list: arg */ @@ -10797,7 +10800,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10801 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10804 "mrbgems/mruby-compiler/core/y.tab.c" break; case 497: /* exc_var: "=>" lhs */ @@ -10805,7 +10808,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10812 "mrbgems/mruby-compiler/core/y.tab.c" break; case 499: /* opt_ensure: "'ensure'" compstmt */ @@ -10813,7 +10816,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10820 "mrbgems/mruby-compiler/core/y.tab.c" break; case 506: /* string: string string_fragment */ @@ -10821,7 +10824,7 @@ yyreduce: { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10828 "mrbgems/mruby-compiler/core/y.tab.c" break; case 507: /* string_fragment: "character literal" */ @@ -10830,7 +10833,7 @@ yyreduce: /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10837 "mrbgems/mruby-compiler/core/y.tab.c" break; case 508: /* string_fragment: tSTRING */ @@ -10839,7 +10842,7 @@ yyreduce: /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10843 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10846 "mrbgems/mruby-compiler/core/y.tab.c" break; case 509: /* string_fragment: "string literal" tSTRING */ @@ -10848,7 +10851,7 @@ yyreduce: /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10855 "mrbgems/mruby-compiler/core/y.tab.c" break; case 510: /* string_fragment: "string literal" string_rep tSTRING */ @@ -10856,7 +10859,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10860 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10863 "mrbgems/mruby-compiler/core/y.tab.c" break; case 512: /* string_rep: string_rep string_interp */ @@ -10864,7 +10867,7 @@ yyreduce: { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10871 "mrbgems/mruby-compiler/core/y.tab.c" break; case 513: /* string_interp: tSTRING_MID */ @@ -10873,7 +10876,7 @@ yyreduce: /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 514: /* @34: %empty */ @@ -10881,7 +10884,7 @@ yyreduce: { (yyval.nd) = push_strterm(p); } -#line 10885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10888 "mrbgems/mruby-compiler/core/y.tab.c" break; case 515: /* string_interp: tSTRING_PART @34 compstmt '}' */ @@ -10892,7 +10895,7 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); (yyval.nd) = list2((yyvsp[-3].nd), expr_elem); } -#line 10896 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10899 "mrbgems/mruby-compiler/core/y.tab.c" break; case 516: /* string_interp: tLITERAL_DELIM */ @@ -10900,7 +10903,7 @@ yyreduce: { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10907 "mrbgems/mruby-compiler/core/y.tab.c" break; case 517: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ @@ -10908,7 +10911,7 @@ yyreduce: { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10912 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10915 "mrbgems/mruby-compiler/core/y.tab.c" break; case 518: /* xstring: tXSTRING_BEG tXSTRING */ @@ -10916,7 +10919,7 @@ yyreduce: { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 10920 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10923 "mrbgems/mruby-compiler/core/y.tab.c" break; case 519: /* xstring: tXSTRING_BEG string_rep tXSTRING */ @@ -10924,7 +10927,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10928 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10931 "mrbgems/mruby-compiler/core/y.tab.c" break; case 520: /* regexp: tREGEXP_BEG tREGEXP */ @@ -10937,7 +10940,7 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 10941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10944 "mrbgems/mruby-compiler/core/y.tab.c" break; case 521: /* regexp: tREGEXP_BEG string_rep tREGEXP */ @@ -10950,7 +10953,7 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 10954 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10957 "mrbgems/mruby-compiler/core/y.tab.c" break; case 525: /* heredoc_body: tHEREDOC_END */ @@ -10960,7 +10963,7 @@ yyreduce: info->doc = push(info->doc, new_str_empty(p)); heredoc_end(p); } -#line 10964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10967 "mrbgems/mruby-compiler/core/y.tab.c" break; case 526: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ @@ -10968,7 +10971,7 @@ yyreduce: { heredoc_end(p); } -#line 10972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 529: /* heredoc_string_interp: tHD_STRING_MID */ @@ -10978,7 +10981,7 @@ yyreduce: info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 10982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10985 "mrbgems/mruby-compiler/core/y.tab.c" break; case 530: /* @35: %empty */ @@ -10986,7 +10989,7 @@ yyreduce: { (yyval.nd) = push_strterm(p); } -#line 10990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 531: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ @@ -10998,7 +11001,7 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); info->doc = push(push(info->doc, (yyvsp[-3].nd)), expr_elem); } -#line 11002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11005 "mrbgems/mruby-compiler/core/y.tab.c" break; case 532: /* words: tWORDS_BEG tSTRING */ @@ -11006,7 +11009,7 @@ yyreduce: { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 533: /* words: tWORDS_BEG string_rep tSTRING */ @@ -11016,7 +11019,7 @@ yyreduce: n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 534: /* symbol: basic_symbol */ @@ -11024,7 +11027,7 @@ yyreduce: { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11031 "mrbgems/mruby-compiler/core/y.tab.c" break; case 535: /* symbol: "symbol" "string literal" string_rep tSTRING */ @@ -11040,7 +11043,7 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11044 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 536: /* symbol: "symbol" "numbered parameter" */ @@ -11049,7 +11052,7 @@ yyreduce: mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11053 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11056 "mrbgems/mruby-compiler/core/y.tab.c" break; case 537: /* basic_symbol: "symbol" sym */ @@ -11058,7 +11061,7 @@ yyreduce: p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 542: /* sym: tSTRING */ @@ -11066,7 +11069,7 @@ yyreduce: { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11070 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11073 "mrbgems/mruby-compiler/core/y.tab.c" break; case 543: /* sym: "string literal" tSTRING */ @@ -11074,7 +11077,7 @@ yyreduce: { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11081 "mrbgems/mruby-compiler/core/y.tab.c" break; case 544: /* symbols: tSYMBOLS_BEG tSTRING */ @@ -11082,7 +11085,7 @@ yyreduce: { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11086 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11089 "mrbgems/mruby-compiler/core/y.tab.c" break; case 545: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ @@ -11092,7 +11095,7 @@ yyreduce: n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11099 "mrbgems/mruby-compiler/core/y.tab.c" break; case 548: /* numeric: tUMINUS_NUM "integer literal" */ @@ -11100,7 +11103,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11107 "mrbgems/mruby-compiler/core/y.tab.c" break; case 549: /* numeric: tUMINUS_NUM "float literal" */ @@ -11108,7 +11111,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11112 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11115 "mrbgems/mruby-compiler/core/y.tab.c" break; case 550: /* variable: "local variable or method" */ @@ -11116,7 +11119,7 @@ yyreduce: { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11123 "mrbgems/mruby-compiler/core/y.tab.c" break; case 551: /* variable: "instance variable" */ @@ -11124,7 +11127,7 @@ yyreduce: { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11131 "mrbgems/mruby-compiler/core/y.tab.c" break; case 552: /* variable: "global variable" */ @@ -11132,7 +11135,7 @@ yyreduce: { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11139 "mrbgems/mruby-compiler/core/y.tab.c" break; case 553: /* variable: "class variable" */ @@ -11140,7 +11143,7 @@ yyreduce: { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11147 "mrbgems/mruby-compiler/core/y.tab.c" break; case 554: /* variable: "constant" */ @@ -11148,7 +11151,7 @@ yyreduce: { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11155 "mrbgems/mruby-compiler/core/y.tab.c" break; case 555: /* var_lhs: variable */ @@ -11156,7 +11159,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 11160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11163 "mrbgems/mruby-compiler/core/y.tab.c" break; case 556: /* var_lhs: "numbered parameter" */ @@ -11164,7 +11167,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11171 "mrbgems/mruby-compiler/core/y.tab.c" break; case 557: /* var_ref: variable */ @@ -11172,7 +11175,7 @@ yyreduce: { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11179 "mrbgems/mruby-compiler/core/y.tab.c" break; case 558: /* var_ref: "numbered parameter" */ @@ -11180,7 +11183,7 @@ yyreduce: { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11187 "mrbgems/mruby-compiler/core/y.tab.c" break; case 559: /* var_ref: "'nil'" */ @@ -11188,7 +11191,7 @@ yyreduce: { (yyval.nd) = new_nil(p); } -#line 11192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11195 "mrbgems/mruby-compiler/core/y.tab.c" break; case 560: /* var_ref: "'self'" */ @@ -11196,7 +11199,7 @@ yyreduce: { (yyval.nd) = new_self(p); } -#line 11200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11203 "mrbgems/mruby-compiler/core/y.tab.c" break; case 561: /* var_ref: "'true'" */ @@ -11204,7 +11207,7 @@ yyreduce: { (yyval.nd) = new_true(p); } -#line 11208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11211 "mrbgems/mruby-compiler/core/y.tab.c" break; case 562: /* var_ref: "'false'" */ @@ -11212,7 +11215,7 @@ yyreduce: { (yyval.nd) = new_false(p); } -#line 11216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11219 "mrbgems/mruby-compiler/core/y.tab.c" break; case 563: /* var_ref: "'__FILE__'" */ @@ -11224,7 +11227,7 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11231 "mrbgems/mruby-compiler/core/y.tab.c" break; case 564: /* var_ref: "'__LINE__'" */ @@ -11235,7 +11238,7 @@ yyreduce: dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 565: /* var_ref: "'__ENCODING__'" */ @@ -11243,7 +11246,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11247 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11250 "mrbgems/mruby-compiler/core/y.tab.c" break; case 568: /* superclass: %empty */ @@ -11251,7 +11254,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 11255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11258 "mrbgems/mruby-compiler/core/y.tab.c" break; case 569: /* $@36: %empty */ @@ -11260,7 +11263,7 @@ yyreduce: p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 570: /* superclass: '<' $@36 expr_value term */ @@ -11268,7 +11271,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 11272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 573: /* f_arglist_paren: '(' f_args rparen */ @@ -11278,7 +11281,7 @@ yyreduce: p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 574: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ @@ -11286,7 +11289,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 575: /* f_arglist_paren: '(' tBDOT3 rparen */ @@ -11294,7 +11297,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, 0); } -#line 11298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 577: /* f_arglist: f_args term */ @@ -11302,7 +11305,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 11306 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11309 "mrbgems/mruby-compiler/core/y.tab.c" break; case 578: /* f_arglist: f_arg ',' tBDOT3 term */ @@ -11310,7 +11313,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11314 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 579: /* f_arglist: "..." term */ @@ -11318,7 +11321,7 @@ yyreduce: { (yyval.nd) = new_args_dots(p, 0); } -#line 11322 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 580: /* f_label: "local variable or method" "label" */ @@ -11328,7 +11331,7 @@ yyreduce: local_nest(p); p->lstate = EXPR_ARG; /* make newlines significant after label */ } -#line 11332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11335 "mrbgems/mruby-compiler/core/y.tab.c" break; case 581: /* f_label: "numbered parameter" "label" */ @@ -11338,7 +11341,7 @@ yyreduce: local_nest(p); p->lstate = EXPR_ARG; /* make newlines significant after label */ } -#line 11342 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11345 "mrbgems/mruby-compiler/core/y.tab.c" break; case 582: /* f_kw: f_label arg */ @@ -11348,7 +11351,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11355 "mrbgems/mruby-compiler/core/y.tab.c" break; case 583: /* f_kw: f_label */ @@ -11357,7 +11360,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11364 "mrbgems/mruby-compiler/core/y.tab.c" break; case 584: /* f_block_kw: f_label primary_value */ @@ -11367,7 +11370,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11371 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 585: /* f_block_kw: f_label */ @@ -11376,7 +11379,7 @@ yyreduce: (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11383 "mrbgems/mruby-compiler/core/y.tab.c" break; case 586: /* f_block_kwarg: f_block_kw */ @@ -11384,7 +11387,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11391 "mrbgems/mruby-compiler/core/y.tab.c" break; case 587: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ @@ -11392,7 +11395,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11399 "mrbgems/mruby-compiler/core/y.tab.c" break; case 588: /* f_kwarg: f_kw */ @@ -11400,7 +11403,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 589: /* f_kwarg: f_kwarg ',' f_kw */ @@ -11408,7 +11411,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 592: /* f_kwrest: kwrest_mark "local variable or method" */ @@ -11416,7 +11419,7 @@ yyreduce: { (yyval.id) = (yyvsp[0].id); } -#line 11420 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11423 "mrbgems/mruby-compiler/core/y.tab.c" break; case 593: /* f_kwrest: kwrest_mark */ @@ -11424,7 +11427,7 @@ yyreduce: { (yyval.id) = intern_op(pow); } -#line 11428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 594: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ @@ -11432,7 +11435,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11436 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11439 "mrbgems/mruby-compiler/core/y.tab.c" break; case 595: /* args_tail: f_kwarg opt_f_block_arg */ @@ -11440,7 +11443,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 11444 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11447 "mrbgems/mruby-compiler/core/y.tab.c" break; case 596: /* args_tail: f_kwrest opt_f_block_arg */ @@ -11448,7 +11451,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11452 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11455 "mrbgems/mruby-compiler/core/y.tab.c" break; case 597: /* args_tail: f_block_arg */ @@ -11456,7 +11459,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 11460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 598: /* opt_args_tail: ',' args_tail */ @@ -11464,450 +11467,466 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 11468 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11471 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* opt_args_tail: %empty */ + case 599: /* opt_args_tail: ',' */ #line 4660 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 11476 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11479 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 600: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4666 "mrbgems/mruby-compiler/core/parse.y" + case 600: /* opt_args_tail: %empty */ +#line 4664 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, 0, 0, 0); + } +#line 11487 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 601: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4670 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11495 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 601: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4670 "mrbgems/mruby-compiler/core/parse.y" + case 602: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4674 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11492 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11503 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4674 "mrbgems/mruby-compiler/core/parse.y" + case 603: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4678 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11511 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4678 "mrbgems/mruby-compiler/core/parse.y" + case 604: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4682 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11519 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 604: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4682 "mrbgems/mruby-compiler/core/parse.y" + case 605: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4686 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11527 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 605: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4686 "mrbgems/mruby-compiler/core/parse.y" + case 606: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4690 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11535 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: /* f_args: f_arg opt_args_tail */ -#line 4690 "mrbgems/mruby-compiler/core/parse.y" + case 607: /* f_args: f_arg opt_args_tail */ +#line 4694 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 11532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11543 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 607: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4694 "mrbgems/mruby-compiler/core/parse.y" + case 608: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4698 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11551 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4698 "mrbgems/mruby-compiler/core/parse.y" + case 609: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4702 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11559 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 609: /* f_args: f_optarg opt_args_tail */ -#line 4702 "mrbgems/mruby-compiler/core/parse.y" + case 610: /* f_args: f_optarg opt_args_tail */ +#line 4706 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11556 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11567 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4706 "mrbgems/mruby-compiler/core/parse.y" + case 611: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4710 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11575 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 611: /* f_args: f_rest_arg opt_args_tail */ -#line 4710 "mrbgems/mruby-compiler/core/parse.y" + case 612: /* f_args: f_rest_arg opt_args_tail */ +#line 4714 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11583 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4714 "mrbgems/mruby-compiler/core/parse.y" + case 613: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4718 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11591 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 613: /* f_args: args_tail */ -#line 4718 "mrbgems/mruby-compiler/core/parse.y" + case 614: /* f_args: args_tail */ +#line 4722 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 11588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11599 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: /* f_args: %empty */ -#line 4722 "mrbgems/mruby-compiler/core/parse.y" + case 615: /* f_args: %empty */ +#line 4726 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 11597 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11608 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 615: /* f_bad_arg: "constant" */ -#line 4729 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_bad_arg: "constant" */ +#line 4733 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 11606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11617 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* f_bad_arg: "instance variable" */ -#line 4734 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_bad_arg: "instance variable" */ +#line 4738 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 11615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11626 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* f_bad_arg: "global variable" */ -#line 4739 "mrbgems/mruby-compiler/core/parse.y" + case 618: /* f_bad_arg: "global variable" */ +#line 4743 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 11624 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11635 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 618: /* f_bad_arg: "class variable" */ -#line 4744 "mrbgems/mruby-compiler/core/parse.y" + case 619: /* f_bad_arg: "class variable" */ +#line 4748 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 11633 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11644 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 619: /* f_bad_arg: "numbered parameter" */ -#line 4749 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_bad_arg: "numbered parameter" */ +#line 4753 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 11642 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11653 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 620: /* f_norm_arg: f_bad_arg */ -#line 4756 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_norm_arg: f_bad_arg */ +#line 4760 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 11650 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11661 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 621: /* f_norm_arg: "local variable or method" */ -#line 4760 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* f_norm_arg: "local variable or method" */ +#line 4764 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11670 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 622: /* f_arg_item: f_norm_arg */ -#line 4767 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* f_arg_item: f_norm_arg */ +#line 4771 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11667 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11678 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* @37: %empty */ -#line 4771 "mrbgems/mruby-compiler/core/parse.y" + case 624: /* @37: %empty */ +#line 4775 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 11675 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11686 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 624: /* f_arg_item: tLPAREN @37 f_margs rparen */ -#line 4775 "mrbgems/mruby-compiler/core/parse.y" + case 625: /* f_arg_item: tLPAREN @37 f_margs rparen */ +#line 4779 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_marg(p, (yyvsp[-1].nd)); local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 11685 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11696 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 625: /* f_arg: f_arg_item */ -#line 4783 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* f_arg: f_arg_item */ +#line 4787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11704 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 626: /* f_arg: f_arg ',' f_arg_item */ -#line 4787 "mrbgems/mruby-compiler/core/parse.y" + case 627: /* f_arg: f_arg ',' f_arg_item */ +#line 4791 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11712 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 627: /* f_opt_asgn: "local variable or method" '=' */ -#line 4793 "mrbgems/mruby-compiler/core/parse.y" + case 628: /* f_opt_asgn: "local variable or method" '=' */ +#line 4797 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 11711 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11722 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 628: /* f_opt: f_opt_asgn arg */ -#line 4801 "mrbgems/mruby-compiler/core/parse.y" + case 629: /* f_opt: f_opt_asgn arg */ +#line 4805 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11732 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 629: /* f_block_opt: f_opt_asgn primary_value */ -#line 4809 "mrbgems/mruby-compiler/core/parse.y" + case 630: /* f_block_opt: f_opt_asgn primary_value */ +#line 4813 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11731 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11742 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 630: /* f_block_optarg: f_block_opt */ -#line 4817 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 11739 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 631: /* f_block_optarg: f_block_optarg ',' f_block_opt */ + case 631: /* f_block_optarg: f_block_opt */ #line 4821 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11747 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11750 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 632: /* f_optarg: f_opt */ -#line 4827 "mrbgems/mruby-compiler/core/parse.y" + case 632: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4825 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11758 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 633: /* f_optarg: f_opt */ +#line 4831 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11755 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11766 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 633: /* f_optarg: f_optarg ',' f_opt */ -#line 4831 "mrbgems/mruby-compiler/core/parse.y" + case 634: /* f_optarg: f_optarg ',' f_opt */ +#line 4835 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11774 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 636: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4841 "mrbgems/mruby-compiler/core/parse.y" + case 637: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4845 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11783 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 637: /* f_rest_arg: restarg_mark */ -#line 4846 "mrbgems/mruby-compiler/core/parse.y" + case 638: /* f_rest_arg: restarg_mark */ +#line 4850 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11792 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 640: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4857 "mrbgems/mruby-compiler/core/parse.y" + case 641: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11800 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 641: /* f_block_arg: blkarg_mark */ -#line 4861 "mrbgems/mruby-compiler/core/parse.y" + case 642: /* f_block_arg: blkarg_mark */ +#line 4865 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11808 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 642: /* opt_f_block_arg: ',' f_block_arg */ -#line 4867 "mrbgems/mruby-compiler/core/parse.y" + case 643: /* opt_f_block_arg: ',' f_block_arg */ +#line 4871 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11816 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 643: /* opt_f_block_arg: none */ -#line 4871 "mrbgems/mruby-compiler/core/parse.y" + case 644: /* opt_f_block_arg: ',' */ +#line 4875 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 11813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11824 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 644: /* singleton: var_ref */ -#line 4877 "mrbgems/mruby-compiler/core/parse.y" + case 645: /* opt_f_block_arg: none */ +#line 4879 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = 0; + } +#line 11832 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 646: /* singleton: var_ref */ +#line 4885 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[0].nd)); (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 11823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11842 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 645: /* $@38: %empty */ -#line 4882 "mrbgems/mruby-compiler/core/parse.y" + case 647: /* $@38: %empty */ +#line 4890 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 11829 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11848 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 646: /* singleton: '(' $@38 expr rparen */ -#line 4883 "mrbgems/mruby-compiler/core/parse.y" + case 648: /* singleton: '(' $@38 expr rparen */ +#line 4891 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 11838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11857 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 648: /* assoc_list: assocs trailer */ -#line 4891 "mrbgems/mruby-compiler/core/parse.y" + case 650: /* assoc_list: assocs trailer */ +#line 4899 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11846 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11865 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 649: /* assocs: assoc */ -#line 4897 "mrbgems/mruby-compiler/core/parse.y" + case 651: /* assocs: assoc */ +#line 4905 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11854 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11873 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 650: /* assocs: assocs comma assoc */ -#line 4901 "mrbgems/mruby-compiler/core/parse.y" + case 652: /* assocs: assocs comma assoc */ +#line 4909 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11881 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 651: /* assoc: arg "=>" arg */ -#line 4907 "mrbgems/mruby-compiler/core/parse.y" + case 653: /* assoc: arg "=>" arg */ +#line 4915 "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 11872 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11891 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 652: /* assoc: "local variable or method" "label" arg */ -#line 4913 "mrbgems/mruby-compiler/core/parse.y" + case 654: /* assoc: "local variable or method" "label" arg */ +#line 4921 "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 11881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11900 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 653: /* assoc: "local variable or method" "label" */ -#line 4918 "mrbgems/mruby-compiler/core/parse.y" + case 655: /* assoc: "local variable or method" "label" */ +#line 4926 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 11889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11908 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 654: /* assoc: "numbered parameter" "label" */ -#line 4922 "mrbgems/mruby-compiler/core/parse.y" + case 656: /* assoc: "numbered parameter" "label" */ +#line 4930 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[-1].num)); (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); } -#line 11898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11917 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 655: /* assoc: "numbered parameter" "label" arg */ -#line 4927 "mrbgems/mruby-compiler/core/parse.y" + case 657: /* assoc: "numbered parameter" "label" arg */ +#line 4935 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 11907 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11926 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 656: /* assoc: string_fragment "label" arg */ -#line 4932 "mrbgems/mruby-compiler/core/parse.y" + case 658: /* assoc: string_fragment "label" arg */ +#line 4940 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -11923,75 +11942,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 11927 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11946 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 657: /* assoc: "**" arg */ -#line 4948 "mrbgems/mruby-compiler/core/parse.y" + case 659: /* assoc: "**" arg */ +#line 4956 "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 11936 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11955 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 658: /* assoc: "**" */ -#line 4953 "mrbgems/mruby-compiler/core/parse.y" + case 660: /* assoc: "**" */ +#line 4961 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 11944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11963 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 671: /* call_op: '.' */ -#line 4979 "mrbgems/mruby-compiler/core/parse.y" + case 673: /* call_op: '.' */ +#line 4987 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 11952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11971 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 672: /* call_op: "&." */ -#line 4983 "mrbgems/mruby-compiler/core/parse.y" + case 674: /* call_op: "&." */ +#line 4991 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 11960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11979 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 674: /* call_op2: "::" */ -#line 4990 "mrbgems/mruby-compiler/core/parse.y" + case 676: /* call_op2: "::" */ +#line 4998 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 11968 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11987 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 683: /* term: ';' */ -#line 5011 "mrbgems/mruby-compiler/core/parse.y" + case 685: /* term: ';' */ +#line 5019 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 11974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11993 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 685: /* nl: '\n' */ -#line 5016 "mrbgems/mruby-compiler/core/parse.y" + case 687: /* nl: '\n' */ +#line 5024 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 11983 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12002 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 689: /* none: %empty */ -#line 5028 "mrbgems/mruby-compiler/core/parse.y" + case 691: /* none: %empty */ +#line 5036 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12010 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 11995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12014 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12224,7 +12243,7 @@ yyreturnlab: return yyresult; } -#line 5032 "mrbgems/mruby-compiler/core/parse.y" +#line 5040 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval)))