From fbe20bbbb68302de24c3159e1e3fb2f94d719d10 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 19:37:27 +0200 Subject: [PATCH] php5 syntax --- php5/php5.go | 4092 ++++++++++++++++++++++++++------------------------ php5/php5.y | 540 +++++-- 2 files changed, 2581 insertions(+), 2051 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 8cf230f..12c1746 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -6,19 +6,18 @@ import __yyfmt__ "fmt" //line php5/php5.y:2 import ( // "fmt" - // "strings" "strconv" + "strings" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/token" - -// "github.com/z7zmey/php-parser/node/expr/binary_op" -// "github.com/z7zmey/php-parser/node/expr/cast" ) //line php5/php5.y:22 @@ -346,7 +345,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3145 +//line php5/php5.y:3507 //line yacctab:1 var yyExca = [...]int{ @@ -354,540 +353,469 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, -1, 101, - 78, 341, - -2, 420, + 78, 330, + -2, 409, -1, 113, - 78, 460, - 123, 456, - -2, 466, + 78, 449, + 123, 445, + -2, 455, -1, 153, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, -1, 203, - 121, 315, - 124, 315, - -2, 439, + 121, 304, + 124, 304, + -2, 428, -1, 204, - 104, 444, - 105, 444, - 121, 316, - 124, 316, - -2, 442, + 104, 433, + 105, 433, + 121, 305, + 124, 305, + -2, 431, -1, 270, - 78, 460, - -2, 466, + 78, 449, + -2, 455, -1, 297, - 78, 343, - -2, 422, + 78, 332, + -2, 411, -1, 301, - 123, 457, - -2, 467, + 123, 446, + -2, 456, -1, 310, - 78, 342, - -2, 421, + 78, 331, + -2, 410, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 277, + -2, 272, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 278, + -2, 273, -1, 378, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 279, + -2, 274, -1, 379, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 280, + -2, 275, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 281, + -2, 276, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 282, + -2, 277, -1, 382, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 283, + -2, 278, -1, 383, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 284, + -2, 279, -1, 390, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, + -1, 398, + 124, 140, + -2, 145, + -1, 460, + 104, 433, + 105, 433, + 124, 512, + 135, 512, + -2, 431, -1, 461, - 104, 444, - 105, 444, - 124, 523, - 135, 523, - -2, 442, + 124, 513, + 135, 513, + -2, 428, -1, 462, - 124, 524, - 135, 524, - -2, 439, - -1, 463, - 104, 444, - 105, 444, - -2, 442, - -1, 485, + 104, 433, + 105, 433, + -2, 431, + -1, 484, 124, 154, 135, 154, - -2, 439, - -1, 486, - 104, 444, - 105, 444, + -2, 428, + -1, 485, + 104, 433, + 105, 433, 124, 155, 135, 155, - -2, 442, - -1, 492, - 123, 481, - -2, 525, - -1, 498, - 123, 481, - -2, 526, - -1, 520, - 78, 341, - -2, 378, - -1, 567, + -2, 431, + -1, 491, + 123, 470, + -2, 514, + -1, 497, + 123, 470, + -2, 515, + -1, 519, + 78, 330, + -2, 367, + -1, 549, 124, 140, -2, 145, - -1, 568, + -1, 562, 124, 140, -2, 145, - -1, 578, - 121, 317, - 124, 317, - -2, 439, -1, 579, - 104, 444, - 105, 444, - 121, 318, - 124, 318, - -2, 442, - -1, 678, - 78, 343, - -2, 380, - -1, 707, - 124, 140, - -2, 145, + 121, 306, + 124, 306, + -2, 428, + -1, 580, + 104, 433, + 105, 433, + 121, 307, + 124, 307, + -2, 431, + -1, 679, + 78, 332, + -2, 369, + -1, 777, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 395, + -1, 778, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 396, + -1, 779, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 397, + -1, 780, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 398, -1, 781, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 406, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 399, -1, 782, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 407, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 400, -1, 783, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 408, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 401, -1, 784, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 409, - -1, 785, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 410, - -1, 786, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 411, + -2, 402, -1, 787, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 412, - -1, 788, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 413, - -1, 791, - 78, 342, - -2, 379, - -1, 840, + 78, 331, + -2, 368, + -1, 837, 37, 199, -2, 196, - -1, 974, + -1, 969, 29, 187, -2, 4, - -1, 986, + -1, 978, 124, 140, -2, 145, - -1, 1005, + -1, 995, 121, 191, -2, 193, } const yyPrivate = 57344 -const yyLast = 8391 +const yyLast = 8441 var yyAct = [...]int{ - 101, 1015, 844, 724, 968, 451, 199, 443, 726, 122, - 130, 418, 295, 338, 809, 114, 712, 736, 473, 591, - 419, 680, 589, 923, 603, 818, 460, 388, 97, 60, - 896, 263, 730, 543, 314, 318, 446, 141, 157, 2, - 38, 576, 329, 327, 257, 6, 4, 137, 139, 129, - 328, 144, 484, 5, 476, 227, 227, 136, 25, 178, - 650, 288, 984, 140, 42, 161, 962, 955, 981, 940, - 937, 43, 824, 191, 944, 449, 943, 120, 650, 982, - 266, 191, 652, 651, 492, 739, 120, 926, 706, 854, - 942, 498, 935, 120, 565, 271, 152, 125, 583, 120, - 583, 250, 654, 297, 515, 650, 936, 1011, 269, 652, - 651, 629, 615, 203, 660, 661, 662, 653, 655, 656, - 654, 240, 630, 616, 516, 310, 493, 737, 315, 319, - 304, 650, 322, 670, 671, 668, 669, 672, 674, 673, - 675, 660, 661, 662, 653, 655, 656, 654, 337, 650, - 178, 901, 356, 652, 651, 177, 179, 180, 178, 324, - 227, 829, 509, 309, 582, 902, 228, 113, 355, 229, - 653, 655, 656, 654, 38, 583, 510, 795, 581, 542, - 117, 331, 120, 334, 450, 232, 161, 662, 653, 655, - 656, 654, 266, 450, 227, 474, 125, 240, 120, 119, - 450, 650, 563, 559, 505, 652, 651, 271, 119, 751, - 120, 158, 357, 564, 560, 119, 200, 353, 506, 912, - 269, 119, 227, 384, 350, 50, 358, 125, 998, 120, - 423, 354, 103, 672, 674, 673, 675, 660, 661, 662, - 653, 655, 656, 654, 348, 421, 311, 270, 958, 132, - 153, 1028, 911, 909, 394, 862, 856, 793, 349, 747, - 312, 227, 125, 133, 120, 228, 391, 204, 229, 455, - 125, 300, 120, 636, 628, 592, 452, 299, 448, 627, - 226, 226, 301, 621, 232, 620, 594, 230, 230, 593, - 472, 608, 227, 750, 601, 592, 228, 607, 191, 229, - 435, 436, 293, 292, 119, 286, 280, 125, 240, 120, - 489, 1027, 264, 130, 448, 232, 439, 508, 253, 448, - 119, 512, 252, 503, 1010, 520, 436, 435, 435, 953, - 436, 228, 302, 159, 229, 490, 351, 176, 175, 267, - 496, 191, 268, 742, 999, 462, 464, 38, 501, 471, - 232, 119, 6, 4, 920, 483, 715, 520, 232, 270, - 5, 887, 504, 590, 959, 884, 540, 882, 485, 181, - 182, 174, 177, 179, 180, 178, 228, 545, 871, 229, - 176, 175, 831, 918, 438, 352, 119, 828, 547, 690, - 538, 631, 230, 539, 119, 232, 294, 622, 618, 428, - 426, 572, 306, 572, 1022, 986, 227, 934, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 389, - 390, 296, 138, 585, 264, 714, 230, 827, 821, 707, - 447, 119, 38, 571, 679, 577, 489, 296, 584, 457, - 448, 448, 568, 445, 811, 810, 294, 420, 567, 536, - 342, 287, 277, 343, 230, 612, 606, 274, 431, 273, - 249, 490, 496, 221, 613, 195, 447, 194, 193, 448, - 143, 447, 448, 121, 448, 578, 1019, 877, 1018, 491, - 386, 551, 134, 308, 497, 307, 442, 1007, 227, 996, - 990, 989, 928, 230, 917, 700, 701, 881, 813, 461, - 463, 807, 806, 634, 635, 800, 710, 315, 696, 638, - 639, 319, 546, 700, 701, 544, 520, 477, 541, 500, - 396, 346, 486, 678, 230, 520, 155, 125, 987, 910, - 602, 978, 520, 520, 520, 520, 520, 950, 933, 38, - 892, 642, 632, 890, 6, 4, 645, 732, 575, 305, - 196, 434, 5, 223, 224, 697, 875, 530, 804, 805, - 895, 227, 227, 227, 692, 693, 520, 647, 572, 572, - 125, 572, 731, 294, 734, 735, 38, 38, 702, 716, - 704, 258, 266, 812, 227, 227, 437, 677, 711, 530, - 454, 644, 447, 447, 90, 514, 741, 271, 503, 124, - 746, 699, 422, 577, 740, 491, 497, 718, 448, 744, - 269, 743, 733, 738, 124, 993, 609, 256, 684, 458, - 294, 447, 453, 425, 447, 227, 447, 227, 424, 579, - 303, 580, 125, 125, 611, 298, 123, 445, 230, 614, - 649, 683, 320, 756, 294, 259, 260, 125, 294, 468, - 819, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 791, 758, - 520, 759, 258, 760, 125, 865, 467, 517, 462, 592, - 721, 848, 849, 850, 847, 846, 845, 728, 729, 284, - 794, 792, 485, 125, 316, 131, 456, 520, 572, 281, - 285, 816, 433, 477, 262, 227, 573, 570, 842, 574, - 230, 511, 801, 507, 843, 207, 402, 841, 61, 53, - 127, 128, 974, 400, 830, 833, 321, 802, 572, 466, - 206, 991, 822, 258, 897, 470, 259, 260, 530, 270, - 832, 478, 479, 573, 826, 1016, 574, 530, 494, 606, - 447, 797, 723, 744, 530, 530, 530, 530, 530, 859, - 851, 857, 44, 445, 294, 131, 294, 823, 848, 849, - 850, 847, 846, 845, 225, 233, 389, 713, 713, 294, - 520, 238, 992, 230, 230, 230, 520, 520, 530, 162, - 898, 573, 562, 798, 574, 336, 468, 259, 260, 420, - 420, 814, 700, 701, 264, 1026, 230, 230, 1009, 983, - 227, 878, 227, 879, 44, 520, 960, 932, 572, 930, - 572, 815, 900, 886, 876, 549, 885, 1012, 893, 703, - 700, 701, 461, 904, 572, 874, 596, 1006, 598, 597, - 477, 963, 477, 938, 905, 125, 486, 230, 908, 230, - 891, 38, 762, 761, 720, 452, 648, 880, 227, 258, - 646, 520, 643, 913, 437, 599, 907, 903, 513, 480, - 397, 448, 393, 530, 530, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, - 939, 927, 530, 922, 323, 258, 202, 520, 38, 518, - 283, 201, 914, 198, 135, 681, 527, 550, 924, 398, - 254, 924, 469, 259, 260, 919, 251, 921, 520, 530, - 820, 520, 558, 572, 817, 572, 385, 230, 929, 889, - 931, 518, 362, 361, 360, 258, 520, 38, 359, 38, - 437, 258, 852, 520, 948, 191, 282, 38, 572, 38, - 1, 894, 988, 941, 1017, 965, 946, 973, 284, 259, - 260, 341, 749, 951, 38, 520, 755, 572, 864, 38, - 1001, 956, 572, 444, 38, 1005, 605, 586, 587, 588, - 973, 840, 1002, 967, 176, 175, 966, 975, 976, 842, - 906, 482, 572, 38, 38, 843, 1021, 401, 841, 259, - 260, 899, 530, 572, 1003, 259, 260, 839, 530, 530, - 836, 569, 258, 447, 725, 38, 997, 255, 174, 177, - 179, 180, 178, 1014, 1020, 713, 445, 420, 1013, 745, - 722, 392, 230, 387, 230, 1024, 163, 530, 339, 694, - 537, 38, 961, 957, 289, 964, 752, 38, 191, 848, - 849, 850, 847, 846, 845, 459, 160, 1023, 156, 317, - 979, 313, 126, 604, 1004, 972, 1029, 985, 971, 970, - 969, 834, 838, 477, 837, 835, 259, 260, 399, 39, - 230, 727, 14, 530, 13, 825, 172, 176, 175, 1000, - 518, 717, 947, 333, 803, 691, 10, 248, 74, 518, - 75, 115, 265, 63, 88, 595, 518, 518, 518, 518, - 518, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 89, 519, 100, 530, - 73, 11, 325, 99, 98, 78, 118, 525, 3, 347, - 518, 40, 168, 170, 169, 191, 0, 0, 0, 0, - 530, 0, 0, 530, 208, 209, 210, 211, 213, 214, - 215, 216, 217, 218, 219, 220, 212, 0, 530, 0, - 0, 0, 0, 0, 0, 530, 811, 810, 0, 0, - 0, 855, 192, 172, 176, 175, 0, 0, 0, 860, - 861, 0, 682, 0, 0, 0, 0, 530, 0, 685, - 686, 687, 688, 689, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 663, 664, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 0, 0, 518, 617, 0, 0, 0, 0, - 650, 0, 676, 658, 652, 651, 0, 208, 209, 210, - 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 0, 518, 0, 916, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 561, 0, - 0, 0, 665, 663, 664, 0, 0, 0, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 790, 0, 0, 682, 0, 116, - 650, 0, 676, 658, 652, 651, 0, 0, 0, 0, - 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, - 518, 518, 0, 0, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 0, 518, - 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 0, 272, - 0, 0, 0, 0, 0, 0, 0, 146, 150, 154, - 0, 0, 0, 164, 0, 518, 0, 0, 0, 0, - 0, 197, 0, 0, 0, 0, 205, 869, 0, 0, - 0, 0, 0, 872, 873, 0, 0, 222, 0, 0, - 0, 234, 235, 236, 237, 0, 0, 239, 0, 241, - 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, - 0, 518, 261, 0, 0, 0, 0, 275, 276, 0, - 278, 279, 0, 0, 0, 0, 0, 0, 0, 231, - 0, 290, 518, 0, 0, 518, 208, 209, 210, 211, - 213, 214, 215, 216, 217, 218, 219, 220, 212, 0, - 518, 0, 0, 0, 0, 0, 0, 518, 915, 0, - 0, 272, 0, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 239, 0, 0, 0, 0, 340, 518, + 101, 569, 1004, 963, 113, 199, 841, 712, 824, 122, + 130, 418, 338, 916, 563, 592, 604, 60, 450, 565, + 813, 805, 295, 732, 472, 681, 459, 590, 419, 141, + 577, 97, 38, 263, 388, 137, 139, 442, 542, 144, + 314, 114, 430, 157, 318, 445, 129, 178, 329, 117, + 328, 6, 483, 5, 475, 227, 227, 161, 2, 651, + 651, 976, 288, 653, 652, 191, 42, 651, 25, 939, + 905, 938, 957, 935, 651, 491, 951, 120, 653, 652, + 266, 191, 932, 929, 270, 937, 515, 952, 1000, 250, + 257, 673, 675, 674, 676, 661, 662, 663, 654, 656, + 657, 655, 655, 297, 930, 136, 654, 656, 657, 655, + 43, 269, 663, 654, 656, 657, 655, 492, 931, 301, + 819, 271, 895, 735, 327, 310, 707, 4, 315, 319, + 560, 240, 322, 651, 116, 152, 896, 653, 652, 125, + 304, 120, 178, 919, 140, 514, 356, 337, 851, 508, + 504, 448, 203, 120, 584, 177, 179, 180, 178, 584, + 227, 191, 324, 509, 505, 630, 38, 355, 733, 661, + 662, 663, 654, 656, 657, 655, 631, 791, 161, 664, + 665, 357, 309, 726, 449, 120, 616, 583, 421, 231, + 231, 497, 266, 120, 227, 358, 270, 617, 584, 119, + 176, 175, 558, 541, 554, 120, 974, 240, 228, 158, + 125, 229, 120, 559, 272, 555, 651, 103, 677, 659, + 653, 652, 227, 269, 473, 384, 350, 232, 200, 904, + 423, 902, 859, 271, 174, 177, 179, 180, 178, 927, + 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 853, + 449, 227, 331, 119, 334, 789, 353, 446, 743, 454, + 348, 311, 230, 230, 132, 119, 456, 300, 637, 228, + 354, 629, 229, 299, 349, 312, 451, 628, 133, 622, + 621, 582, 227, 593, 231, 609, 432, 264, 232, 747, + 449, 608, 394, 446, 447, 391, 595, 119, 446, 594, + 593, 471, 444, 130, 746, 119, 602, 507, 240, 438, + 488, 511, 975, 465, 293, 519, 272, 302, 231, 469, + 292, 159, 286, 502, 119, 477, 478, 280, 253, 38, + 447, 191, 493, 252, 489, 447, 434, 435, 490, 495, + 470, 911, 1016, 496, 539, 928, 231, 519, 6, 503, + 5, 738, 999, 948, 913, 482, 883, 500, 880, 868, + 823, 812, 435, 434, 434, 397, 435, 230, 591, 725, + 176, 175, 544, 691, 461, 463, 294, 437, 632, 623, + 619, 428, 125, 546, 120, 231, 426, 306, 1011, 570, + 978, 570, 575, 570, 578, 890, 227, 484, 138, 264, + 296, 230, 181, 182, 174, 177, 179, 180, 178, 822, + 125, 816, 120, 586, 38, 680, 231, 296, 585, 446, + 446, 807, 806, 874, 4, 562, 549, 398, 537, 230, + 535, 538, 342, 550, 294, 343, 488, 287, 277, 274, + 273, 249, 610, 221, 613, 195, 194, 446, 193, 143, + 446, 228, 446, 121, 229, 607, 447, 447, 134, 715, + 489, 495, 701, 702, 490, 496, 997, 1008, 230, 1007, + 232, 308, 987, 307, 982, 981, 979, 227, 398, 228, + 701, 702, 229, 614, 447, 921, 910, 447, 878, 447, + 809, 351, 612, 1017, 803, 444, 315, 615, 232, 230, + 319, 802, 635, 636, 579, 519, 119, 796, 639, 640, + 710, 697, 679, 545, 519, 543, 540, 499, 396, 346, + 38, 519, 519, 519, 519, 519, 155, 903, 714, 603, + 231, 633, 529, 258, 119, 973, 643, 915, 436, 6, + 570, 5, 889, 698, 646, 888, 227, 227, 227, 433, + 808, 519, 886, 570, 708, 716, 730, 38, 38, 576, + 305, 90, 727, 729, 529, 570, 578, 724, 700, 196, + 223, 224, 703, 266, 705, 227, 227, 270, 828, 872, + 711, 845, 846, 847, 844, 843, 842, 737, 446, 800, + 801, 650, 693, 694, 256, 731, 740, 259, 260, 502, + 294, 728, 678, 736, 269, 125, 734, 739, 453, 422, + 124, 231, 985, 230, 271, 4, 227, 125, 227, 125, + 516, 742, 648, 969, 741, 447, 645, 125, 685, 457, + 513, 452, 510, 444, 752, 425, 424, 721, 466, 125, + 506, 748, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 787, + 754, 519, 755, 718, 756, 294, 125, 124, 303, 294, + 231, 231, 231, 294, 125, 294, 281, 285, 571, 320, + 298, 572, 571, 294, 230, 572, 788, 790, 519, 316, + 125, 797, 120, 127, 128, 227, 125, 272, 120, 231, + 231, 131, 684, 321, 123, 467, 814, 570, 461, 829, + 862, 258, 529, 574, 570, 848, 436, 817, 61, 593, + 455, 529, 484, 258, 567, 568, 826, 258, 529, 529, + 529, 529, 529, 849, 830, 740, 262, 451, 131, 854, + 231, 856, 231, 571, 402, 607, 572, 258, 400, 207, + 206, 793, 436, 230, 230, 230, 294, 983, 529, 228, + 284, 852, 229, 825, 821, 267, 519, 1005, 268, 857, + 858, 53, 519, 519, 811, 259, 260, 723, 232, 44, + 264, 238, 230, 230, 232, 984, 467, 259, 260, 557, + 162, 259, 260, 794, 336, 227, 875, 227, 873, 798, + 519, 879, 881, 570, 887, 818, 876, 1015, 882, 989, + 468, 259, 260, 955, 119, 44, 953, 923, 618, 894, + 119, 570, 901, 230, 898, 230, 225, 233, 38, 231, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 891, 548, 227, 897, 446, 519, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 517, 920, 529, 597, + 906, 599, 598, 934, 447, 1001, 885, 38, 996, 258, + 519, 877, 444, 958, 283, 810, 701, 702, 933, 907, + 899, 682, 871, 125, 258, 529, 758, 757, 517, 282, + 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, + 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, + 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, + 526, 198, 258, 570, 968, 135, 980, 255, 1, 827, + 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, + 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, + 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, + 38, 570, 1009, 529, 589, 917, 1010, 254, 917, 529, + 529, 837, 570, 1013, 992, 962, 954, 941, 38, 956, + 961, 945, 959, 900, 946, 481, 259, 260, 401, 893, + 836, 833, 230, 573, 230, 564, 651, 529, 943, 659, + 653, 652, 38, 1003, 977, 1002, 722, 839, 38, 392, + 970, 387, 163, 840, 339, 695, 838, 536, 926, 289, + 458, 160, 156, 990, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, + 317, 313, 230, 126, 605, 529, 517, 994, 967, 966, + 965, 964, 835, 834, 832, 517, 399, 39, 566, 14, + 13, 820, 517, 517, 517, 517, 517, 845, 846, 847, + 844, 843, 842, 717, 1012, 942, 191, 333, 799, 692, + 10, 248, 74, 1018, 75, 115, 265, 529, 63, 892, + 88, 596, 517, 89, 518, 100, 168, 170, 169, 191, + 73, 11, 325, 99, 98, 78, 556, 529, 118, 524, + 529, 3, 40, 529, 683, 176, 175, 0, 0, 0, + 0, 686, 687, 688, 689, 690, 0, 0, 0, 0, + 807, 806, 0, 0, 0, 529, 192, 172, 176, 175, + 0, 0, 0, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 529, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, + 0, 0, 0, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 0, 0, 517, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 0, 0, 0, 0, + 0, 0, 0, 0, 666, 664, 665, 0, 0, 517, + 0, 0, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 786, 867, + 0, 683, 651, 0, 677, 659, 653, 652, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 0, 0, 0, 0, 0, 668, 667, 658, 660, + 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, + 663, 654, 656, 657, 655, 347, 0, 517, 0, 0, + 0, 0, 0, 517, 517, 0, 0, 0, 0, 0, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 30, 0, 0, 0, 0, 0, 0, + 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 150, 154, 0, + 0, 0, 164, 0, 0, 0, 866, 0, 0, 0, + 197, 0, 869, 870, 0, 205, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 0, 0, 517, + 234, 235, 236, 237, 0, 0, 239, 50, 241, 242, + 243, 244, 245, 246, 247, 0, 251, 0, 0, 0, + 0, 261, 0, 0, 0, 0, 275, 276, 0, 278, + 279, 0, 153, 0, 0, 0, 0, 0, 0, 0, + 290, 517, 0, 0, 0, 0, 0, 0, 0, 204, + 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, + 0, 517, 226, 226, 517, 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 945, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 0, 0, 0, 154, - 231, 0, 0, 0, 0, 0, 0, 650, 0, 0, - 658, 652, 651, 404, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 0, 0, 0, 0, - 0, 231, 666, 657, 659, 670, 671, 668, 669, 672, - 674, 673, 675, 660, 661, 662, 653, 655, 656, 654, - 0, 0, 0, 0, 239, 0, 430, 432, 432, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 154, - 0, 0, 465, 0, 0, 432, 0, 0, 0, 0, - 650, 432, 290, 658, 652, 651, 0, 432, 432, 0, - 0, 154, 0, 0, 432, 495, 665, 663, 664, 0, - 499, 0, 0, 0, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 0, 0, - 0, 870, 0, 0, 650, 231, 676, 658, 652, 651, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 0, 0, 552, 553, 554, 555, 556, 667, 666, - 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, - 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, - 557, 0, 0, 0, 665, 663, 664, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, - 0, 0, 650, 0, 0, 658, 652, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, - 0, 0, 650, 868, 676, 658, 652, 651, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 610, 667, 666, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 0, 0, 0, 0, 623, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, - 231, 231, 231, 0, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 272, 0, 231, 231, 0, 0, 0, 0, 0, + 0, 0, 239, 0, 0, 0, 0, 340, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 863, 0, 0, 0, 0, 340, 698, 192, 172, - 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 709, 231, 0, 231, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 0, 0, 0, 0, 432, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 748, 0, 0, 0, - 0, 0, 432, 753, 0, 0, 0, 0, 0, 0, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 858, 192, 172, 176, - 175, 0, 0, 0, 665, 663, 664, 0, 0, 0, - 0, 0, 0, 0, 231, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 0, 799, 650, 0, 676, 658, 652, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, - 0, 658, 652, 651, 0, 808, 667, 666, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 659, 670, 671, 668, 669, - 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, - 654, 0, 0, 0, 853, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 432, 432, 0, 0, 231, - 0, 231, 866, 0, 0, 0, 0, 0, 0, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 15, 24, 35, 0, 231, 36, 9, - 0, 26, 340, 31, 80, 81, 7, 45, 47, 49, - 0, 0, 883, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 641, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, - 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 502, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, - 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 1030, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 1025, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 940, 0, 0, 0, 0, 0, 0, 0, 517, 665, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 0, 385, 0, 154, 0, + 0, 0, 0, 0, 0, 651, 0, 677, 659, 653, + 652, 0, 404, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 352, 0, 668, + 667, 658, 660, 671, 672, 669, 670, 673, 675, 674, + 676, 661, 662, 663, 654, 656, 657, 655, 0, 0, + 0, 0, 0, 239, 0, 0, 431, 431, 0, 0, + 0, 389, 390, 439, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 909, 154, 154, 0, + 0, 464, 0, 651, 431, 0, 659, 653, 652, 420, + 431, 290, 0, 0, 0, 0, 431, 431, 0, 0, + 154, 0, 0, 431, 494, 666, 664, 665, 0, 498, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 441, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 460, 462, 651, 0, 677, 659, 653, 652, 0, + 0, 0, 0, 0, 0, 547, 666, 664, 665, 476, + 0, 0, 551, 0, 485, 0, 0, 668, 667, 658, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 0, 0, + 553, 0, 0, 0, 651, 865, 677, 659, 653, 652, + 0, 0, 839, 0, 0, 0, 0, 154, 840, 0, + 0, 838, 0, 0, 0, 0, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, + 0, 0, 845, 846, 847, 844, 843, 842, 0, 0, + 0, 580, 860, 581, 0, 0, 0, 624, 626, 192, + 172, 176, 175, 0, 831, 0, 0, 0, 0, 0, + 0, 634, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 855, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 340, 699, 0, 0, 651, 0, + 0, 0, 653, 652, 476, 0, 709, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 0, 0, 0, 0, 431, 666, 664, 665, 0, + 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, + 0, 0, 431, 749, 0, 0, 0, 792, 0, 0, + 0, 154, 0, 389, 713, 713, 0, 0, 0, 0, + 0, 0, 0, 795, 651, 154, 677, 659, 653, 652, + 0, 0, 0, 0, 0, 0, 666, 664, 665, 0, + 0, 0, 420, 420, 0, 0, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, + 0, 0, 0, 0, 651, 460, 677, 659, 653, 652, + 0, 0, 0, 476, 0, 476, 0, 0, 0, 485, + 0, 0, 0, 0, 0, 804, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, + 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, + 431, 431, 0, 0, 0, 0, 0, 863, 0, 0, + 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 19, 18, 815, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, + 35, 0, 0, 36, 9, 0, 26, 340, 31, 80, + 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1008, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 642, 34, 713, 62, 420, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, + 24, 35, 476, 0, 36, 9, 0, 26, 0, 31, + 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 995, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 501, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 994, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, + 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, @@ -904,11 +832,11 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 980, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1019, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 977, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, @@ -917,7 +845,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 1014, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -930,11 +858,11 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 954, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 998, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 986, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, @@ -943,11 +871,11 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 952, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 888, 0, 21, 0, 0, + 20, 0, 32, 972, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, @@ -960,7 +888,7 @@ var yyAct = [...]int{ 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 695, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, @@ -969,7 +897,7 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 971, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, @@ -982,7 +910,7 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 566, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 950, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, @@ -996,7 +924,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 949, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1009,72 +937,72 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 947, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 884, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 949, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 696, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 925, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 719, 62, 0, 96, + 0, 91, 76, 16, 561, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 335, 62, 0, + 0, 0, 91, 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 332, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1082,154 +1010,326 @@ var yyAct = [...]int{ 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 796, 0, 0, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 665, 663, 664, 0, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 757, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 944, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 650, 0, 676, 658, 652, 651, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 667, 666, - 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, - 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 754, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 708, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 705, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 640, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 637, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 619, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 600, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, - 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 168, 170, 169, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 403, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 427, 0, 0, 192, 172, 176, 175, 168, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 918, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 719, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 335, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 0, 34, 332, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 753, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 168, 170, 169, 191, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 750, 0, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 706, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 641, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 182, 174, 177, 179, 180, 178, 638, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 620, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 601, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 474, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 552, 0, 0, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 403, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 427, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 395, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 344, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 395, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 165, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 665, 663, 664, 0, 0, 0, 0, 0, 0, + 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 650, - 0, 676, 658, 652, 651, 168, 170, 169, 191, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 344, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 666, 664, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, - 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, - 656, 654, 0, 0, 0, 192, 172, 176, 175, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 192, 172, - 176, 175, 0, 664, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 651, 0, 677, 659, 653, 652, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 668, 667, 658, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 0, 192, + 172, 176, 175, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 650, - 0, 676, 658, 652, 651, 169, 191, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 192, 172, 176, 175, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, - 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, - 656, 654, 0, 192, 172, 176, 175, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 192, 172, 176, 175, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 650, 0, 676, 658, 652, - 651, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, - 666, 657, 659, 670, 671, 668, 669, 672, 674, 673, - 675, 660, 661, 662, 653, 655, 656, 654, 0, 172, - 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 651, 0, 677, 659, + 653, 652, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 651, + 0, 0, 659, 653, 652, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 668, 667, 658, 660, 671, 672, 669, + 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, + 657, 655, 0, 172, 176, 175, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, + 0, 659, 653, 652, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 667, 658, 660, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 191, 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, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 487, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 651, 91, + 76, 659, 653, 652, 0, 62, 480, 96, 0, 0, + 486, 57, 56, 58, 59, 72, 119, 0, 0, 0, + 0, 0, 0, 0, 658, 660, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 191, 0, 0, 142, 112, 108, 102, + 487, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 172, 176, 175, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 486, 57, 56, 58, 59, + 72, 119, 0, 0, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 191, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 176, 175, 864, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 627, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 625, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 148, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 0, 0, 62, 429, 96, 172, 176, 175, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 405, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 386, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 488, 84, 85, 86, - 191, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 481, 96, 176, - 175, 487, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 191, 0, 0, 142, 112, 108, 102, 488, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, - 175, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 487, 57, 56, 58, 59, 72, 119, 0, - 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, + 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1241,8 +1341,8 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 867, 57, 56, 58, 59, 72, 119, 82, + 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1254,23 +1354,8 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 626, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 191, 0, 0, 142, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 624, 57, 56, 58, 59, 72, - 119, 0, 0, 0, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 91, 76, 0, 0, 145, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1283,89 +1368,8 @@ var yyAct = [...]int{ 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 429, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 405, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 145, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, - 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 650, 91, - 76, 658, 652, 651, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 670, 671, 668, 669, - 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, - 654, 82, 83, 71, 0, 104, 105, 125, 441, 120, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 440, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1388,157 +1392,154 @@ var yyAct = [...]int{ 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, - 0, 528, 54, 55, 0, 64, 65, 66, 67, 68, + 0, 527, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 523, 0, 526, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 529, 0, 0, - 0, 0, 521, 112, 108, 522, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, + 0, 0, 0, 522, 0, 525, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 528, 0, 0, + 0, 0, 520, 112, 108, 521, 104, 105, 125, 0, + 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 789, 535, 0, 524, 0, - 0, 0, 534, 533, 531, 532, 0, 0, 523, 0, - 526, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 529, 0, 0, 0, 0, 521, 112, 108, - 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 785, 534, 0, 523, 0, + 0, 0, 533, 532, 530, 531, 0, 0, 522, 0, + 525, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 528, 0, 0, 0, 0, 520, 112, 108, + 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 0, 524, 0, 0, 0, 534, 533, 531, - 532, + 0, 534, 0, 523, 0, 0, 0, 533, 532, 530, + 531, } var yyPact = [...]int{ - -1000, -1000, 2457, -1000, -1000, -1000, -1000, 350, 517, 693, - 128, -1000, 360, -1000, -1000, 914, -1000, 299, 299, 5077, - 347, 299, 7681, 7550, 7419, 405, 199, 787, 7812, -1000, - 5820, 345, 344, 342, -1000, 431, 7812, 913, 88, 911, - 906, 7812, -1000, -1000, -1000, -1000, 688, -1000, 673, -1000, - 1400, 340, 7812, 449, 252, 252, 7812, 7812, 7812, 7812, - -1000, -1000, 8098, -1000, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 337, -1000, -1000, 197, 193, 1020, 7812, 657, 260, - 336, 334, 7812, 7812, 329, 7812, 7812, -1000, 181, -1000, - -1000, 949, 903, -1000, 180, 328, 7026, -1000, 178, 177, - -1000, 314, 845, 557, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 152, 198, -1000, 552, 298, -1000, 430, - -1000, 278, 364, -1000, 845, -1000, 125, 622, 560, -1000, - 707, 845, -1000, 904, -1000, 23, 4160, 4946, 8098, 4815, - 784, 88, 532, 7812, 331, -1000, 5773, -1000, 735, -1000, - 5726, -1000, 400, 1038, 5908, -1000, 123, -1000, -1000, 217, - 96, 88, 16, 91, 5908, -1000, -1000, -1000, -1000, -1000, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 260, 358, 252, 7812, 872, -1000, 5679, 399, 870, - -1000, 678, 671, -1000, 1400, 5632, -1000, -1000, 7288, 7812, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 186, -1000, -1000, -1000, -1000, -1000, 314, 520, 845, - 550, 545, -1000, -1000, -108, -108, -17, -108, 276, 5588, - 275, -108, -108, -108, -108, -108, -108, -108, -1000, 7157, - -1000, 7812, 7812, 7812, 433, 670, 943, -1000, 259, 7967, - 252, 6077, 65, 298, 544, -1000, 491, 508, 845, 649, - 152, 198, 541, 7812, 7812, 5908, 5908, 7812, 5908, 5908, - 7812, 569, 670, 731, -1000, 857, 7812, 7026, 164, 60, - 5544, 252, 7812, 7812, 869, -1000, 6333, 314, 74, 7812, - 7812, 152, 430, 81, -1000, 7812, 398, -1000, -1000, 2326, - 314, -1000, 623, 83, -1000, 694, 845, 41, -1000, 692, - 845, 868, 566, -32, 8258, -1000, -1000, -1000, -1000, -1000, - 326, -1000, -1000, -1000, -1000, -1000, 299, -1000, 397, 44, - 5908, -1000, 394, 391, -1000, -1000, -1000, -1000, -1000, 199, - -1000, 7812, -1000, -1000, 823, -1000, 8258, -1000, 7812, 7812, - 7812, 7812, 7812, 6036, 6862, 6330, 978, -9, -9, -9, - -17, -108, -17, -17, 875, 875, 251, 251, 251, 251, - 208, 208, 208, 208, -1000, 7812, -1000, 79, -1000, -1000, - 1299, 773, 78, -42, 4029, -1000, -1000, 325, 319, 661, - 674, 429, 674, 7812, 6077, 87, 6077, 6077, 6077, 6077, - 6077, 6077, 6077, 6077, 6077, 6077, 6077, 6077, 40, -1000, - -1000, 315, 845, 314, 65, 65, 238, -1000, -1000, -1000, - -108, 163, 5908, 160, -1000, -1000, -1000, -1000, 836, 865, - 5463, 169, 410, 298, 172, -1000, -1000, 152, 198, -1000, - 7812, -1000, -1000, 170, 845, 491, 65, 152, 170, -12, - -1000, 1400, -1000, 1151, 274, 5415, 159, -1000, -1000, -1000, - 157, 273, -1000, -1000, 6876, 6745, -1000, -1000, 153, 148, - -1000, -1000, -13, 267, -1000, -1000, 1400, 252, 7812, -1000, - 298, 298, -1000, -1000, 147, 5371, 298, 298, -1000, 5323, - -1000, 2195, -1000, -1000, -1000, -1000, 622, 862, 562, -1000, - 560, 860, 538, -1000, 856, 8258, -1000, 5864, -1000, -1000, - 491, 505, 845, 311, 8258, -1000, -1000, -1000, -1000, 624, - 540, 8258, 8258, 8258, 8258, 8258, 265, 471, 4291, 3898, - 387, 7812, 7812, 481, -1000, 808, -1000, -1000, 5275, -48, - 306, -1000, 5908, 6202, 6450, 5951, 6077, 5227, 7812, 385, - 252, 297, 297, 4684, 854, 8258, 721, 637, 637, 428, - 674, -1000, 491, 492, 845, -1000, -8, -1000, -1000, 1400, - -1000, 260, -51, 186, 186, 314, -1000, -1000, 218, 632, - 7812, -1000, 65, -1000, -1000, 133, -1000, -1000, -1000, -1000, - -1000, 7812, -1000, -1000, 168, 84, -1000, 7812, 7812, 152, - 5181, -1000, 491, -1000, -1000, -1000, 7812, -1000, -1000, -1000, - -1000, -1000, -1000, 5133, 252, 5908, 252, -1000, -1000, -1000, - 6464, -1000, -1000, 5908, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 853, -1000, -1000, 852, -1000, -1000, - 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, - 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, - 8258, 8258, 8258, 8258, 8258, 8258, 8183, 845, 491, 8258, - 131, 42, 5089, 574, 751, -65, -65, 6, 6, 1987, - 384, -1000, 299, 5077, 465, 381, -1000, 380, 5908, -1000, - 7812, 323, 463, 377, 780, -1000, 8258, 637, -1000, 6161, - -1000, -1000, 592, -1000, 252, 305, 592, -1000, -1000, -1000, - -64, -1000, 712, 304, 263, 26, -1000, 88, -1000, -1000, - -1000, 258, -1000, -8, 845, 491, 971, 674, -1000, 7812, - -1000, -35, 7812, 632, -1000, 130, 298, -1000, 1940, 632, - 7812, 7812, 129, 1851, -1000, 628, -1000, 6614, -1000, -1000, - -1000, -1000, -1000, 1737, 6, 6, -65, -65, -65, -65, - 2003, -20, 7803, 24, 24, 6, 5994, 6120, 1155, 1717, - 1512, 76, 76, 76, 76, -47, -47, -47, -47, 8258, - 1649, 491, 254, -1000, -1000, 8258, 8258, -1000, -1000, -1000, - -1000, 5077, -1000, 461, 299, 355, -1000, 7812, 1075, -1000, - -1000, -1000, -1000, -1000, 376, -1000, 243, 7812, 241, 297, - -1000, 186, 237, 3767, 8258, -1000, 424, 674, 421, 637, - 477, 700, 680, 491, -1000, -1000, 820, 30, -1000, 735, - 593, -1000, 844, 674, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 298, 6077, -1000, 127, -1000, -1000, 409, -1000, - 126, 93, -1000, -1000, -1000, 65, 5908, 252, -1000, 1595, - 8258, -1000, 1245, 5864, -1000, 373, 261, -1000, 230, -1000, - 4291, -1000, 700, 6161, 4553, -1000, -37, 4553, 371, -1000, - -1000, 817, -1000, -1000, 815, -1000, 419, 284, -1000, -29, - -66, -1000, 843, 88, -1000, -67, -45, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1595, 8258, -1000, -1000, 4291, - 4422, 4291, 418, -1000, -1000, -1000, -1000, -1000, -1000, 3636, - 205, 3505, -69, -1000, 236, -1000, 814, 8258, -70, 841, - 8258, -1000, 674, -1000, 722, 5864, 4291, -1000, -1000, -1000, - -1000, 3374, -1000, 412, -1000, 8258, 3243, -56, -1000, 807, - -74, -1000, 8258, 282, -1000, -1000, 408, 722, -1000, 370, - 369, 696, 763, 537, -1000, 3112, 2981, 368, -1000, -1000, - -1000, -1000, 216, -1000, 8258, -1000, 637, -1000, -1000, -1000, - -1000, 674, 593, 837, 366, -1000, -1000, 2850, -1000, 806, - -1000, 200, -28, -1000, 827, -1000, -1000, -1000, 714, -1000, - 357, 674, -1000, -1000, 714, -1000, 281, -1000, -1000, -1000, - -1000, -1000, 674, 2719, 803, -1000, 187, 132, -1000, 2588, - -1000, + -1000, -1000, 2402, -1000, -1000, -1000, -1000, 340, 605, 676, + 153, -1000, 346, -1000, -1000, 955, -1000, 285, 285, 5022, + 336, 285, 7755, 7624, 7493, 415, 197, 798, 7886, -1000, + 5684, 335, 333, 332, -1000, 460, 7886, 951, 100, 949, + 947, 7886, -1000, -1000, -1000, -1000, 718, -1000, 717, -1000, + 1182, 330, 7886, 476, 700, 700, 7886, 7886, 7886, 7886, + -1000, -1000, 8148, -1000, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 328, 7886, -1000, 218, 213, 950, 7886, 699, 706, + 327, 326, 7886, 7886, 325, 7886, 7886, -1000, 212, -1000, + -1000, 912, 897, -1000, 207, 324, 6969, -1000, 205, 199, + -1000, 304, 913, 622, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 158, 193, -1000, 610, 287, -1000, 451, + -1000, 273, 362, -1000, 913, -1000, 150, 627, 617, -1000, + 694, 913, -1000, 946, -1000, 26, 4105, 4891, 8148, 4760, + 793, 100, 538, 7886, 323, -1000, 5637, -1000, 762, -1000, + 5590, -1000, 408, 1234, 5772, -1000, 149, -1000, -1000, 382, + 145, 100, 10, 60, 5772, -1000, 7886, 7886, 7886, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 706, 7362, 700, 7886, 943, -1000, 5543, 407, 365, + -1000, 713, 709, -1000, 1182, 5496, -1000, -1000, 7231, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 129, -1000, -1000, -1000, -1000, -1000, 304, 537, 913, + 568, 567, -1000, -1000, -120, -120, -25, -120, 272, 5452, + 267, -120, -120, -120, -120, -120, -120, -120, -1000, 7100, + -1000, -120, 7886, 7886, 441, 735, 719, -1000, 262, 8017, + 700, 5898, 141, 287, 563, -1000, 528, 536, 913, 683, + 158, 193, 561, 7886, 7886, 5772, 5772, 7886, 5772, 5772, + 7886, 531, 735, 731, -1000, 755, 7886, 6969, 185, 89, + 5408, 700, 7886, 7886, 940, -1000, 6252, 304, 65, 7886, + 7886, 158, 451, 181, -1000, 7886, 406, -1000, -1000, 2271, + 304, -1000, 639, 29, -1000, 621, 913, 28, -1000, 613, + 913, 938, 611, 9, 8308, -1000, -1000, -1000, -1000, -1000, + 317, -1000, -1000, -1000, -1000, -1000, 285, 314, 405, 68, + 5772, -1000, 404, 402, -1000, -1000, -1000, -1000, -1000, 197, + -1000, 7886, -1000, -1000, 852, 313, 8308, -1000, 7886, 6121, + 6393, 5815, 5898, 5857, 6805, 6554, 7098, -9, -9, -9, + -25, -120, -25, -25, 71, 71, 1026, 1026, 1026, 1026, + 251, 251, 251, 251, -1000, 5364, 7886, 80, -1000, -1000, + 1117, 780, 78, -6, 3974, -1000, -1000, 312, 684, 677, + 619, 450, 619, 7886, 5898, 200, 5898, 5898, 5898, 5898, + 5898, 5898, 5898, 5898, 5898, 5898, 5898, 5898, 63, -1000, + -1000, 305, 913, 304, 141, 141, 253, -1000, -1000, -1000, + 183, 5772, 180, -1000, -1000, -1000, -1000, 889, 933, 5318, + 191, 419, 287, 176, -1000, -1000, 158, 193, -1000, 7886, + -1000, -1000, 173, 913, 528, 141, 158, 173, 62, -1000, + 1182, -1000, 714, 266, 5270, 164, -1000, -1000, -1000, 163, + 265, -1000, -1000, 6819, 6688, -1000, -1000, 161, 155, -1000, + -1000, 41, 264, -1000, -1000, 1182, 700, 7886, -1000, 287, + 287, -1000, -1000, 152, 5226, 287, 287, -1000, 5178, -1000, + 2140, -1000, -1000, -1000, -1000, 627, 927, 607, -1000, 617, + 925, 603, -1000, 924, 8308, -1000, 5728, -1000, -1000, 528, + 530, 913, 302, 8308, -1000, -1000, -1000, -1000, 705, 560, + 8308, 8308, 8308, 8308, 8308, 259, 509, 4236, 3843, 400, + 7886, 7886, 458, -1000, 914, -1000, -1000, 5130, -10, 684, + -1000, 5772, 7886, 6025, 399, 700, 410, 410, 4629, 921, + 8308, 756, 684, 255, 48, -1000, 100, -1000, -1000, -1000, + 528, 529, 913, 447, 619, -1000, -1000, 33, -1000, -1000, + 1182, -1000, 706, -13, 129, 129, 304, -1000, -1000, 236, + 682, 7886, -1000, 141, -1000, -1000, 142, -1000, -1000, -1000, + -1000, -1000, 7886, -1000, -1000, 189, 174, -1000, 7886, 7886, + 158, 5082, -1000, 528, -1000, -1000, -1000, 7886, -1000, -1000, + -1000, -1000, -1000, -1000, 5034, 700, 5772, 700, -1000, -1000, + -1000, 6407, -1000, -1000, 5772, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 917, -1000, -1000, 916, -1000, + -1000, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, + 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, + 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8233, 913, 528, + 8308, 139, 42, 1939, 650, 761, -65, -65, -58, -58, + 1889, 396, -1000, 285, 5022, 506, 390, -1000, 383, 5772, + -1000, 7886, 310, 440, 379, 884, -1000, 8308, 247, 6025, + -1000, -1000, 668, -1000, 700, 298, 668, -1000, -1000, -1000, + -16, -1000, 742, 296, 246, 739, 684, 505, 913, 528, + -1000, 33, 1744, 619, 287, 7886, -1000, 24, 7886, 682, + -1000, 133, 287, -1000, 1788, 682, 7886, 7886, 106, 1732, + -1000, 673, -1000, 6557, -1000, -1000, -1000, -1000, -1000, 1649, + -58, -58, -65, -65, -65, -65, 1538, 1803, 911, -51, + -51, -58, 1460, 5941, 91, 6243, 6043, -66, -66, -66, + -66, 8, 8, 8, 8, 8308, 1187, 528, 245, -1000, + -1000, 8308, 8308, -1000, -1000, -1000, -1000, 5022, -1000, 494, + 285, 311, -1000, 7886, 1049, -1000, -1000, -1000, -1000, -1000, + 377, -1000, 739, 244, 410, -1000, 129, 242, 3712, 8308, + -1000, 443, 619, 436, 433, 282, -1000, 851, -1000, 528, + 1009, -1000, -1000, 827, 1, -1000, 762, 493, -1000, 910, + 619, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5898, -1000, 105, -1000, -1000, 417, -1000, 103, -56, -1000, + -1000, -1000, 141, 5772, 700, -1000, 5984, 8308, -1000, 1598, + 5728, -1000, 375, 229, -1000, 240, -1000, 4236, -1000, 428, + 4498, -1000, 19, 4498, 374, -1000, -1000, 825, -1000, -1000, + 227, -53, -1000, -17, -54, -1000, 908, 100, -1000, -63, + -50, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5984, 8308, + -1000, -1000, 4236, 4367, 4236, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 3581, 239, 3450, 3319, -48, -1000, 824, 8308, + -1000, 821, 8308, -64, 903, 8308, -1000, 619, -1000, 623, + 5728, 4236, -1000, -1000, -1000, 3188, 3057, -1000, 426, -1000, + -1000, -1000, 194, -1000, -1000, -75, -1000, 8308, 277, -1000, + -1000, 366, 623, -1000, 364, 363, 732, 776, 544, -1000, + 2926, -1000, 361, -1000, -1000, 817, 8308, -1000, 684, -1000, + -1000, -1000, -1000, 619, 493, 898, 355, -1000, 2795, -1000, + -1000, 238, -47, -1000, 895, -1000, -1000, -1000, 746, 358, + 619, -1000, -1000, 746, -1000, 275, -1000, -1000, -1000, -1000, + -1000, 619, 2664, 815, -1000, 228, 384, -1000, 2533, -1000, } var yyPgo = [...]int{ - 0, 37, 1161, 1158, 49, 34, 35, 594, 1157, 1156, - 167, 232, 1369, 458, 1434, 71, 64, 54, 729, 225, - 1155, 28, 1154, 1153, 1152, 43, 1151, 38, 124, 1150, - 1148, 1147, 1146, 44, 1125, 1124, 26, 1123, 20, 36, - 180, 1122, 728, 31, 1121, 32, 1120, 1118, 29, 1117, - 58, 50, 42, 1116, 1115, 1114, 1113, 1112, 27, 23, - 1111, 1105, 1, 1104, 1102, 1101, 8, 1099, 1098, 1095, - 1094, 1092, 52, 4, 1090, 1089, 1088, 1085, 1084, 2, - 1083, 39, 0, 1082, 1081, 1079, 57, 1078, 1076, 617, - 1075, 1064, 61, 11, 1063, 30, 1060, 1059, 1058, 13, - 33, 1056, 1053, 1051, 1050, 1048, 1043, 3, 1034, 17, - 1031, 1030, 1027, 1021, 1017, 41, 1011, 1010, 1006, 1003, - 1002, 1001, 999, 998, 22, 997, 19, 24, 996, 7, - 993, 988, 986, 982, 15, 16, 25, 5, 12, 981, - 974, 973, 6, 971, 970, 14, 962, 958, 954, 953, - 952, 946, 944, 942, 936, 930, 929, 927, 687, 21, - 926, 925, 18, + 0, 29, 1152, 1151, 46, 40, 44, 571, 1149, 1148, + 4, 217, 134, 42, 1383, 110, 66, 54, 791, 1447, + 1145, 31, 1144, 1143, 1142, 124, 1141, 43, 86, 1140, + 1135, 1134, 1133, 90, 1131, 1130, 26, 1128, 28, 45, + 49, 1126, 738, 33, 1125, 1, 1124, 1122, 17, 1121, + 68, 50, 48, 1120, 1119, 1118, 1117, 1115, 34, 13, + 1113, 1101, 2, 1100, 1099, 1098, 19, 1097, 1096, 1094, + 1093, 1092, 52, 3, 1091, 1090, 1089, 1088, 1087, 6, + 1084, 58, 0, 1083, 1081, 1080, 105, 1062, 1061, 604, + 1060, 1059, 62, 11, 1058, 8, 1057, 1055, 1054, 12, + 38, 1052, 1051, 1049, 1046, 1045, 1043, 14, 1035, 23, + 1033, 1031, 1030, 1029, 1028, 30, 1025, 1023, 1020, 1015, + 1014, 1011, 1007, 1004, 998, 27, 997, 15, 16, 996, + 37, 990, 987, 986, 983, 41, 7, 20, 18, 22, + 981, 978, 970, 5, 969, 968, 21, 630, 25, 960, + 921, 24, } var yyR1 = [...]int{ - 0, 144, 81, 81, 82, 82, 3, 3, 3, 3, + 0, 145, 81, 81, 82, 82, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, @@ -1546,51 +1547,50 @@ var yyR1 = [...]int{ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 104, 104, 61, 61, 105, 105, 106, - 106, 62, 102, 102, 58, 51, 52, 142, 142, 143, - 143, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 114, 114, 110, 110, 115, 115, 136, 136, 135, - 135, 135, 57, 57, 59, 59, 60, 60, 103, 103, - 139, 139, 139, 139, 100, 100, 100, 145, 145, 56, + 106, 62, 102, 102, 58, 51, 52, 143, 143, 144, + 144, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 114, 114, 110, 110, 115, 115, 137, 137, 136, + 136, 136, 57, 57, 59, 59, 60, 60, 103, 103, + 140, 140, 140, 140, 100, 100, 100, 146, 146, 56, 56, 96, 96, 97, 97, 54, 54, 55, 55, 107, - 107, 108, 108, 66, 66, 65, 65, 65, 65, 138, - 138, 138, 116, 116, 72, 72, 72, 72, 87, 87, + 107, 108, 108, 66, 66, 65, 65, 65, 65, 139, + 139, 139, 116, 116, 72, 72, 72, 72, 87, 87, 27, 27, 27, 88, 88, 88, 88, 109, 109, 69, - 69, 69, 69, 71, 117, 117, 141, 141, 118, 118, + 69, 69, 69, 71, 117, 117, 142, 142, 118, 118, 119, 119, 73, 73, 74, 120, 120, 77, 77, 76, - 75, 75, 78, 78, 140, 140, 111, 111, 112, 112, + 75, 75, 78, 78, 141, 141, 111, 111, 112, 112, 121, 121, 79, 79, 79, 79, 79, 79, 113, 113, 113, 113, 70, 70, 101, 101, 99, 99, 98, 98, - 124, 124, 122, 122, 123, 123, 123, 125, 125, 42, - 15, 15, 15, 146, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 147, 15, 148, 15, 149, 15, 150, 15, + 125, 125, 123, 123, 124, 124, 124, 126, 126, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 151, - 152, 15, 153, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 154, 15, 15, 15, 15, 15, 15, - 15, 156, 15, 157, 15, 50, 50, 50, 50, 47, - 47, 47, 47, 46, 46, 1, 95, 95, 94, 94, - 94, 94, 23, 23, 23, 23, 23, 23, 23, 23, - 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, - 41, 132, 132, 131, 49, 49, 49, 155, 155, 155, - 137, 137, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 8, 28, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 35, - 35, 35, 35, 29, 29, 29, 29, 29, 29, 29, - 159, 159, 162, 162, 161, 161, 161, 161, 14, 14, - 48, 48, 16, 17, 18, 19, 19, 133, 133, 126, - 128, 128, 80, 127, 127, 127, 40, 40, 44, 44, - 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, - 10, 10, 9, 9, 13, 13, 129, 129, 130, 130, - 130, 39, 39, 134, 134, 93, 93, 38, 38, 38, - 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, - 89, 89, 89, 89, 33, 33, 33, 33, 33, 33, - 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, - 37, 90, 90, 36, 36, 30, 30, 31, 32, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, + 47, 47, 46, 46, 1, 95, 95, 94, 94, 94, + 94, 23, 23, 23, 23, 23, 23, 23, 23, 11, + 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, + 133, 133, 132, 49, 49, 49, 122, 122, 122, 138, + 138, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 28, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 35, 35, + 35, 35, 29, 29, 29, 29, 29, 29, 29, 148, + 148, 151, 151, 150, 150, 150, 150, 14, 14, 48, + 48, 16, 17, 18, 19, 19, 134, 134, 127, 129, + 129, 80, 128, 128, 128, 40, 40, 44, 44, 12, + 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, + 10, 9, 9, 13, 13, 130, 130, 131, 131, 131, + 39, 39, 135, 135, 93, 93, 38, 38, 38, 92, + 92, 91, 91, 91, 91, 91, 91, 91, 91, 89, + 89, 89, 89, 33, 33, 33, 33, 33, 33, 34, + 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, + 90, 90, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1617,40 +1617,39 @@ var yyR2 = [...]int{ 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, 1, 3, 1, 2, 1, 4, 3, 2, 1, 1, 0, 1, 3, - 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, + 6, 3, 4, 6, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 1, 1, 4, 5, 4, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, + 2, 1, 9, 10, 2, 2, 4, 4, 4, 4, + 4, 4, 4, 3, 1, 0, 4, 3, 4, 1, + 2, 2, 4, 3, 4, 4, 4, 4, 2, 1, + 1, 3, 2, 1, 3, 2, 1, 1, 4, 1, + 2, 0, 2, 0, 2, 1, 0, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 3, 1, 1, 1, 1, 3, 2, + 4, 3, 1, 1, 1, 4, 3, 3, 3, 3, + 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 4, 0, - 0, 7, 0, 5, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 0, 3, 1, 1, 1, 3, 2, - 1, 0, 10, 0, 11, 2, 2, 4, 4, 4, - 4, 4, 4, 4, 3, 1, 0, 4, 3, 4, - 1, 2, 2, 4, 3, 4, 4, 4, 4, 2, - 1, 1, 3, 2, 1, 3, 2, 1, 1, 4, - 1, 2, 0, 2, 0, 2, 1, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 3, 1, 1, 1, 1, 3, - 2, 4, 3, 1, 1, 1, 4, 3, 3, 3, - 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 4, 5, 2, 2, 3, 1, - 1, 3, 2, 1, 1, 1, 1, 3, 3, 1, - 0, 2, 0, 1, 5, 3, 3, 1, 1, 1, - 3, 3, 1, 1, 1, 5, 1, 2, 0, 3, - 4, 4, 1, 1, 1, 0, 1, 2, 3, 3, - 1, 4, 4, 1, 1, 1, 1, 2, 1, 4, - 4, 1, 1, 4, 0, 1, 1, 1, 4, 4, - 1, 1, 3, 1, 2, 3, 1, 1, 4, 0, - 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, - 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, - 2, 1, 3, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 4, 5, 2, 2, 3, 1, 1, + 3, 2, 1, 1, 1, 1, 3, 3, 1, 0, + 2, 0, 1, 5, 3, 3, 1, 1, 1, 3, + 3, 1, 1, 1, 5, 1, 2, 0, 3, 4, + 4, 1, 1, 1, 0, 1, 2, 3, 3, 1, + 4, 4, 1, 1, 1, 1, 2, 1, 4, 4, + 1, 1, 4, 0, 1, 1, 1, 4, 4, 1, + 1, 3, 1, 2, 3, 1, 1, 4, 0, 0, + 2, 5, 3, 3, 1, 6, 4, 4, 2, 2, + 2, 1, 2, 1, 4, 3, 3, 6, 3, 1, + 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, + 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -144, -81, -3, -25, -51, -52, 51, 79, 44, + -1000, -145, -81, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1661,7 +1660,7 @@ var yyChk = [...]int{ 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -134, -44, -12, -40, -9, 134, + 64, 65, 80, -10, -135, -44, -12, -40, -9, 134, 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, @@ -1669,198 +1668,194 @@ var yyChk = [...]int{ -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -142, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -143, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -154, 125, 125, -155, 17, -89, -33, 12, 76, + -48, -14, 125, 125, -122, 17, -89, -33, 12, 76, 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, - -10, -134, -12, 123, 123, -14, -14, 123, -14, -14, + -10, -135, -12, 123, 123, -14, -14, 123, -14, -14, 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, - -14, 128, 125, 125, 82, -138, 123, -82, 78, 125, - 119, -10, 134, 78, -138, 119, 124, 121, 119, -81, + -14, 128, 125, 125, 82, -139, 123, -82, 78, 125, + 119, -10, 134, 78, -139, 119, 124, 121, 119, -81, -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -142, -99, -98, - -14, -139, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -142, 136, 121, 135, -147, - -148, -149, -150, -14, -14, -14, -14, -14, -14, -14, + 51, -25, 122, -56, -25, 122, 21, -143, -99, -98, + -14, -140, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -143, 136, 121, 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -151, 122, -102, -58, -19, - -19, -15, -103, 10, -86, 121, 121, 10, -156, -68, + -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -43, -14, 122, -102, -58, -19, + -19, -15, -103, 10, -86, 121, 121, 10, 123, -68, 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, - -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -129, -130, -40, -39, -10, -134, 10, - 119, -137, -138, 78, 82, -82, 57, -10, 78, -90, - -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, - -13, -92, 126, -162, 135, 58, -17, -19, -13, -13, - 10, 124, -116, -50, -72, -15, -19, 128, 83, -138, - -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -81, 120, -138, -4, 121, 135, 29, -82, 121, - 135, 29, -82, 10, 29, 136, -28, -158, -7, -31, - -82, 79, 82, 60, 125, -8, 62, -160, 18, 74, - -11, 131, 132, 130, 129, 123, 123, -96, -86, -86, - -48, 121, 135, -100, 121, -100, 121, -27, -14, 12, - -157, -28, -14, -14, -14, -14, -14, -14, -153, 124, - 135, 29, 29, 124, 135, 136, 120, 123, 123, -110, - 56, -45, -82, 79, 82, 119, -115, -45, -15, -19, - -19, 91, 124, 135, 123, -82, -125, -123, -122, -124, - 125, -126, 57, 126, 126, -34, 10, 13, 12, 10, - 120, 125, 120, -127, -80, -128, -138, 125, 119, -10, - -14, -40, -82, -129, -40, 124, 135, 124, 124, 124, - 126, 126, 124, -14, 128, -14, 128, 126, 126, 124, - 135, 124, -17, -14, -138, -138, 126, 120, -138, -138, - 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, - 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, - 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, - 153, 154, 157, 159, 158, 160, 127, 82, -82, 123, - -159, -161, -158, 17, 78, -158, -158, -158, -158, -158, - 124, -54, 93, 94, -97, 22, 121, -99, -14, 120, - 32, 33, -100, 31, -100, 120, 136, 123, 122, -14, - 121, -58, -135, -19, 128, 59, -135, -60, -25, 122, - 10, -28, -104, 41, -107, -108, -66, -65, 60, 61, - -45, -107, 119, -115, 82, -82, -109, 135, -43, 136, - -38, -93, 125, -124, -126, -13, -129, 126, -14, -133, - 125, 125, -13, -14, 120, -132, -36, 58, -17, -17, - -72, 10, 10, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, 122, - -158, -82, -159, 126, -162, 135, 58, 10, 52, 124, - 121, -48, -25, -55, 93, 94, 121, 121, -14, -145, - 122, 121, 120, 121, 31, -28, -107, -152, -136, 58, - -19, 123, -136, -86, 136, -61, 42, 123, 124, 135, - -142, 124, -109, -82, 120, -69, -111, -70, -71, -112, - -121, 47, 38, 44, -79, 103, 102, 101, 98, 99, - 100, -45, -146, -14, 124, -13, 126, -127, 126, -126, - -13, -13, 126, 120, -131, 57, -14, 128, 126, -158, - 122, 124, -158, -158, -25, 95, -48, 122, -99, -145, - -86, 121, 124, -14, 124, -135, -93, 124, 28, -28, - 119, -45, 119, -66, -143, 83, -95, 44, 120, -113, - 12, 121, 135, -1, -79, 10, -117, -45, -137, 126, - 120, 126, 126, -129, -17, -158, 58, 121, 122, -86, - 124, -86, -95, -59, -25, 122, 124, -59, 121, -86, - 12, -86, 12, 119, 123, 121, 135, 136, 10, -142, - 136, -141, 135, 121, 119, -158, -86, -57, -25, 122, - 119, -86, 120, 124, 120, 136, -86, -94, 12, 128, - 12, -28, 136, 10, -28, -45, -118, -119, -73, -74, - -75, -76, -77, -45, 10, -86, -86, 26, 119, -28, - 120, 124, 135, 12, 136, -28, 123, 120, -73, 121, - 121, 45, 29, 78, 24, 120, 121, -86, 12, 128, - -28, -107, -120, -45, -78, -79, 10, 121, 120, 12, - 124, 135, 10, -105, -106, -62, 41, -140, 121, 119, - -45, -62, 123, -86, -45, 120, 12, 124, 119, -86, - 120, + -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, + 11, -19, -130, -131, -40, -39, -10, -135, 10, 119, + -138, -139, 78, 82, -82, 57, -10, 78, -90, -36, + -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, + -92, 126, -151, 135, 58, -17, -19, -13, -13, 10, + 124, -116, -50, -72, -15, -19, 128, 83, -139, -39, + -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, + -81, 120, -139, -4, 121, 135, 29, -82, 121, 135, + 29, -82, 10, 29, 136, -28, -147, -7, -31, -82, + 79, 82, 60, 125, -8, 62, -149, 18, 74, -11, + 131, 132, 130, 129, 123, 123, -96, -86, -86, -48, + 121, 135, -100, 121, -100, 121, -27, -14, 12, 123, + -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, + 136, 120, 123, -107, -108, -66, -65, 60, 61, -45, + -82, 79, 82, -110, 56, -45, 119, -115, -45, -15, + -19, -19, 91, 124, 135, 123, -82, -126, -124, -123, + -125, 125, -127, 57, 126, 126, -34, 10, 13, 12, + 10, 120, 125, 120, -128, -80, -129, -139, 125, 119, + -10, -14, -40, -82, -130, -40, 124, 135, 124, 124, + 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, + 124, 135, 124, -17, -14, -139, -139, 126, 120, -139, + -139, 120, 120, -5, 10, 29, -6, 10, 29, 10, + -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -82, + 123, -148, -150, -147, 17, 78, -147, -147, -147, -147, + -147, 124, -54, 93, 94, -97, 22, 121, -99, -14, + 120, 32, 33, -100, 31, -100, 120, 136, -107, -14, + 121, -58, -136, -19, 128, 59, -136, -60, -25, 122, + 10, -28, -104, 41, -107, 124, 135, -143, 82, -82, + 119, -115, -109, 135, -43, 136, -38, -93, 125, -125, + -127, -13, -130, 126, -14, -134, 125, 125, -13, -14, + 120, -133, -36, 58, -17, -17, -72, 10, 10, -147, + -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, 122, -147, -82, -148, 126, + -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, + 93, 94, 121, 121, -14, -146, 122, 121, 120, 121, + 31, -28, 124, -137, 58, -19, 123, -137, -86, 136, + -61, 42, 123, 124, -95, 44, -66, -144, 83, -82, + -109, 120, -69, -111, -70, -71, -112, -121, 47, 38, + 44, -79, 103, 102, 101, 98, 99, 100, -45, -138, + -14, 124, -13, 126, -128, 126, -127, -13, -13, 126, + 120, -132, 57, -14, 128, 126, -147, 122, 124, -147, + -147, -25, 95, -48, 122, -99, -146, -86, 121, -95, + 124, -136, -93, 124, 28, -28, 119, -45, 119, 119, + 123, 12, 120, -113, 12, 121, 135, -1, -79, 10, + -117, -45, 126, 120, 126, 126, -130, -17, -147, 58, + 121, 122, -86, 124, -86, 119, -59, -25, 122, 124, + -59, 121, -86, 12, -86, -86, -94, 12, 128, 136, + 121, 135, 136, 10, -143, 136, -142, 135, 121, 119, + -147, -86, -57, -25, 122, -86, -86, 120, 124, 120, + 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, + -45, -118, -119, -73, -74, -75, -76, -77, -45, 10, + -86, 120, 26, 119, 12, 128, 136, -28, 123, 120, + -73, 121, 121, 45, 29, 78, 24, 121, -86, 12, + -28, -107, -120, -45, -78, -79, 10, 121, 120, 124, + 135, 10, -105, -106, -62, 41, -141, 121, 119, -45, + -62, 123, -86, -45, 120, 12, 124, 119, -86, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 329, 0, 63, 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, - 0, 310, 438, 439, 325, 94, 0, 96, 0, 100, + 0, 301, 427, 428, 314, 94, 0, 96, 0, 100, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 287, 0, 294, 0, 0, 0, 0, 0, 0, - 0, 354, 303, 305, 306, 307, 357, 0, 446, 0, - 0, 0, 0, 0, 0, 0, 0, 423, 424, 425, - 426, 0, 0, 429, 364, 0, 490, 463, 464, 465, - 419, -2, 0, 0, 362, 363, 365, 366, 367, 368, - 369, 370, 371, -2, 0, 468, 0, 0, 471, 483, - 472, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 281, 282, 0, 286, 0, 0, 0, 0, 0, 0, + 0, 343, 0, 296, 297, 298, 346, 0, 435, 0, + 0, 0, 0, 0, 0, 0, 0, 412, 413, 414, + 415, 0, 0, 418, 353, 0, 479, 452, 453, 454, + 408, -2, 0, 0, 351, 352, 354, 355, 356, 357, + 358, 359, 360, -2, 0, 457, 0, 0, 460, 472, + 461, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 87, 0, 216, 0, 52, 0, 310, 340, 54, - 0, 56, 439, -2, 0, 59, 0, 159, 160, 0, - 0, 87, 165, 0, 215, 64, 252, 254, 256, 258, + 0, 87, 0, 216, 0, 52, 0, 301, 329, 54, + 0, 56, 428, -2, 0, 59, 0, 159, 160, 0, + 0, 87, 165, 0, 215, 64, 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, 289, 0, 0, 0, 38, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 88, 98, 101, -2, -2, 0, 95, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 489, 235, 248, 250, 249, 444, 341, 0, 0, - 0, 0, 340, 251, 273, 274, 275, 276, 287, 0, - 0, 295, 296, 297, 298, 299, 300, 301, 302, 0, - 356, 0, 474, 474, 0, 358, 359, 502, 504, 0, - 0, 309, 0, 360, 347, 348, 341, 0, 0, 350, - -2, 0, 0, 0, 0, 516, 517, 0, 519, 520, - 474, 0, 0, 0, 373, 0, 474, 490, 0, 432, - 495, 0, 474, 474, 0, 332, 0, -2, 0, 474, - 0, -2, 484, 0, 339, 0, 0, 10, 3, 0, + 0, 478, 234, 247, 249, 248, 433, 330, 0, 0, + 0, 0, 329, 250, 268, 269, 270, 271, 282, 0, + 0, 287, 288, 289, 290, 291, 292, 293, 294, 0, + 345, 295, 463, 463, 0, 347, 348, 491, 493, 0, + 0, 300, 0, 349, 336, 337, 330, 0, 0, 339, + -2, 0, 0, 0, 0, 505, 506, 0, 508, 509, + 463, 0, 0, 0, 362, 0, 463, 479, 0, 421, + 484, 0, 463, 463, 0, 321, 0, -2, 0, 463, + 0, -2, 473, 0, 328, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 131, 38, 48, 129, 38, 0, 311, 0, 217, + 0, 131, 38, 48, 129, 38, 0, 0, 0, 217, 219, 51, 124, 124, 53, 55, 57, 58, 60, 0, - 161, 0, 442, 61, 0, 313, 0, 62, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -2, -2, -2, -2, - -2, -2, -2, -2, 285, 0, 292, 0, 82, 84, - -2, 439, 0, 0, 0, 71, 72, 0, 0, 103, - 0, 0, 0, 0, 231, 0, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 0, 486, - 487, 0, 0, 343, 0, 0, 227, 440, 441, 355, - 304, 0, 475, 0, 308, 503, 500, 501, 0, 0, - 0, 423, 0, 455, 476, 477, 480, 456, 0, 481, - 0, 229, 361, 0, 0, 343, 0, 467, 0, 0, - 521, -2, -2, -2, 439, 0, 0, 427, 372, 428, - 0, 0, 324, 491, 433, 0, 499, 443, 0, 0, - 5, 149, 0, 0, 152, -2, -2, 0, 0, 334, - 0, 458, -2, 528, 0, 0, 0, 459, -2, 0, - 9, 0, 12, 333, 17, 14, 0, 0, 27, 15, - 0, 0, 33, 20, 0, 0, 36, 375, 376, 377, - -2, 0, 0, 0, 430, 383, 384, 385, 364, 0, - 0, 0, 0, 0, 0, 0, 0, 135, 133, 0, - 0, 216, 0, 0, 124, 0, 124, 158, 0, 163, - 0, 166, 214, 253, 255, 257, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 73, -2, -2, 0, - 0, 99, 344, 0, 0, 168, 102, 105, -2, -2, - 232, 0, 0, 489, 489, 342, 288, 228, 225, 226, - 474, 221, 0, 320, 319, 0, 510, 511, 512, 506, - 507, 0, 509, 448, 453, 454, 452, 474, 0, 457, - 0, 458, 342, 352, 459, 513, 0, 514, 515, 518, - 322, 321, 323, 493, 0, 494, 0, 461, 462, 150, - 0, 151, 156, 157, 335, 336, 469, 470, 337, 338, - 473, 11, 23, 26, 0, 29, 32, 0, 22, 35, + 161, 0, 431, 61, 0, 0, 0, 62, 0, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, -2, -2, -2, -2, + -2, -2, -2, -2, 280, 0, 0, 0, 82, 84, + -2, 428, 0, 0, 0, 71, 72, 0, -2, 103, + 0, 0, 0, 0, 231, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 0, 475, + 476, 0, 0, 332, 0, 0, 227, 429, 430, 344, + 0, 464, 0, 299, 492, 489, 490, 0, 0, 0, + 412, 0, 444, 465, 466, 469, 445, 0, 470, 0, + 229, 350, 0, 0, 332, 0, 456, 0, 0, 510, + -2, -2, -2, 428, 0, 0, 416, 361, 417, 0, + 0, 313, 480, 422, 0, 488, 432, 0, 0, 5, + 149, 0, 0, 152, -2, -2, 0, 0, 323, 0, + 447, -2, 517, 0, 0, 0, 448, -2, 0, 9, + 0, 12, 322, 17, 14, 0, 0, 27, 15, 0, + 0, 33, 20, 0, 0, 36, 364, 365, 366, -2, + 0, 0, 0, 419, 372, 373, 374, 353, 0, 0, + 0, 0, 0, 0, 0, 0, 135, 133, 0, 0, + 216, 0, 0, 124, 0, 124, 158, 0, 163, -2, + 166, 214, 0, 285, 0, 0, 0, 0, 0, 0, + 0, 73, -2, 0, 139, 141, 87, 146, 147, 148, + 333, 0, 0, 0, 0, 99, 168, 102, 105, -2, + -2, 232, 0, 0, 478, 478, 331, 283, 228, 225, + 226, 463, 221, 0, 309, 308, 0, 499, 500, 501, + 495, 496, 0, 498, 437, 442, 443, 441, 463, 0, + 446, 0, 447, 331, 341, 448, 502, 0, 503, 504, + 507, 311, 310, 312, 482, 0, 483, 0, 450, 451, + 150, 0, 151, 156, 157, 324, 325, 458, 459, 326, + 327, 462, 11, 23, 26, 0, 29, 32, 0, 22, + 35, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -2, 430, - 0, 432, 437, 0, 0, 393, 394, 416, 417, 0, - 0, 46, 0, 0, 137, 0, 49, 0, 218, 120, - 0, 0, 0, 0, 0, 162, 0, -2, 290, 293, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 419, 0, 421, 426, 0, 0, 382, 383, 405, 406, + 0, 0, 46, 0, 0, 137, 0, 49, 0, 218, + 120, 0, 0, 0, 0, 0, 162, 0, 0, 284, 65, 83, 107, 109, 0, 0, 107, 68, 116, 38, - 0, 118, 75, 0, 0, 139, 141, 87, 146, 147, - 148, 0, 168, 104, 0, 346, 198, 0, 233, 0, - 485, 0, 474, 224, 220, 0, 455, 505, 0, 445, - 474, 474, 0, 0, 482, 349, 522, 0, 497, 498, - 153, 28, 34, 0, 387, 388, 389, 390, 391, 392, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, -2, -2, -2, -2, -2, -2, -2, -2, 0, - 0, -2, 0, 382, 431, 433, 0, 374, 527, 418, - 42, 0, 136, 0, 0, 0, 130, 216, 0, 38, - 127, 128, 121, 122, 0, 164, 0, 0, 0, 0, - 110, 489, 0, 0, 0, 70, 0, 0, 0, 145, - 89, 326, 198, 345, 93, 167, 0, 0, 171, 0, - -2, 197, 0, 0, 200, 202, 203, 204, 205, 206, - 207, 106, 360, 230, 488, 0, 223, 449, 0, 447, - 0, 0, 478, 479, 351, 0, 492, 0, 386, 414, - 0, 381, 435, 436, 132, 0, 0, 38, 0, 38, - 126, 123, 326, 291, 0, 108, 0, 0, 0, 119, - 38, 0, 38, 142, 0, 90, 0, 0, 92, 0, - 210, 170, 0, 87, 201, 0, 0, 174, 234, 222, - 508, 451, 450, 353, 496, 415, 0, 47, 38, 138, - 0, 125, 0, 66, 114, 38, 111, 67, 117, 0, - 0, 0, 143, 38, 0, 169, 0, 0, 0, 0, - 0, 173, 0, 176, 178, 434, 134, 50, 112, 38, - 38, 0, 76, 0, 91, 0, 0, 0, 330, 0, - 208, 211, 0, 0, 213, 175, 0, 179, 180, 0, - 0, 188, 0, 0, -2, 0, 0, 0, 38, 144, - 312, 327, 0, 331, 0, 212, -2, 177, 181, 182, - 183, 0, 192, 0, 0, 314, 115, 0, 328, 0, - 209, 0, 184, 185, 0, -2, 189, 113, 78, 329, - 0, 0, 190, 74, 77, 79, 0, 172, 194, 38, - 186, 80, 0, 0, 0, 195, 0, 0, 38, 0, - 81, + 0, 118, 75, 0, 0, 315, 145, 89, 0, 335, + 168, 104, 198, 0, 349, 0, 474, 0, 463, 224, + 220, 0, 444, 494, 0, 434, 463, 463, 0, 0, + 471, 338, 511, 0, 486, 487, 153, 28, 34, 0, + 376, 377, 378, 379, 380, 381, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, -2, -2, -2, + -2, -2, -2, -2, -2, 0, 0, -2, 0, 371, + 420, 422, 0, 363, 516, 407, 42, 0, 136, 0, + 0, 0, 130, 216, 0, 38, 127, 128, 121, 122, + 0, 164, 315, 0, 0, 110, 478, 0, 0, 0, + 70, 0, 0, 0, 0, 0, 142, 0, 90, 334, + 198, 93, 167, 0, 0, 171, 0, -2, 197, 0, + 0, 200, 202, 203, 204, 205, 206, 207, 106, 233, + 230, 477, 0, 223, 438, 0, 436, 0, 0, 467, + 468, 340, 0, 481, 0, 375, 403, 0, 370, 424, + 425, 132, 0, 0, 38, 0, 38, 126, 123, 0, + 0, 108, 0, 0, 0, 119, 38, 0, 38, 38, + 0, 143, 92, 0, 210, 170, 0, 87, 201, 0, + 0, 174, 222, 497, 440, 439, 342, 485, 404, 0, + 47, 38, 138, 0, 125, 38, 66, 114, 38, 111, + 67, 117, 0, 0, 0, 0, 0, 319, 0, 0, + 169, 0, 0, 0, 0, 0, 173, 0, 176, 178, + 423, 134, 50, 112, 38, 0, 0, 76, 0, 91, + 302, 316, 0, 320, 144, 208, 211, 0, 0, 213, + 175, 0, 179, 180, 0, 0, 188, 0, 0, -2, + 0, 303, 0, 38, 317, 0, 0, 212, -2, 177, + 181, 182, 183, 0, 192, 0, 0, 115, 0, 318, + 209, 0, 184, 185, 0, -2, 189, 113, 78, 0, + 0, 190, 74, 77, 79, 0, 172, 194, 38, 186, + 80, 0, 0, 0, 195, 0, 0, 38, 0, 81, } var yyTok1 = [...]int{ @@ -4227,293 +4222,428 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1829 { + yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 232: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1829 - { - } - case 233: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1830 - { - } - case 234: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1830 - { - } - case 235: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1831 - { - } - case 236: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1832 - { - } - case 237: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1833 - { - } - case 238: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1834 - { - } - case 239: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1835 { + yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 240: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1836 - { - } - case 241: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1837 - { - } - case 242: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1838 - { - } - case 243: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1839 - { - } - case 244: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1840 - { - } - case 245: - yyDollar = yyS[yypt-3 : yypt+1] + case 233: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1841 { + _new := expr.NewNew(yyDollar[5].node, nil) + positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) + + if yyDollar[6].nodesWithEndToken != nil { + _new := expr.NewNew(yyDollar[5].node, yyDollar[6].nodesWithEndToken.nodes) + positions.AddPosition(_new, positionBuilder.NewTokensPosition(yyDollar[4].token, yyDollar[6].nodesWithEndToken.endToken)) + } + comments.AddComments(_new, comments[yyDollar[1].node]) + + yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, _new) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, _new)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 246: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1842 - { - } - case 247: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1843 - { - } - case 248: + case 234: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1844 - { - } - case 249: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1845 - { - } - case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1846 - { - } - case 251: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1847 - { - } - case 252: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1848 - { - } - case 253: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1848 - { - } - case 254: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1849 - { - } - case 255: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1849 - { - } - case 256: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1850 - { - } - case 257: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1850 - { - } - case 258: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1851 - { - } - case 259: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1851 - { - } - case 260: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1852 - { - } - case 261: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1853 - { - } - case 262: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1854 - { - } - case 263: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1855 - { - } - case 264: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1856 { + yyVAL.node = expr.NewClone(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 265: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1857 - { - } - case 266: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1858 - { - } - case 267: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1859 - { - } - case 268: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 - { - } - case 269: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1861 - { - } - case 270: + case 235: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1862 { + yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 271: + case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1863 - { - } - case 272: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1864 - { - } - case 273: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1865 - { - } - case 274: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1866 - { - } - case 275: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1867 - { - } - case 276: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1868 { + yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 277: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1869 - { - } - case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1870 - { - } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1871 - { - } - case 280: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1872 - { - } - case 281: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1873 - { - } - case 282: + case 237: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1874 { + yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 283: + case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1875 - { - } - case 284: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1876 - { - } - case 285: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1877 - { - } - case 286: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1878 - { - } - case 287: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1880 + { + yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 239: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1886 + { + yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 240: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1892 + { + yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 241: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1898 + { + yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 242: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1904 + { + yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 243: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1910 + { + yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 244: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1916 + { + yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 245: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1922 + { + yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 246: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1928 + { + yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 247: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1934 + { + yyVAL.node = expr.NewPostInc(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 248: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1940 + { + yyVAL.node = expr.NewPreInc(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 249: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1946 + { + yyVAL.node = expr.NewPostDec(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 250: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1952 + { + yyVAL.node = expr.NewPreDec(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 251: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1958 + { + yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 252: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1964 + { + yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 253: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1970 + { + yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 254: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1976 + { + yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 255: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1982 + { + yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 256: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1988 + { + yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1994 + { + yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 258: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2000 + { + yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 259: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2006 + { + yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 260: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2012 + { + yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 261: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2018 + { + yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 262: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2024 + { + yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 263: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2030 + { + yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 264: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2036 + { + yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 265: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2042 + { + yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 266: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2048 + { + yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 267: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2054 + { + yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 268: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2060 + { + yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 269: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2066 + { + yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 270: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2072 + { + yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 271: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2078 + { + yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 272: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2084 + { + yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 273: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2090 + { + yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 274: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2096 + { + yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 275: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2102 + { + yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 276: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2108 + { + yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 277: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2114 + { + yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 278: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2120 + { + yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 279: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2126 + { + yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 280: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2132 + { + yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 281: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2138 { yyVAL.node = yyDollar[1].node } - case 288: + case 282: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2140 + { + yyVAL.node = yyDollar[1].node + } + case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1882 + //line php5/php5.y:2142 { yyVAL.node = yyDollar[2].node @@ -4539,176 +4669,211 @@ yydefault: } } } - case 289: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1907 - { - } - case 290: + case 284: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:2168 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 291: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1909 + case 285: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2174 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 292: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1910 - { - } - case 293: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1911 - { - } - case 294: + case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1912 - { - } - case 295: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1913 - { - } - case 296: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1914 - { - } - case 297: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1915 - { - } - case 298: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1916 - { - } - case 299: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1917 - { - } - case 300: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1918 - { - } - case 301: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1919 - { - } - case 302: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 - { - } - case 303: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1921 - { - } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1921 - { - } - case 305: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:2180 { yyVAL.node = yyDollar[1].node } - case 306: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1923 + case 287: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2182 { + yyVAL.node = cast.NewCastInt(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 288: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2188 + { + yyVAL.node = cast.NewCastDouble(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 289: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2194 + { + yyVAL.node = cast.NewCastString(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 290: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2200 + { + yyVAL.node = cast.NewCastArray(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 291: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2206 + { + yyVAL.node = cast.NewCastObject(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2212 + { + yyVAL.node = cast.NewCastBool(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 293: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2218 + { + yyVAL.node = cast.NewCastUnset(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 294: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2224 + { + yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 295: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2230 + { + yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 296: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2236 + { + yyVAL.node = yyDollar[1].node + } + case 297: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2238 + { + yyVAL.node = yyDollar[1].node + } + case 298: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2240 + { + yyVAL.node = yyDollar[1].node + } + case 299: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2242 + { + yyVAL.node = expr.NewShellExec(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 300: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2248 + { + yyVAL.node = expr.NewPrint(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 301: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2254 + { + yyVAL.node = expr.NewYield(nil, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 302: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:2260 + { + yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 303: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:2267 + { + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 304: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2277 + { + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 305: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2283 + { + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 306: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2289 + { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 307: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1924 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2295 { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 308: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1925 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2304 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 309: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1926 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2310 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 310: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1927 - { - } - case 311: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1928 - { - } - case 312: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1930 - { - } - case 313: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1931 - { - } - case 314: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1933 - { - } - case 315: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1937 - { - } - case 316: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1938 - { - } - case 317: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1939 - { - } - case 318: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1940 - { - } - case 319: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1945 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 320: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 321: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1957 + //line php5/php5.y:2316 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4718,51 +4883,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 322: + case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:2326 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 323: + case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:2335 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 324: + case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:2341 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 325: + case 314: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1991 + //line php5/php5.y:2350 { yyVAL.token = yyDollar[1].token } - case 326: + case 315: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1996 + //line php5/php5.y:2355 { yyVAL.list = []node.Node{} } - case 327: + case 316: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1998 + //line php5/php5.y:2357 { yyVAL.list = yyDollar[3].list } - case 328: + case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2003 + //line php5/php5.y:2362 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4778,9 +4943,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 329: + case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2019 + //line php5/php5.y:2378 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4796,9 +4961,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 330: + case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2035 + //line php5/php5.y:2394 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4814,9 +4979,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 331: + case 320: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2051 + //line php5/php5.y:2410 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4832,9 +4997,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 332: + case 321: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2070 + //line php5/php5.y:2429 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4844,9 +5009,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(name, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[name]) } - case 333: + case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2080 + //line php5/php5.y:2439 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4856,9 +5021,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 334: + case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2090 + //line php5/php5.y:2449 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4868,117 +5033,117 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 335: + case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2100 + //line php5/php5.y:2459 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 336: + case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2106 + //line php5/php5.y:2465 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 337: + case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2471 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 338: + case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2477 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 339: + case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2124 + //line php5/php5.y:2483 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 340: + case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2133 + //line php5/php5.y:2492 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 341: + case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2139 + //line php5/php5.y:2498 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 342: + case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2145 + //line php5/php5.y:2504 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 343: + case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2510 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 344: + case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2160 + //line php5/php5.y:2519 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 345: + case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:2525 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 346: + case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2172 + //line php5/php5.y:2531 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 347: + case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2181 + //line php5/php5.y:2540 { yyVAL.node = yyDollar[1].node } - case 348: + case 337: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2183 + //line php5/php5.y:2542 { yyVAL.node = yyDollar[1].node } - case 349: + case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2188 + //line php5/php5.y:2547 { yyVAL.node = yyDollar[1].node @@ -5026,174 +5191,177 @@ yydefault: } } } - case 350: + case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2236 + //line php5/php5.y:2595 { yyVAL.node = yyDollar[1].node } - case 351: + case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2601 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 352: + case 341: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2244 + //line php5/php5.y:2603 { yyVAL.list = []node.Node{} } - case 353: + case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2250 + //line php5/php5.y:2609 { yyVAL.list = yyDollar[2].list } - case 354: + case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2255 + //line php5/php5.y:2614 { yyVAL.node = nil } - case 355: + case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2257 + //line php5/php5.y:2616 { yyVAL.node = nil } - case 356: + case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2259 + //line php5/php5.y:2618 { yyVAL.node = yyDollar[1].node } - case 357: + case 346: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2263 + //line php5/php5.y:2623 { + yyVAL.list = []node.Node{} } - case 358: + case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2264 + //line php5/php5.y:2625 { + yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } - case 359: + case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2265 + //line php5/php5.y:2627 { + yyVAL.list = yyDollar[1].list } - case 360: + case 349: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2270 + //line php5/php5.y:2632 { yyVAL.nodesWithEndToken = nil } - case 361: + case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2272 + //line php5/php5.y:2634 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 362: + case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2639 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 363: + case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2645 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 364: + case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2651 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 365: + case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2295 + //line php5/php5.y:2657 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 366: + case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2301 + //line php5/php5.y:2663 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 367: + case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2307 + //line php5/php5.y:2669 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 368: + case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2313 + //line php5/php5.y:2675 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 369: + case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2319 + //line php5/php5.y:2681 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 370: + case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2325 + //line php5/php5.y:2687 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 371: + case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2693 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 372: + case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2337 + //line php5/php5.y:2699 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 373: + case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2342 + //line php5/php5.y:2704 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 374: + case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2351 + //line php5/php5.y:2713 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5203,259 +5371,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 375: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2363 + //line php5/php5.y:2725 + { + } + case 365: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2729 + { + } + case 366: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2730 + { + } + case 367: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2731 + { + } + case 368: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2732 + { + } + case 369: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2733 + { + } + case 370: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2734 + { + } + case 371: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2735 + { + } + case 372: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2736 + { + } + case 373: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2737 + { + } + case 374: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2738 + { + } + case 375: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2742 { } case 376: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2367 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2743 { } case 377: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2368 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2744 { } case 378: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2369 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2745 { } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2370 + //line php5/php5.y:2746 { } case 380: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2371 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2747 { } case 381: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2372 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2748 { } case 382: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2373 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2749 { } case 383: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2374 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2750 { } case 384: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2375 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2751 { } case 385: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2376 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2752 { } case 386: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2380 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2753 { } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2381 + //line php5/php5.y:2754 { } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2382 + //line php5/php5.y:2755 { } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2383 + //line php5/php5.y:2756 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2384 + //line php5/php5.y:2757 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2385 + //line php5/php5.y:2758 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2386 + //line php5/php5.y:2759 { } case 393: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2387 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2760 { } case 394: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2388 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2761 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2389 + //line php5/php5.y:2762 { } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2390 + //line php5/php5.y:2763 { } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2391 + //line php5/php5.y:2764 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2392 + //line php5/php5.y:2765 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2393 + //line php5/php5.y:2766 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2767 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2395 + //line php5/php5.y:2768 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2396 + //line php5/php5.y:2769 { } case 403: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2397 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2770 { } case 404: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2398 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2771 { } case 405: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2399 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2772 { } case 406: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2400 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2773 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2401 + //line php5/php5.y:2774 { } case 408: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2402 - { - } - case 409: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2403 - { - } - case 410: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2404 - { - } - case 411: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2405 - { - } - case 412: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2406 - { - } - case 413: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2407 - { - } - case 414: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2408 - { - } - case 415: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2409 - { - } - case 416: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2410 - { - } - case 417: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2411 - { - } - case 418: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2412 - { - } - case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2417 + //line php5/php5.y:2779 { yyVAL.node = yyDollar[1].node } - case 420: + case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2419 + //line php5/php5.y:2781 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 421: + case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2425 + //line php5/php5.y:2787 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 422: + case 411: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2431 + //line php5/php5.y:2793 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 423: + case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2440 + //line php5/php5.y:2802 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5465,123 +5633,123 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 424: + case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2450 + //line php5/php5.y:2812 { yyVAL.node = yyDollar[1].node } - case 425: + case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2452 + //line php5/php5.y:2814 { yyVAL.node = yyDollar[1].node } - case 426: + case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2454 + //line php5/php5.y:2816 { yyVAL.node = yyDollar[1].node } - case 427: + case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2456 + //line php5/php5.y:2818 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 428: + case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2462 + //line php5/php5.y:2824 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 429: + case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2468 + //line php5/php5.y:2830 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 430: + case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2476 + //line php5/php5.y:2838 { } - case 431: + case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2477 + //line php5/php5.y:2839 { } + case 423: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2848 + { + } + case 424: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2849 + { + } + case 425: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2850 + { + } + case 426: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2851 + { + } + case 427: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2856 + { + yyVAL.node = yyDollar[1].node + } + case 428: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2858 + { + yyVAL.node = yyDollar[1].node + } + case 429: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2863 + { + yyVAL.node = yyDollar[2].node + } + case 430: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2865 + { + yyVAL.node = yyDollar[2].node + } + case 431: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2871 + { + yyVAL.node = yyDollar[1].node + } + case 432: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2879 + { + yyVAL.node = yyDollar[1].node + } + case 433: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2886 + { + yyVAL.node = yyDollar[1].node + } case 434: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2486 - { - } - case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2487 - { - } - case 436: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2488 - { - } - case 437: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2489 - { - } - case 438: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2494 - { - yyVAL.node = yyDollar[1].node - } - case 439: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2496 - { - yyVAL.node = yyDollar[1].node - } - case 440: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2501 - { - yyVAL.node = yyDollar[2].node - } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2503 - { - yyVAL.node = yyDollar[2].node - } - case 442: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2509 - { - yyVAL.node = yyDollar[1].node - } - case 443: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2517 - { - yyVAL.node = yyDollar[1].node - } - case 444: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2524 - { - yyVAL.node = yyDollar[1].node - } - case 445: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2531 + //line php5/php5.y:2893 { yyVAL.node = yyDollar[1].node @@ -5634,27 +5802,27 @@ yydefault: } } } - case 446: + case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2584 + //line php5/php5.y:2946 { yyVAL.node = yyDollar[1].node } - case 447: + case 436: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2589 + //line php5/php5.y:2951 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 448: + case 437: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2591 + //line php5/php5.y:2953 { yyVAL.list = []node.Node{} } - case 449: + case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2597 + //line php5/php5.y:2959 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -5663,58 +5831,58 @@ yydefault: yyVAL.list = yyDollar[2].list } - case 450: + case 439: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2609 + //line php5/php5.y:2971 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 451: + case 440: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2616 + //line php5/php5.y:2978 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = []node.Node{yyDollar[1].node, fetch} } - case 452: + case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2626 + //line php5/php5.y:2988 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } - case 453: + case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2996 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 454: + case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2636 + //line php5/php5.y:2998 { yyVAL.list = yyDollar[1].list } - case 455: + case 444: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2638 + //line php5/php5.y:3000 { yyVAL.list = nil } - case 456: + case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2643 + //line php5/php5.y:3005 { yyVAL.node = yyDollar[1].node } - case 457: + case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2645 + //line php5/php5.y:3007 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5724,105 +5892,105 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 458: + case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2658 + //line php5/php5.y:3020 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 459: + case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2664 + //line php5/php5.y:3026 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 449: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3036 + { + yyVAL.node = yyDollar[1].node + } + case 450: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3041 + { + } + case 451: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3043 + { + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3047 + { + yyVAL.node = yyDollar[1].node + } + case 453: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3048 + { + yyVAL.node = yyDollar[1].node + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3049 + { + yyVAL.node = yyDollar[1].node + } + case 455: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3055 + { + yyVAL.node = yyDollar[1].node + } + case 456: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:3057 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 457: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3067 + { + yyVAL.node = yyDollar[1].node + } + case 458: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3072 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 459: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3078 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2674 + //line php5/php5.y:3084 { yyVAL.node = yyDollar[1].node } case 461: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2679 - { - } - case 462: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2681 - { - } - case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2685 - { - yyVAL.node = yyDollar[1].node - } - case 464: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2686 - { - yyVAL.node = yyDollar[1].node - } - case 465: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2687 - { - yyVAL.node = yyDollar[1].node - } - case 466: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2693 - { - yyVAL.node = yyDollar[1].node - } - case 467: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2695 - { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - } - case 468: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2705 - { - yyVAL.node = yyDollar[1].node - } - case 469: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2710 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 470: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2716 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 471: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2722 - { - yyVAL.node = yyDollar[1].node - } - case 472: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2728 + //line php5/php5.y:3090 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5832,85 +6000,85 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 473: + case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2738 + //line php5/php5.y:3100 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 474: + case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:3108 { yyVAL.node = nil } - case 475: + case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2747 + //line php5/php5.y:3109 { yyVAL.node = yyDollar[1].node } - case 476: + case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2753 + //line php5/php5.y:3115 { yyVAL.list = yyDollar[1].list } - case 477: + case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2755 + //line php5/php5.y:3117 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 478: + case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2765 + //line php5/php5.y:3127 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 479: + case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:3134 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 480: + case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:3141 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 481: + case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2789 + //line php5/php5.y:3151 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 482: + case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2795 + //line php5/php5.y:3157 { yyVAL.node = yyDollar[2].node } - case 483: + case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2800 + //line php5/php5.y:3162 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5918,9 +6086,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 484: + case 473: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2808 + //line php5/php5.y:3170 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5932,53 +6100,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 485: + case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2823 + //line php5/php5.y:3185 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 486: + case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2825 + //line php5/php5.y:3187 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 487: + case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2831 + //line php5/php5.y:3193 { yyVAL.node = yyDollar[1].node } - case 488: + case 477: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2833 + //line php5/php5.y:3195 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 489: + case 478: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:3201 { yyVAL.node = nil } - case 490: + case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2845 + //line php5/php5.y:3207 { yyVAL.list = nil } - case 491: + case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2847 + //line php5/php5.y:3209 { yyVAL.list = yyDollar[1].list } - case 492: + case 481: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2852 + //line php5/php5.y:3214 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5986,9 +6154,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 493: + case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2860 + //line php5/php5.y:3222 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5996,9 +6164,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 494: + case 483: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2868 + //line php5/php5.y:3230 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6006,9 +6174,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 495: + case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2876 + //line php5/php5.y:3238 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6016,9 +6184,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 496: + case 485: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2884 + //line php5/php5.y:3246 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6026,9 +6194,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 497: + case 486: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2892 + //line php5/php5.y:3254 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6036,9 +6204,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 498: + case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2900 + //line php5/php5.y:3262 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6046,9 +6214,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 499: + case 488: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2908 + //line php5/php5.y:3270 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6056,39 +6224,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 500: + case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2919 + //line php5/php5.y:3281 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 501: + case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2921 + //line php5/php5.y:3283 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 502: + case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2928 + //line php5/php5.y:3290 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 503: + case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2930 + //line php5/php5.y:3292 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 504: + case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2940 + //line php5/php5.y:3302 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6098,9 +6266,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 505: + case 494: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2950 + //line php5/php5.y:3312 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6113,9 +6281,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 506: + case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2963 + //line php5/php5.y:3325 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6131,17 +6299,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 507: + case 496: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2979 + //line php5/php5.y:3341 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 508: + case 497: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2985 + //line php5/php5.y:3347 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6154,23 +6322,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 509: + case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2999 + //line php5/php5.y:3361 { yyVAL.node = yyDollar[2].node } - case 510: + case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3004 + //line php5/php5.y:3366 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 511: + case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3010 + //line php5/php5.y:3372 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6182,9 +6350,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 512: + case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3022 + //line php5/php5.y:3384 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6194,97 +6362,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 513: + case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3035 + //line php5/php5.y:3397 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 514: + case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3041 + //line php5/php5.y:3403 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 515: + case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3047 + //line php5/php5.y:3409 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 516: + case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3053 + //line php5/php5.y:3415 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3059 + //line php5/php5.y:3421 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 518: + case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3065 + //line php5/php5.y:3427 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 519: + case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3071 + //line php5/php5.y:3433 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3077 + //line php5/php5.y:3439 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 521: + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3086 + //line php5/php5.y:3448 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 522: + case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3088 + //line php5/php5.y:3450 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 523: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3092 + //line php5/php5.y:3454 { yyVAL.node = yyDollar[1].node } - case 524: + case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3093 + //line php5/php5.y:3455 { yyVAL.node = yyDollar[1].node } - case 525: + case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3098 + //line php5/php5.y:3460 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6294,9 +6462,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 526: + case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3108 + //line php5/php5.y:3470 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6306,9 +6474,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 527: + case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3121 + //line php5/php5.y:3483 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6318,9 +6486,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 528: + case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3134 + //line php5/php5.y:3496 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index e88b6f3..54867c8 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -3,7 +3,7 @@ package php5 import ( // "fmt" -// "strings" + "strings" "strconv" "github.com/z7zmey/php-parser/token" @@ -13,8 +13,8 @@ import ( "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" -// "github.com/z7zmey/php-parser/node/expr/binary_op" -// "github.com/z7zmey/php-parser/node/expr/cast" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" ) %} @@ -217,7 +217,7 @@ import ( %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list non_empty_member_modifiers +%type trait_reference_list non_empty_member_modifiers backticks_expr %type chaining_dereference chaining_instance_call chaining_method_or_property instance_call variable_property %type method_or_not array_method_dereference object_property object_dim_list dynamic_class_name_variable_property @@ -1825,57 +1825,317 @@ expr_without_variable: comments.AddComments(list, $1.Comments()) comments.AddComments($$, $1.Comments()) } - | variable '=' expr { } - | variable '=' '&' variable { } - | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } - | T_CLONE expr { } - | variable T_PLUS_EQUAL expr { } - | variable T_MINUS_EQUAL expr { } - | variable T_MUL_EQUAL expr { } - | variable T_POW_EQUAL expr { } - | variable T_DIV_EQUAL expr { } - | variable T_CONCAT_EQUAL expr { } - | variable T_MOD_EQUAL expr { } - | variable T_AND_EQUAL expr { } - | variable T_OR_EQUAL expr { } - | variable T_XOR_EQUAL expr { } - | variable T_SL_EQUAL expr { } - | variable T_SR_EQUAL expr { } - | rw_variable T_INC { } - | T_INC rw_variable { } - | rw_variable T_DEC { } - | T_DEC rw_variable { } - | expr T_BOOLEAN_OR { } expr { } - | expr T_BOOLEAN_AND { } expr { } - | expr T_LOGICAL_OR { } expr { } - | expr T_LOGICAL_AND { } expr { } - | expr T_LOGICAL_XOR expr { } - | expr '|' expr { } - | expr '&' expr { } - | expr '^' expr { } - | expr '.' expr { } - | expr '+' expr { } - | expr '-' expr { } - | expr '*' expr { } - | expr T_POW expr { } - | expr '/' expr { } - | expr '%' expr { } - | expr T_SL expr { } - | expr T_SR expr { } - | '+' expr %prec T_INC { } - | '-' expr %prec T_INC { } - | '!' expr { } - | '~' expr { } - | expr T_IS_IDENTICAL expr { } - | expr T_IS_NOT_IDENTICAL expr { } - | expr T_IS_EQUAL expr { } - | expr T_IS_NOT_EQUAL expr { } - | expr '<' expr { } - | expr T_IS_SMALLER_OR_EQUAL expr { } - | expr '>' expr { } - | expr T_IS_GREATER_OR_EQUAL expr { } - | expr T_INSTANCEOF class_name_reference { } - | parenthesis_expr { } + | variable '=' expr + { + $$ = assign_op.NewAssign($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable '=' '&' variable + { + $$ = assign_op.NewAssignRef($1, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | variable '=' '&' T_NEW class_name_reference ctor_arguments + { + _new := expr.NewNew($5, nil) + positions.AddPosition(_new, positionBuilder.NewTokenNodePosition($4, $5)) + + if $6 != nil { + _new := expr.NewNew($5, $6.nodes) + positions.AddPosition(_new, positionBuilder.NewTokensPosition($4, $6.endToken)) + } + comments.AddComments(_new, comments[$1]) + + $$ = assign_op.NewAssignRef($1, _new) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, _new)) + comments.AddComments($$, comments[$1]) + } + | T_CLONE expr + { + $$ = expr.NewClone($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | variable T_PLUS_EQUAL expr + { + $$ = assign_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MINUS_EQUAL expr + { + $$ = assign_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MUL_EQUAL expr + { + $$ = assign_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_POW_EQUAL expr + { + $$ = assign_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_DIV_EQUAL expr + { + $$ = assign_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_CONCAT_EQUAL expr + { + $$ = assign_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MOD_EQUAL expr + { + $$ = assign_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_AND_EQUAL expr + { + $$ = assign_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_OR_EQUAL expr + { + $$ = assign_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_XOR_EQUAL expr + { + $$ = assign_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SL_EQUAL expr + { + $$ = assign_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SR_EQUAL expr + { + $$ = assign_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | rw_variable T_INC + { + $$ = expr.NewPostInc($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_INC rw_variable + { + $$ = expr.NewPreInc($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | rw_variable T_DEC + { + $$ = expr.NewPostDec($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_DEC rw_variable + { + $$ = expr.NewPreDec($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_BOOLEAN_OR expr + { + $$ = binary_op.NewBooleanOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_BOOLEAN_AND expr + { + $$ = binary_op.NewBooleanAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_OR expr + { + $$ = binary_op.NewLogicalOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_AND expr + { + $$ = binary_op.NewLogicalAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_XOR expr + { + $$ = binary_op.NewLogicalXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '|' expr + { + $$ = binary_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '&' expr + { + $$ = binary_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '^' expr + { + $$ = binary_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '.' expr + { + $$ = binary_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '+' expr + { + $$ = binary_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '-' expr + { + $$ = binary_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '*' expr + { + $$ = binary_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_POW expr + { + $$ = binary_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '/' expr + { + $$ = binary_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '%' expr + { + $$ = binary_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SL expr + { + $$ = binary_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SR expr + { + $$ = binary_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '+' expr %prec T_INC + { + $$ = expr.NewUnaryPlus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '-' expr %prec T_INC + { + $$ = expr.NewUnaryMinus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '!' expr + { + $$ = expr.NewBooleanNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '~' expr + { + $$ = expr.NewBitwiseNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_IS_IDENTICAL expr + { + $$ = binary_op.NewIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_IDENTICAL expr + { + $$ = binary_op.NewNotIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_EQUAL expr + { + $$ = binary_op.NewEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_EQUAL expr + { + $$ = binary_op.NewNotEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '<' expr + { + $$ = binary_op.NewSmaller($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_SMALLER_OR_EQUAL expr + { + $$ = binary_op.NewSmallerOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '>' expr + { + $$ = binary_op.NewGreater($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_GREATER_OR_EQUAL expr + { + $$ = binary_op.NewGreaterOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_INSTANCEOF class_name_reference + { + $$ = expr.NewInstanceOf($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | parenthesis_expr + { $$ = $1 } | new_expr { $$ = $1 } | '(' new_expr ')' instance_call @@ -1904,40 +2164,139 @@ expr_without_variable: } } } - | expr '?' { } - expr ':' { } - expr { } - | expr '?' ':' { } - expr { } - | internal_functions_in_yacc { } - | T_INT_CAST expr { } - | T_DOUBLE_CAST expr { } - | T_STRING_CAST expr { } - | T_ARRAY_CAST expr { } - | T_OBJECT_CAST expr { } - | T_BOOL_CAST expr { } - | T_UNSET_CAST expr { } - | T_EXIT exit_expr { } - | '@' { } expr { } - | scalar { $$ = $1 } - | combined_scalar_offset { } - | combined_scalar { } - | '`' backticks_expr '`' { } - | T_PRINT expr { } - | T_YIELD { } - | function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } - | T_STATIC function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } + | expr '?' expr ':' expr + { + $$ = expr.NewTernary($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) + comments.AddComments($$, comments[$1]) + } + | expr '?' ':' expr + { + $$ = expr.NewTernary($1, nil, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | internal_functions_in_yacc + { $$ = $1 } + | T_INT_CAST expr + { + $$ = cast.NewCastInt($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_DOUBLE_CAST expr + { + $$ = cast.NewCastDouble($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_STRING_CAST expr + { + $$ = cast.NewCastString($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_ARRAY_CAST expr + { + $$ = cast.NewCastArray($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_OBJECT_CAST expr + { + $$ = cast.NewCastObject($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_BOOL_CAST expr + { + $$ = cast.NewCastBool($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_UNSET_CAST expr + { + $$ = cast.NewCastUnset($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_EXIT exit_expr + { + $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '@' expr + { + $$ = expr.NewErrorSuppress($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | scalar + { $$ = $1 } + | combined_scalar_offset + { $$ = $1 } + | combined_scalar + { $$ = $1 } + | '`' backticks_expr '`' + { + $$ = expr.NewShellExec($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_PRINT expr + { + $$ = expr.NewPrint($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD + { + $$ = expr.NewYield(nil, nil) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' + { + $$ = expr.NewClosure($4, $6, nil, $8, false, $2.value, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $9)) + + comments.AddComments($$, $1.Comments()) + } + | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' + { + $$ = expr.NewClosure($5, $7, nil, $9, true, $3.value, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $10)) + + comments.AddComments($$, $1.Comments()) + } ; yield_expr: - T_YIELD expr_without_variable { } - | T_YIELD variable { } - | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } - | T_YIELD expr T_DOUBLE_ARROW variable { } + T_YIELD expr_without_variable + { + $$ = expr.NewYield(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD variable + { + $$ = expr.NewYield(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr T_DOUBLE_ARROW expr_without_variable + { + $$ = expr.NewYield($2, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr T_DOUBLE_ARROW variable + { + $$ = expr.NewYield($2, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; combined_scalar_offset: @@ -2260,9 +2619,12 @@ exit_expr: ; backticks_expr: - /* empty */ { } - | T_ENCAPSED_AND_WHITESPACE { } - | encaps_list { } + /* empty */ + { $$ = []node.Node{} } + | T_ENCAPSED_AND_WHITESPACE + { $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } + | encaps_list + { $$ = $1; } ; ctor_arguments: