/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 932
+#define YYLAST 880
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 82
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 31
+#define YYNNTS 32
/* YYNRULES -- Number of rules. */
-#define YYNRULES 186
+#define YYNRULES 187
/* YYNRULES -- Number of states. */
-#define YYNSTATES 462
+#define YYNSTATES 463
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
YYRHS. */
static const yytype_uint16 yyprhs[] =
{
- 0, 0, 3, 4, 7, 8, 13, 18, 23, 26,
- 28, 31, 34, 39, 44, 49, 54, 59, 64, 69,
- 74, 79, 84, 89, 94, 99, 104, 109, 114, 119,
- 124, 129, 134, 141, 146, 151, 158, 163, 168, 175,
- 182, 189, 194, 199, 206, 211, 218, 223, 230, 235,
- 240, 243, 250, 255, 260, 265, 272, 277, 282, 287,
- 292, 297, 302, 307, 312, 315, 318, 323, 327, 331,
- 337, 342, 347, 354, 359, 364, 371, 378, 385, 394,
- 399, 404, 408, 411, 416, 421, 428, 437, 442, 449,
- 454, 459, 466, 473, 482, 491, 500, 509, 514, 519,
- 524, 531, 536, 543, 548, 553, 556, 559, 563, 567,
- 571, 575, 578, 582, 586, 591, 596, 599, 605, 613,
- 618, 625, 632, 639, 646, 649, 654, 657, 659, 661,
- 663, 665, 667, 669, 671, 673, 678, 680, 682, 684,
- 689, 691, 696, 698, 702, 704, 707, 711, 716, 719,
- 722, 725, 729, 732, 734, 739, 743, 749, 751, 756,
- 761, 767, 775, 776, 778, 779, 782, 785, 787, 789,
- 791, 793, 795, 798, 801, 804, 808, 810, 814, 818,
- 822, 826, 830, 835, 840, 844, 848
+ 0, 0, 3, 4, 5, 9, 10, 15, 20, 25,
+ 28, 30, 33, 36, 41, 46, 51, 56, 61, 66,
+ 71, 76, 81, 86, 91, 96, 101, 106, 111, 116,
+ 121, 126, 131, 136, 143, 148, 153, 160, 165, 170,
+ 177, 184, 191, 196, 201, 208, 213, 220, 225, 232,
+ 237, 242, 245, 252, 257, 262, 267, 274, 279, 284,
+ 289, 294, 299, 304, 309, 314, 317, 320, 325, 329,
+ 333, 339, 344, 349, 356, 361, 366, 373, 380, 387,
+ 396, 401, 406, 410, 413, 418, 423, 430, 439, 444,
+ 451, 456, 461, 468, 475, 484, 493, 502, 511, 516,
+ 521, 526, 533, 538, 545, 550, 555, 558, 561, 565,
+ 569, 573, 577, 580, 584, 588, 593, 598, 601, 607,
+ 615, 620, 627, 634, 641, 648, 651, 656, 659, 661,
+ 663, 665, 667, 669, 671, 673, 675, 680, 682, 684,
+ 686, 691, 693, 698, 700, 704, 706, 709, 713, 718,
+ 721, 724, 727, 731, 734, 736, 741, 745, 751, 753,
+ 758, 763, 769, 777, 778, 780, 781, 784, 787, 789,
+ 791, 793, 795, 797, 800, 803, 806, 810, 812, 816,
+ 820, 824, 828, 832, 837, 842, 846, 850
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
- 83, 0, -1, -1, 83, 84, -1, -1, 71, 74,
- 85, 84, -1, 71, 75, 112, 76, -1, 73, 75,
- 112, 76, -1, 58, 76, -1, 76, -1, 86, 76,
- -1, 1, 76, -1, 13, 88, 77, 88, -1, 13,
- 106, 77, 88, -1, 13, 105, 77, 88, -1, 14,
- 88, 77, 88, -1, 14, 106, 77, 88, -1, 14,
- 105, 77, 88, -1, 22, 106, 77, 96, -1, 22,
- 105, 77, 96, -1, 22, 102, 77, 96, -1, 22,
- 96, 77, 96, -1, 22, 96, 77, 106, -1, 22,
- 96, 77, 105, -1, 13, 88, 77, 106, -1, 13,
- 88, 77, 105, -1, 14, 88, 77, 106, -1, 14,
- 88, 77, 105, -1, 13, 96, 77, 106, -1, 13,
- 96, 77, 105, -1, 13, 95, 77, 96, -1, 13,
- 96, 77, 95, -1, 13, 96, 77, 103, 77, 95,
- -1, 13, 95, 77, 97, -1, 67, 103, 77, 111,
- -1, 13, 88, 77, 103, 77, 91, -1, 13, 88,
- 77, 97, -1, 13, 88, 77, 91, -1, 18, 88,
- 77, 104, 77, 88, -1, 18, 103, 77, 104, 77,
- 88, -1, 18, 88, 77, 103, 77, 88, -1, 18,
- 88, 77, 88, -1, 18, 103, 77, 88, -1, 16,
- 88, 77, 104, 77, 88, -1, 16, 88, 77, 88,
- -1, 17, 88, 77, 104, 77, 88, -1, 17, 88,
- 77, 88, -1, 17, 103, 77, 104, 77, 88, -1,
- 17, 103, 77, 88, -1, 15, 88, 77, 88, -1,
- 15, 88, -1, 68, 88, 77, 104, 77, 88, -1,
- 13, 103, 77, 88, -1, 13, 101, 77, 88, -1,
- 20, 98, 77, 98, -1, 20, 98, 77, 111, 77,
- 98, -1, 13, 97, 77, 97, -1, 13, 94, 77,
- 97, -1, 13, 91, 77, 88, -1, 13, 94, 77,
- 88, -1, 13, 89, 77, 88, -1, 13, 88, 77,
- 89, -1, 13, 97, 77, 94, -1, 13, 88, 77,
- 94, -1, 21, 87, -1, 21, 106, -1, 21, 78,
- 89, 79, -1, 21, 77, 87, -1, 21, 77, 106,
- -1, 21, 77, 78, 89, 79, -1, 21, 97, 77,
- 87, -1, 21, 97, 77, 106, -1, 21, 97, 77,
- 78, 89, 79, -1, 21, 111, 77, 87, -1, 21,
- 111, 77, 106, -1, 21, 111, 77, 78, 89, 79,
- -1, 21, 111, 77, 111, 77, 87, -1, 21, 111,
- 77, 111, 77, 106, -1, 21, 111, 77, 111, 77,
- 78, 89, 79, -1, 27, 88, 77, 104, -1, 27,
- 103, 77, 104, -1, 27, 88, 108, -1, 27, 108,
- -1, 23, 96, 77, 96, -1, 25, 96, 77, 96,
- -1, 25, 96, 77, 96, 77, 96, -1, 26, 96,
- 77, 96, 77, 96, 77, 96, -1, 24, 96, 77,
- 96, -1, 24, 96, 77, 96, 77, 97, -1, 19,
- 88, 77, 88, -1, 19, 88, 77, 103, -1, 19,
- 88, 77, 88, 77, 97, -1, 19, 88, 77, 103,
- 77, 97, -1, 63, 103, 77, 88, 77, 103, 77,
- 88, -1, 63, 103, 77, 88, 77, 99, 77, 88,
- -1, 63, 88, 77, 88, 77, 103, 77, 88, -1,
- 63, 88, 77, 88, 77, 99, 77, 88, -1, 64,
- 106, 77, 88, -1, 64, 88, 77, 106, -1, 59,
- 105, 77, 88, -1, 59, 105, 77, 103, 77, 88,
- -1, 60, 88, 77, 105, -1, 60, 88, 77, 103,
- 77, 105, -1, 62, 105, 77, 88, -1, 62, 88,
- 77, 105, -1, 61, 105, -1, 29, 108, -1, 29,
- 88, 108, -1, 29, 96, 108, -1, 29, 77, 88,
- -1, 29, 77, 96, -1, 29, 103, -1, 32, 103,
- 108, -1, 32, 101, 108, -1, 56, 103, 77, 103,
- -1, 57, 103, 77, 106, -1, 30, 108, -1, 33,
- 107, 77, 80, 100, -1, 33, 107, 77, 111, 77,
- 80, 100, -1, 34, 107, 77, 103, -1, 34, 107,
- 77, 111, 77, 103, -1, 35, 107, 11, 111, 77,
- 103, -1, 35, 107, 11, 111, 77, 101, -1, 35,
- 107, 11, 111, 77, 102, -1, 36, 108, -1, 111,
- 78, 41, 79, -1, 71, 109, -1, 104, -1, 90,
- -1, 92, -1, 50, -1, 47, -1, 51, -1, 55,
- -1, 53, -1, 52, 78, 111, 79, -1, 93, -1,
- 49, -1, 45, -1, 48, 78, 111, 79, -1, 42,
- -1, 47, 78, 111, 79, -1, 111, -1, 111, 77,
- 111, -1, 37, -1, 9, 37, -1, 37, 9, 37,
- -1, 9, 37, 9, 37, -1, 80, 106, -1, 80,
- 70, -1, 80, 69, -1, 80, 9, 69, -1, 80,
- 111, -1, 44, -1, 46, 78, 111, 79, -1, 78,
- 104, 79, -1, 78, 104, 8, 104, 79, -1, 107,
- -1, 111, 78, 104, 79, -1, 111, 78, 110, 79,
- -1, 71, 109, 78, 110, 79, -1, 71, 6, 7,
- 109, 78, 39, 79, -1, -1, 77, -1, -1, 8,
- 111, -1, 9, 111, -1, 39, -1, 38, -1, 40,
- -1, 37, -1, 73, -1, 9, 111, -1, 8, 111,
- -1, 81, 111, -1, 78, 112, 79, -1, 111, -1,
- 112, 8, 112, -1, 112, 9, 112, -1, 112, 10,
- 112, -1, 112, 11, 112, -1, 112, 12, 112, -1,
- 112, 6, 6, 112, -1, 112, 7, 7, 112, -1,
- 112, 5, 112, -1, 112, 4, 112, -1, 112, 3,
- 112, -1
+ 83, 0, -1, -1, -1, 83, 84, 85, -1, -1,
+ 71, 74, 86, 85, -1, 71, 75, 113, 76, -1,
+ 73, 75, 113, 76, -1, 58, 76, -1, 76, -1,
+ 87, 76, -1, 1, 76, -1, 13, 89, 77, 89,
+ -1, 13, 107, 77, 89, -1, 13, 106, 77, 89,
+ -1, 14, 89, 77, 89, -1, 14, 107, 77, 89,
+ -1, 14, 106, 77, 89, -1, 22, 107, 77, 97,
+ -1, 22, 106, 77, 97, -1, 22, 103, 77, 97,
+ -1, 22, 97, 77, 97, -1, 22, 97, 77, 107,
+ -1, 22, 97, 77, 106, -1, 13, 89, 77, 107,
+ -1, 13, 89, 77, 106, -1, 14, 89, 77, 107,
+ -1, 14, 89, 77, 106, -1, 13, 97, 77, 107,
+ -1, 13, 97, 77, 106, -1, 13, 96, 77, 97,
+ -1, 13, 97, 77, 96, -1, 13, 97, 77, 104,
+ 77, 96, -1, 13, 96, 77, 98, -1, 67, 104,
+ 77, 112, -1, 13, 89, 77, 104, 77, 92, -1,
+ 13, 89, 77, 98, -1, 13, 89, 77, 92, -1,
+ 18, 89, 77, 105, 77, 89, -1, 18, 104, 77,
+ 105, 77, 89, -1, 18, 89, 77, 104, 77, 89,
+ -1, 18, 89, 77, 89, -1, 18, 104, 77, 89,
+ -1, 16, 89, 77, 105, 77, 89, -1, 16, 89,
+ 77, 89, -1, 17, 89, 77, 105, 77, 89, -1,
+ 17, 89, 77, 89, -1, 17, 104, 77, 105, 77,
+ 89, -1, 17, 104, 77, 89, -1, 15, 89, 77,
+ 89, -1, 15, 89, -1, 68, 89, 77, 105, 77,
+ 89, -1, 13, 104, 77, 89, -1, 13, 102, 77,
+ 89, -1, 20, 99, 77, 99, -1, 20, 99, 77,
+ 112, 77, 99, -1, 13, 98, 77, 98, -1, 13,
+ 95, 77, 98, -1, 13, 92, 77, 89, -1, 13,
+ 95, 77, 89, -1, 13, 90, 77, 89, -1, 13,
+ 89, 77, 90, -1, 13, 98, 77, 95, -1, 13,
+ 89, 77, 95, -1, 21, 88, -1, 21, 107, -1,
+ 21, 78, 90, 79, -1, 21, 77, 88, -1, 21,
+ 77, 107, -1, 21, 77, 78, 90, 79, -1, 21,
+ 98, 77, 88, -1, 21, 98, 77, 107, -1, 21,
+ 98, 77, 78, 90, 79, -1, 21, 112, 77, 88,
+ -1, 21, 112, 77, 107, -1, 21, 112, 77, 78,
+ 90, 79, -1, 21, 112, 77, 112, 77, 88, -1,
+ 21, 112, 77, 112, 77, 107, -1, 21, 112, 77,
+ 112, 77, 78, 90, 79, -1, 27, 89, 77, 105,
+ -1, 27, 104, 77, 105, -1, 27, 89, 109, -1,
+ 27, 109, -1, 23, 97, 77, 97, -1, 25, 97,
+ 77, 97, -1, 25, 97, 77, 97, 77, 97, -1,
+ 26, 97, 77, 97, 77, 97, 77, 97, -1, 24,
+ 97, 77, 97, -1, 24, 97, 77, 97, 77, 98,
+ -1, 19, 89, 77, 89, -1, 19, 89, 77, 104,
+ -1, 19, 89, 77, 89, 77, 98, -1, 19, 89,
+ 77, 104, 77, 98, -1, 63, 104, 77, 89, 77,
+ 104, 77, 89, -1, 63, 104, 77, 89, 77, 100,
+ 77, 89, -1, 63, 89, 77, 89, 77, 104, 77,
+ 89, -1, 63, 89, 77, 89, 77, 100, 77, 89,
+ -1, 64, 107, 77, 89, -1, 64, 89, 77, 107,
+ -1, 59, 106, 77, 89, -1, 59, 106, 77, 104,
+ 77, 89, -1, 60, 89, 77, 106, -1, 60, 89,
+ 77, 104, 77, 106, -1, 62, 106, 77, 89, -1,
+ 62, 89, 77, 106, -1, 61, 106, -1, 29, 109,
+ -1, 29, 89, 109, -1, 29, 97, 109, -1, 29,
+ 77, 89, -1, 29, 77, 97, -1, 29, 104, -1,
+ 32, 104, 109, -1, 32, 102, 109, -1, 56, 104,
+ 77, 104, -1, 57, 104, 77, 107, -1, 30, 109,
+ -1, 33, 108, 77, 80, 101, -1, 33, 108, 77,
+ 112, 77, 80, 101, -1, 34, 108, 77, 104, -1,
+ 34, 108, 77, 112, 77, 104, -1, 35, 108, 11,
+ 112, 77, 104, -1, 35, 108, 11, 112, 77, 102,
+ -1, 35, 108, 11, 112, 77, 103, -1, 36, 109,
+ -1, 112, 78, 41, 79, -1, 71, 110, -1, 105,
+ -1, 91, -1, 93, -1, 50, -1, 47, -1, 51,
+ -1, 55, -1, 53, -1, 52, 78, 112, 79, -1,
+ 94, -1, 49, -1, 45, -1, 48, 78, 112, 79,
+ -1, 42, -1, 47, 78, 112, 79, -1, 112, -1,
+ 112, 77, 112, -1, 37, -1, 9, 37, -1, 37,
+ 9, 37, -1, 9, 37, 9, 37, -1, 80, 107,
+ -1, 80, 70, -1, 80, 69, -1, 80, 9, 69,
+ -1, 80, 112, -1, 44, -1, 46, 78, 112, 79,
+ -1, 78, 105, 79, -1, 78, 105, 8, 105, 79,
+ -1, 108, -1, 112, 78, 105, 79, -1, 112, 78,
+ 111, 79, -1, 71, 110, 78, 111, 79, -1, 71,
+ 6, 7, 110, 78, 39, 79, -1, -1, 77, -1,
+ -1, 8, 112, -1, 9, 112, -1, 39, -1, 38,
+ -1, 40, -1, 37, -1, 73, -1, 9, 112, -1,
+ 8, 112, -1, 81, 112, -1, 78, 113, 79, -1,
+ 112, -1, 113, 8, 113, -1, 113, 9, 113, -1,
+ 113, 10, 113, -1, 113, 11, 113, -1, 113, 12,
+ 113, -1, 113, 6, 6, 113, -1, 113, 7, 7,
+ 113, -1, 113, 5, 113, -1, 113, 4, 113, -1,
+ 113, 3, 113, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 66, 66, 67, 71, 70, 79, 84, 90, 94,
- 95, 96, 102, 106, 110, 114, 118, 122, 129, 133,
- 137, 141, 145, 149, 156, 160, 164, 168, 175, 179,
- 186, 190, 194, 198, 202, 209, 213, 217, 227, 231,
+ 0, 66, 66, 68, 67, 75, 74, 83, 88, 94,
+ 98, 99, 100, 106, 110, 114, 118, 122, 126, 133,
+ 137, 141, 145, 149, 153, 160, 164, 168, 172, 179,
+ 183, 190, 194, 198, 202, 206, 213, 217, 221, 231,
235, 239, 243, 247, 251, 255, 259, 263, 267, 271,
- 275, 282, 289, 293, 300, 304, 312, 316, 320, 324,
- 328, 332, 336, 340, 349, 353, 357, 361, 365, 369,
- 373, 377, 381, 385, 389, 393, 397, 405, 413, 424,
- 428, 432, 436, 443, 447, 451, 455, 459, 463, 470,
- 474, 478, 482, 489, 493, 497, 501, 508, 512, 520,
- 524, 528, 532, 536, 540, 544, 551, 555, 559, 563,
- 567, 571, 578, 582, 589, 598, 609, 616, 621, 633,
- 638, 651, 659, 667, 678, 684, 690, 701, 709, 710,
- 713, 721, 729, 737, 745, 751, 759, 762, 770, 776,
- 784, 790, 798, 806, 827, 834, 841, 848, 857, 862,
- 870, 876, 883, 891, 892, 900, 907, 917, 918, 927,
- 935, 943, 952, 953, 956, 959, 963, 969, 970, 971,
- 974, 975, 979, 983, 987, 991, 997, 998, 1002, 1006,
- 1010, 1014, 1018, 1022, 1026, 1030, 1034
+ 275, 279, 286, 293, 297, 304, 308, 316, 320, 324,
+ 328, 332, 336, 340, 344, 353, 357, 361, 365, 369,
+ 373, 377, 381, 385, 389, 393, 397, 401, 409, 417,
+ 428, 432, 436, 440, 447, 451, 455, 459, 463, 467,
+ 474, 478, 482, 486, 493, 497, 501, 505, 512, 516,
+ 524, 528, 532, 536, 540, 544, 548, 555, 559, 563,
+ 567, 571, 575, 582, 586, 593, 602, 613, 620, 625,
+ 637, 642, 655, 663, 671, 682, 688, 694, 705, 713,
+ 714, 717, 725, 733, 741, 749, 755, 763, 766, 774,
+ 780, 788, 794, 802, 810, 831, 838, 845, 852, 861,
+ 866, 874, 880, 887, 895, 896, 904, 911, 921, 922,
+ 931, 939, 947, 956, 957, 960, 963, 967, 973, 974,
+ 975, 978, 979, 983, 987, 991, 995, 1001, 1002, 1006,
+ 1010, 1014, 1018, 1022, 1026, 1030, 1034, 1038
};
#endif
"LCTR", "LSPR", "LSPREG", "LSEG", "LMSR", "LPCDAT", "LFUNCDAT", "LSCHED",
"LXLD", "LXST", "LXOP", "LXMV", "LRLWM", "LMOVMW", "LMOVEM", "LMOVFL",
"LMTFSB", "LMA", "LFCONST", "LSCONST", "LNAME", "LLAB", "LVAR", "':'",
- "'='", "';'", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog",
- "line", "@1", "inst", "rel", "rreg", "xlreg", "lr", "lcr", "ctr", "msr",
+ "'='", "';'", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog", "@1",
+ "line", "@2", "inst", "rel", "rreg", "xlreg", "lr", "lcr", "ctr", "msr",
"psr", "fpscr", "freg", "creg", "cbit", "mask", "textsize", "ximm",
"fimm", "imm", "sreg", "regaddr", "addr", "name", "comma", "offset",
"pointer", "con", "expr", 0
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 82, 83, 83, 85, 84, 84, 84, 84, 84,
- 84, 84, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 87, 87, 88, 89, 89,
- 90, 91, 92, 93, 94, 94, 94, 95, 96, 96,
- 97, 97, 98, 99, 100, 100, 100, 100, 101, 101,
- 102, 102, 103, 104, 104, 105, 105, 106, 106, 107,
- 107, 107, 108, 108, 109, 109, 109, 110, 110, 110,
- 111, 111, 111, 111, 111, 111, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112
+ 0, 82, 83, 84, 83, 86, 85, 85, 85, 85,
+ 85, 85, 85, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 88, 88, 89, 90,
+ 90, 91, 92, 93, 94, 95, 95, 95, 96, 97,
+ 97, 98, 98, 99, 100, 101, 101, 101, 101, 102,
+ 102, 103, 103, 104, 105, 105, 106, 106, 107, 107,
+ 108, 108, 108, 109, 109, 110, 110, 110, 111, 111,
+ 111, 112, 112, 112, 112, 112, 112, 113, 113, 113,
+ 113, 113, 113, 113, 113, 113, 113, 113
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 0, 2, 0, 4, 4, 4, 2, 1,
- 2, 2, 4, 4, 4, 4, 4, 4, 4, 4,
+ 0, 2, 0, 0, 3, 0, 4, 4, 4, 2,
+ 1, 2, 2, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 6, 4, 4, 6, 4, 4, 6, 6,
- 6, 4, 4, 6, 4, 6, 4, 6, 4, 4,
- 2, 6, 4, 4, 4, 6, 4, 4, 4, 4,
- 4, 4, 4, 4, 2, 2, 4, 3, 3, 5,
- 4, 4, 6, 4, 4, 6, 6, 6, 8, 4,
- 4, 3, 2, 4, 4, 6, 8, 4, 6, 4,
- 4, 6, 6, 8, 8, 8, 8, 4, 4, 4,
- 6, 4, 6, 4, 4, 2, 2, 3, 3, 3,
- 3, 2, 3, 3, 4, 4, 2, 5, 7, 4,
- 6, 6, 6, 6, 2, 4, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 4, 1, 1, 1, 4,
- 1, 4, 1, 3, 1, 2, 3, 4, 2, 2,
- 2, 3, 2, 1, 4, 3, 5, 1, 4, 4,
- 5, 7, 0, 1, 0, 2, 2, 1, 1, 1,
- 1, 1, 2, 2, 2, 3, 1, 3, 3, 3,
- 3, 3, 4, 4, 3, 3, 3
+ 4, 4, 4, 6, 4, 4, 6, 4, 4, 6,
+ 6, 6, 4, 4, 6, 4, 6, 4, 6, 4,
+ 4, 2, 6, 4, 4, 4, 6, 4, 4, 4,
+ 4, 4, 4, 4, 4, 2, 2, 4, 3, 3,
+ 5, 4, 4, 6, 4, 4, 6, 6, 6, 8,
+ 4, 4, 3, 2, 4, 4, 6, 8, 4, 6,
+ 4, 4, 6, 6, 8, 8, 8, 8, 4, 4,
+ 4, 6, 4, 6, 4, 4, 2, 2, 3, 3,
+ 3, 3, 2, 3, 3, 4, 4, 2, 5, 7,
+ 4, 6, 6, 6, 6, 2, 4, 2, 1, 1,
+ 1, 1, 1, 1, 1, 1, 4, 1, 1, 1,
+ 4, 1, 4, 1, 3, 1, 2, 3, 4, 2,
+ 2, 2, 3, 2, 1, 4, 3, 5, 1, 4,
+ 4, 5, 7, 0, 1, 0, 2, 2, 1, 1,
+ 1, 1, 1, 2, 2, 2, 3, 1, 3, 3,
+ 3, 3, 3, 4, 4, 3, 3, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 162, 162,
- 162, 0, 0, 0, 0, 162, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 3, 0, 11, 0, 0, 170, 140, 153, 138, 0,
- 131, 0, 137, 130, 132, 0, 134, 133, 164, 171,
- 0, 0, 0, 0, 0, 128, 0, 129, 136, 0,
- 0, 0, 0, 0, 0, 127, 0, 0, 157, 0,
- 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 142, 0, 164, 0, 0, 64, 0,
- 65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 163, 162, 0, 82, 163, 162, 162, 111, 106,
- 116, 162, 162, 0, 0, 0, 0, 124, 0, 0,
- 8, 0, 0, 0, 105, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 0, 0, 10, 173, 172, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 0,
- 149, 148, 152, 174, 0, 0, 0, 0, 0, 0,
+ 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
+ 163, 163, 0, 0, 0, 0, 163, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 152, 0, 0, 0, 0, 0, 0, 126, 0,
- 67, 68, 0, 0, 0, 0, 0, 0, 150, 0,
- 0, 0, 0, 0, 0, 0, 0, 163, 81, 0,
- 109, 110, 107, 108, 113, 112, 0, 0, 0, 0,
+ 10, 4, 0, 12, 0, 0, 171, 141, 154, 139,
+ 0, 132, 0, 138, 131, 133, 0, 135, 134, 165,
+ 172, 0, 0, 0, 0, 0, 129, 0, 130, 137,
+ 0, 0, 0, 0, 0, 0, 128, 0, 0, 158,
+ 0, 0, 0, 0, 51, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 143, 0, 165, 0, 0, 65,
+ 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 164, 163, 0, 83, 164, 163, 163, 112,
+ 107, 117, 163, 163, 0, 0, 0, 0, 125, 0,
+ 0, 9, 0, 0, 0, 106, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 0, 0, 11, 174, 173,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 177,
+ 0, 150, 149, 153, 175, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 164,
- 165, 166, 0, 0, 155, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 175, 12, 61, 37, 63,
- 36, 0, 25, 24, 60, 58, 59, 57, 30, 33,
- 31, 0, 29, 28, 62, 56, 53, 52, 14, 13,
- 168, 167, 169, 0, 0, 15, 27, 26, 17, 16,
- 49, 44, 127, 46, 127, 48, 127, 41, 0, 127,
- 42, 127, 89, 90, 54, 142, 0, 66, 0, 70,
- 71, 0, 73, 74, 0, 0, 151, 21, 23, 22,
- 20, 19, 18, 83, 87, 84, 0, 79, 80, 0,
- 0, 119, 0, 0, 114, 115, 99, 0, 0, 101,
- 104, 103, 0, 0, 98, 97, 34, 0, 5, 6,
- 7, 154, 141, 139, 135, 0, 0, 0, 186, 185,
- 184, 0, 0, 177, 178, 179, 180, 181, 0, 0,
- 158, 159, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 69, 0, 0, 0, 125, 0, 0, 0, 0,
- 144, 117, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 160, 156, 182, 183, 131, 35, 32, 43, 45,
- 47, 40, 38, 39, 91, 92, 55, 72, 75, 0,
- 76, 77, 88, 85, 0, 145, 0, 0, 120, 0,
- 122, 123, 121, 100, 102, 0, 0, 0, 0, 0,
- 51, 0, 0, 0, 0, 146, 118, 0, 0, 0,
- 0, 0, 0, 161, 78, 86, 147, 96, 95, 143,
- 94, 93
+ 0, 0, 153, 0, 0, 0, 0, 0, 0, 127,
+ 0, 68, 69, 0, 0, 0, 0, 0, 0, 151,
+ 0, 0, 0, 0, 0, 0, 0, 0, 164, 82,
+ 0, 110, 111, 108, 109, 114, 113, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 165, 166, 167, 0, 0, 156, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 176, 13, 62, 38,
+ 64, 37, 0, 26, 25, 61, 59, 60, 58, 31,
+ 34, 32, 0, 30, 29, 63, 57, 54, 53, 15,
+ 14, 169, 168, 170, 0, 0, 16, 28, 27, 18,
+ 17, 50, 45, 128, 47, 128, 49, 128, 42, 0,
+ 128, 43, 128, 90, 91, 55, 143, 0, 67, 0,
+ 71, 72, 0, 74, 75, 0, 0, 152, 22, 24,
+ 23, 21, 20, 19, 84, 88, 85, 0, 80, 81,
+ 0, 0, 120, 0, 0, 115, 116, 100, 0, 0,
+ 102, 105, 104, 0, 0, 99, 98, 35, 0, 6,
+ 7, 8, 155, 142, 140, 136, 0, 0, 0, 187,
+ 186, 185, 0, 0, 178, 179, 180, 181, 182, 0,
+ 0, 159, 160, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 70, 0, 0, 0, 126, 0, 0, 0,
+ 0, 145, 118, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 161, 157, 183, 184, 132, 36, 33, 44,
+ 46, 48, 41, 39, 40, 92, 93, 56, 73, 76,
+ 0, 77, 78, 89, 86, 0, 146, 0, 0, 121,
+ 0, 123, 124, 122, 101, 103, 0, 0, 0, 0,
+ 0, 52, 0, 0, 0, 0, 147, 119, 0, 0,
+ 0, 0, 0, 0, 162, 79, 87, 148, 97, 96,
+ 144, 95, 94
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 40, 232, 41, 98, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 92, 435, 391, 73,
- 104, 74, 75, 76, 161, 78, 114, 156, 284, 158,
- 159
+ -1, 1, 3, 41, 233, 42, 99, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 93, 436, 392,
+ 74, 105, 75, 76, 77, 162, 79, 115, 157, 285,
+ 159, 160
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -179
+#define YYPACT_NINF -180
static const yytype_int16 yypact[] =
{
- -179, 484, -179, -64, 581, 686, 74, 74, -24, -24,
- 74, 845, 641, 656, -29, -29, -29, -29, 19, -11,
- -54, -38, 747, 747, 747, -54, -19, -19, -50, -6,
- 74, -6, -14, -24, 707, -19, 74, -36, 18, -179,
- -179, 2, -179, 845, 845, -179, -179, -179, -179, 24,
- 27, 48, -179, -179, -179, 61, -179, -179, 188, -179,
- 717, 738, 845, 79, 81, -179, 93, -179, -179, 99,
- 107, 116, 126, 127, 130, -179, 132, 133, -179, 87,
- 136, 138, 157, 159, 171, 845, 176, 179, 182, 184,
- 186, 845, 194, -179, 27, 188, 762, 764, -179, 196,
- -179, 66, 8, 198, 200, 201, 202, 203, 206, 215,
- 216, -179, 217, 219, -179, 181, -54, -54, -179, -179,
- -179, -54, -54, 220, 167, 221, 178, -179, 223, 224,
- -179, 74, 225, 226, -179, 227, 231, 232, 233, 234,
- 236, 237, 238, -179, 845, 845, -179, -179, -179, 845,
- 845, 845, 845, 242, 845, 845, 229, 3, -179, 377,
- -179, -179, 87, -179, 629, 74, 74, 172, 26, 732,
- 39, 74, 74, 74, 74, 230, 686, 74, 74, 74,
- 74, -179, 74, 74, -24, 74, -24, 845, 229, 764,
- -179, -179, 241, 243, 784, 814, 111, 254, -179, 67,
- -29, -29, -29, -29, -29, -29, -29, 74, -179, 74,
- -179, -179, -179, -179, -179, -179, 821, 45, 830, 845,
- -19, 747, -24, 49, -6, 74, 74, 74, 747, 74,
- 845, 74, 548, 463, 518, 246, 247, 248, 249, 155,
- -179, -179, 45, 74, -179, 845, 845, 845, 323, 325,
- 845, 845, 845, 845, 845, -179, -179, -179, -179, -179,
- -179, 259, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, 260, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, 265, 266, -179, -179, -179, -179, -179,
- -179, -179, 269, -179, 270, -179, 272, -179, 278, 279,
- -179, 280, 283, 284, -179, 285, 275, -179, 764, -179,
- -179, 764, -179, -179, 105, 286, -179, -179, -179, -179,
- -179, -179, -179, -179, 289, 296, 297, -179, -179, 9,
- 299, -179, 301, 319, -179, -179, -179, 320, 321, -179,
- -179, -179, 324, 327, -179, -179, -179, 328, -179, -179,
- -179, -179, -179, -179, -179, 329, 333, 334, 591, 430,
- 451, 845, 845, 78, 78, -179, -179, -179, 316, 353,
- -179, -179, 74, 74, 74, 74, 74, 74, 20, 20,
- 845, -179, 335, 336, 841, -179, 20, -29, -29, 369,
- 399, -179, 338, -19, 339, 74, -6, 830, 830, 74,
- 382, -179, -179, 277, 277, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, 764,
- -179, -179, -179, -179, 345, 414, 387, 9, -179, 322,
- -179, -179, -179, -179, -179, 350, 351, 352, 354, 355,
- -179, 366, 372, -29, 393, -179, -179, 851, 74, 74,
- 845, 74, 74, -179, -179, -179, -179, -179, -179, -179,
- -179, -179
+ -180, 12, -180, 484, -53, 517, 619, 28, 28, -24,
+ -24, 28, 799, 577, 596, -29, -29, -29, -29, 19,
+ -11, -51, -38, 701, 701, 701, -51, -19, -19, -8,
+ -7, 28, -7, -14, -24, 643, -19, 28, -36, 6,
+ -180, -180, 26, -180, 799, 799, -180, -180, -180, -180,
+ 7, 27, 51, -180, -180, -180, 61, -180, -180, 188,
+ -180, 662, 674, 799, 79, 93, -180, 99, -180, -180,
+ 112, 116, 126, 136, 138, 157, -180, 168, 176, -180,
+ 80, 179, 182, 184, 186, 194, 799, 196, 198, 200,
+ 201, 202, 799, 203, -180, 27, 188, 714, 676, -180,
+ 206, -180, 49, 8, 215, 216, 217, 219, 220, 221,
+ 223, 224, -180, 225, 226, -180, 181, -51, -51, -180,
+ -180, -180, -51, -51, 227, 158, 231, 296, -180, 232,
+ 233, -180, 28, 234, 236, -180, 237, 238, 242, 245,
+ 246, 248, 249, 250, -180, 799, 799, -180, -180, -180,
+ 799, 799, 799, 799, 321, 799, 799, 251, 3, -180,
+ 377, -180, -180, 80, -180, 565, 28, 28, 172, 162,
+ 623, 31, 28, 28, 28, 28, 230, 619, 28, 28,
+ 28, 28, -180, 28, 28, -24, 28, -24, 799, 251,
+ 676, -180, -180, 254, 257, 723, 753, 111, 268, -180,
+ 67, -29, -29, -29, -29, -29, -29, -29, 28, -180,
+ 28, -180, -180, -180, -180, -180, -180, 733, 96, 760,
+ 799, -19, 701, -24, 40, -7, 28, 28, 28, 701,
+ 28, 799, 28, 484, 463, 524, 265, 266, 267, 270,
+ 135, -180, -180, 96, 28, -180, 799, 799, 799, 341,
+ 347, 799, 799, 799, 799, 799, -180, -180, -180, -180,
+ -180, -180, 278, -180, -180, -180, -180, -180, -180, -180,
+ -180, -180, 279, -180, -180, -180, -180, -180, -180, -180,
+ -180, -180, -180, -180, 281, 282, -180, -180, -180, -180,
+ -180, -180, -180, 280, -180, 285, -180, 286, -180, 288,
+ 289, -180, 297, 299, 301, -180, 319, 294, -180, 676,
+ -180, -180, 676, -180, -180, 171, 318, -180, -180, -180,
+ -180, -180, -180, -180, -180, 324, 325, 327, -180, -180,
+ 9, 328, -180, 329, 330, -180, -180, -180, 331, 335,
+ -180, -180, -180, 336, 337, -180, -180, -180, 338, -180,
+ -180, -180, -180, -180, -180, -180, 320, 339, 340, 571,
+ 430, 82, 799, 799, 153, 153, -180, -180, -180, 374,
+ 373, -180, -180, 28, 28, 28, 28, 28, 28, 20,
+ 20, 799, -180, 344, 345, 772, -180, 20, -29, -29,
+ 390, 419, -180, 349, -19, 350, 28, -7, 760, 760,
+ 28, 392, -180, -180, 277, 277, -180, -180, -180, -180,
+ -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
+ 676, -180, -180, -180, -180, 355, 436, 411, 9, -180,
+ 322, -180, -180, -180, -180, -180, 375, 376, 378, 380,
+ 381, -180, 372, 382, -29, 417, -180, -180, 790, 28,
+ 28, 799, 28, 28, -180, -180, -180, -180, -180, -180,
+ -180, -180, -180
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -179, -179, 222, -179, -179, -72, -5, -61, -179, -157,
- -179, -179, -149, -161, 38, 31, -178, 50, 28, -15,
- 58, 98, 168, 82, 96, 112, 25, -85, 211, 36,
- 88
+ -180, -180, -180, 229, -180, -180, -73, -6, -62, -180,
+ -158, -180, -180, -150, -162, 37, 30, -179, 60, 32,
+ -16, 68, 97, 167, 81, 95, 159, 24, -86, 239,
+ 35, 87
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
#define YYTABLE_NINF -1
static const yytype_uint16 yytable[] =
{
- 80, 83, 84, 86, 88, 90, 121, 258, 270, 304,
- 188, 243, 42, 112, 116, 259, 48, 197, 389, 51,
- 47, 274, 49, 111, 190, 133, 130, 135, 137, 139,
- 47, 142, 49, 47, 48, 49, 193, 51, 143, 144,
- 79, 79, 61, 99, 119, 120, 390, 93, 101, 79,
- 127, 103, 107, 108, 109, 110, 85, 117, 124, 124,
- 124, 85, 46, 47, 131, 49, 115, 94, 46, 85,
- 79, 48, 131, 94, 51, 43, 44, 198, 146, 147,
- 148, 46, 244, 280, 281, 282, 94, 81, 252, 253,
- 254, 55, 56, 145, 57, 105, 111, 162, 163, 85,
- 77, 82, 149, 257, 45, 150, 87, 89, 100, 106,
- 210, 132, 48, 134, 136, 51, 113, 118, 47, 122,
- 49, 181, 309, 312, 128, 129, 151, 131, 306, 85,
- 140, 138, 192, 141, 123, 125, 126, 208, 58, 152,
- 59, 212, 213, 195, 196, 60, 214, 215, 62, 280,
- 281, 282, 315, 211, 355, 47, 164, 49, 165, 256,
- 264, 265, 266, 154, 155, 175, 276, 277, 278, 279,
- 166, 285, 288, 289, 290, 291, 167, 293, 295, 297,
- 300, 302, 384, 196, 168, 235, 236, 237, 238, 219,
- 240, 241, 191, 169, 153, 260, 154, 155, 267, 269,
- 79, 275, 416, 170, 171, 79, 268, 172, 407, 173,
- 174, 406, 79, 176, 46, 177, 47, 336, 49, 94,
- 341, 342, 343, 305, 345, 47, 48, 49, 157, 51,
- 192, 314, 233, 234, 178, 79, 179, 317, 320, 321,
- 322, 323, 324, 325, 326, 217, 262, 382, 180, 239,
- 383, 272, 330, 182, 332, 333, 183, 79, 286, 184,
- 263, 185, 261, 186, 79, 273, 346, 271, 280, 281,
- 282, 187, 287, 194, 47, 199, 49, 200, 201, 202,
- 203, 318, 298, 204, 303, 250, 251, 252, 253, 254,
- 310, 313, 205, 206, 207, 319, 209, 216, 218, 157,
- 220, 221, 222, 223, 224, 339, 340, 242, 225, 226,
- 227, 228, 420, 229, 230, 231, 331, 335, 334, 196,
- 337, 338, 307, 316, 344, 351, 352, 353, 354, 361,
- 43, 447, 362, 358, 359, 360, 368, 369, 363, 364,
- 365, 366, 367, 283, 370, 371, 372, 373, 292, 374,
- 294, 296, 299, 301, 381, 375, 376, 377, 442, 45,
- 378, 379, 380, 405, 283, 385, 386, 408, 409, 410,
- 411, 412, 413, 387, 388, 327, 392, 328, 393, 430,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 433, 198, 160, 58, 440, 59, 394, 395, 396, 347,
- 91, 397, 52, 62, 398, 399, 425, 400, 426, 414,
- 415, 357, 401, 402, 417, 418, 93, 422, 427, 429,
- 192, 441, 443, 444, 445, 423, 424, 448, 449, 450,
- 456, 451, 452, 437, 437, 247, 248, 249, 250, 251,
- 252, 253, 254, 457, 458, 453, 460, 461, 438, 403,
- 404, 454, 431, 356, 348, 446, 255, 248, 249, 250,
- 251, 252, 253, 254, 0, 162, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 0, 0, 434, 0,
- 421, 455, 0, 148, 2, 3, 459, 0, 0, 0,
- 0, 428, 432, 0, 0, 436, 439, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 0, 19, 20, 0, 21, 22, 23, 24,
- 25, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 0, 0, 0, 0, 0, 0, 0, 0, 349,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 3,
- 0, 35, 36, 0, 0, 37, 0, 38, 0, 0,
- 39, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 0, 19, 20, 0,
- 21, 22, 23, 24, 25, 0, 0, 0, 0, 43,
- 44, 0, 0, 0, 350, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 0, 0, 35, 36, 0, 45, 37,
- 0, 38, 0, 46, 39, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 0, 57, 43, 44, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 44, 0, 58, 0, 59, 0, 0, 0, 0, 60,
- 0, 61, 62, 0, 43, 44, 45, 0, 0, 0,
- 0, 46, 0, 47, 0, 49, 50, 0, 45, 53,
- 54, 55, 56, 46, 57, 0, 0, 0, 94, 0,
- 0, 0, 0, 45, 43, 44, 0, 0, 0, 0,
- 58, 48, 59, 0, 51, 0, 0, 60, 0, 85,
- 62, 0, 95, 0, 59, 43, 44, 0, 96, 97,
- 0, 0, 62, 45, 0, 43, 44, 58, 0, 59,
- 47, 0, 49, 0, 60, 0, 102, 62, 0, 0,
- 43, 44, 0, 0, 45, 0, 43, 44, 0, 0,
- 0, 47, 0, 49, 45, 43, 44, 58, 0, 59,
- 0, 47, 0, 49, 60, 0, 0, 62, 0, 45,
- 43, 44, 43, 44, 0, 45, 0, 0, 58, 0,
- 59, 52, 0, 0, 45, 91, 0, 0, 62, 0,
- 59, 0, 43, 44, 0, 91, 0, 0, 62, 45,
- 0, 45, 0, 58, 0, 59, 0, 0, 160, 58,
- 60, 59, 85, 62, 53, 54, 91, 0, 58, 62,
- 59, 45, 43, 44, 0, 91, 0, 0, 62, 43,
- 44, 0, 0, 95, 0, 59, 0, 59, 43, 44,
- 189, 0, 91, 62, 0, 62, 0, 0, 0, 43,
- 44, 45, 0, 43, 44, 95, 0, 59, 45, 43,
- 44, 0, 308, 0, 0, 62, 0, 45, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 0,
- 0, 0, 45, 0, 0, 95, 0, 59, 45, 0,
- 0, 0, 311, 0, 59, 62, 0, 0, 0, 91,
- 0, 329, 62, 59, 0, 0, 0, 0, 91, 0,
- 85, 62, 95, 0, 59, 0, 0, 0, 59, 419,
- 316, 0, 62, 91, 59, 0, 62, 0, 0, 91,
- 0, 0, 62
+ 81, 84, 85, 87, 89, 91, 122, 259, 271, 305,
+ 189, 244, 2, 113, 117, 260, 49, 198, 390, 52,
+ 48, 275, 50, 43, 191, 134, 112, 136, 138, 140,
+ 48, 143, 50, 48, 49, 50, 194, 52, 144, 145,
+ 80, 80, 62, 100, 120, 121, 391, 94, 102, 80,
+ 128, 104, 108, 109, 110, 111, 86, 118, 125, 125,
+ 125, 86, 47, 48, 132, 50, 116, 95, 131, 86,
+ 80, 132, 48, 47, 50, 44, 45, 199, 95, 148,
+ 149, 146, 245, 56, 57, 150, 58, 82, 249, 250,
+ 251, 252, 253, 254, 255, 106, 112, 163, 164, 86,
+ 78, 83, 147, 258, 46, 151, 88, 90, 101, 107,
+ 211, 133, 49, 135, 137, 52, 114, 119, 132, 123,
+ 86, 182, 310, 313, 129, 130, 196, 197, 307, 152,
+ 141, 139, 193, 142, 281, 282, 283, 209, 59, 153,
+ 60, 213, 214, 155, 156, 61, 215, 216, 63, 281,
+ 282, 283, 316, 212, 356, 48, 165, 50, 176, 257,
+ 265, 266, 267, 253, 254, 255, 277, 278, 279, 280,
+ 166, 286, 289, 290, 291, 292, 167, 294, 296, 298,
+ 301, 303, 124, 126, 127, 236, 237, 238, 239, 168,
+ 241, 242, 192, 169, 154, 261, 155, 156, 268, 270,
+ 80, 276, 417, 170, 47, 80, 269, 49, 408, 95,
+ 52, 407, 80, 171, 47, 172, 48, 337, 50, 95,
+ 342, 343, 344, 306, 346, 48, 49, 50, 158, 52,
+ 193, 315, 234, 235, 173, 80, 218, 318, 321, 322,
+ 323, 324, 325, 326, 327, 174, 263, 383, 385, 197,
+ 384, 273, 331, 175, 333, 334, 177, 80, 287, 178,
+ 264, 179, 262, 180, 80, 274, 347, 272, 281, 282,
+ 283, 181, 288, 183, 48, 184, 50, 185, 186, 187,
+ 188, 319, 299, 195, 304, 251, 252, 253, 254, 255,
+ 311, 314, 200, 201, 202, 320, 203, 204, 205, 158,
+ 206, 207, 208, 210, 217, 340, 341, 220, 219, 221,
+ 222, 223, 421, 224, 225, 226, 332, 336, 335, 227,
+ 338, 339, 228, 229, 345, 230, 231, 232, 240, 243,
+ 44, 448, 197, 359, 360, 361, 308, 317, 364, 365,
+ 366, 367, 368, 284, 352, 353, 354, 362, 293, 355,
+ 295, 297, 300, 302, 363, 369, 370, 373, 443, 46,
+ 371, 372, 374, 375, 284, 376, 377, 409, 410, 411,
+ 412, 413, 414, 382, 378, 328, 379, 329, 380, 431,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 434, 199, 161, 59, 441, 60, 381, 386, 401, 348,
+ 92, 387, 388, 63, 389, 393, 394, 395, 396, 415,
+ 416, 358, 397, 398, 399, 400, 94, 423, 402, 403,
+ 193, 406, 53, 418, 419, 424, 425, 426, 427, 428,
+ 430, 442, 444, 438, 438, 248, 249, 250, 251, 252,
+ 253, 254, 255, 458, 459, 445, 461, 462, 446, 404,
+ 405, 454, 449, 450, 457, 451, 256, 452, 453, 439,
+ 447, 455, 349, 432, 0, 163, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 0, 0, 435, 0,
+ 422, 456, 357, 149, 0, 4, 460, 0, 0, 0,
+ 0, 429, 433, 0, 0, 437, 440, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 0, 20, 21, 0, 22, 23, 24, 25,
+ 26, 0, 0, 0, 0, 44, 45, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 0, 0, 350,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 0,
+ 0, 36, 37, 0, 46, 38, 0, 39, 0, 47,
+ 40, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 0, 58, 44, 45, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 0, 44, 45, 0, 59, 0,
+ 60, 0, 0, 0, 0, 61, 0, 62, 63, 0,
+ 351, 0, 46, 0, 44, 45, 0, 47, 0, 48,
+ 0, 50, 51, 0, 46, 54, 55, 56, 57, 47,
+ 58, 0, 0, 0, 95, 0, 0, 44, 45, 0,
+ 0, 44, 45, 46, 0, 0, 59, 0, 60, 0,
+ 0, 49, 0, 61, 52, 86, 63, 0, 96, 0,
+ 60, 44, 45, 0, 97, 98, 46, 0, 63, 0,
+ 46, 0, 0, 48, 0, 50, 0, 59, 0, 60,
+ 44, 45, 53, 0, 61, 0, 103, 63, 0, 0,
+ 46, 0, 44, 45, 44, 45, 0, 48, 0, 50,
+ 59, 0, 60, 0, 59, 0, 60, 61, 0, 46,
+ 63, 61, 0, 86, 63, 0, 48, 0, 50, 44,
+ 45, 46, 0, 46, 59, 0, 60, 0, 0, 0,
+ 0, 92, 44, 45, 63, 0, 54, 55, 0, 0,
+ 0, 44, 45, 0, 0, 60, 0, 0, 46, 0,
+ 92, 44, 45, 63, 161, 59, 0, 60, 0, 60,
+ 0, 46, 92, 0, 92, 63, 0, 63, 0, 0,
+ 46, 44, 45, 0, 0, 0, 0, 0, 44, 45,
+ 46, 0, 59, 0, 60, 0, 0, 0, 0, 92,
+ 44, 45, 63, 0, 0, 96, 0, 60, 0, 0,
+ 46, 0, 190, 0, 96, 63, 60, 46, 44, 45,
+ 0, 309, 0, 0, 63, 0, 60, 44, 45, 46,
+ 0, 92, 0, 330, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96, 0, 60, 46, 0, 0,
+ 0, 312, 0, 60, 63, 0, 46, 0, 92, 0,
+ 86, 63, 0, 96, 0, 60, 0, 0, 0, 0,
+ 420, 0, 0, 63, 0, 0, 0, 0, 0, 317,
+ 0, 0, 0, 60, 0, 0, 0, 0, 92, 0,
+ 0, 63, 60, 0, 0, 0, 0, 92, 0, 0,
+ 63
};
static const yytype_int16 yycheck[] =
{
- 5, 6, 7, 8, 9, 10, 21, 164, 169, 187,
- 95, 8, 76, 18, 19, 164, 45, 9, 9, 48,
- 44, 170, 46, 77, 96, 30, 76, 32, 33, 34,
- 44, 36, 46, 44, 45, 46, 97, 48, 74, 75,
- 4, 5, 80, 12, 19, 20, 37, 11, 12, 13,
- 25, 13, 14, 15, 16, 17, 80, 19, 22, 23,
- 24, 80, 42, 44, 78, 46, 77, 47, 42, 80,
- 34, 45, 78, 47, 48, 8, 9, 69, 76, 43,
- 44, 42, 79, 38, 39, 40, 47, 5, 10, 11,
- 12, 52, 53, 75, 55, 13, 77, 61, 62, 80,
- 4, 5, 78, 164, 37, 78, 8, 9, 12, 13,
- 115, 29, 45, 31, 32, 48, 18, 19, 44, 21,
- 46, 85, 194, 195, 26, 27, 78, 78, 189, 80,
- 34, 33, 96, 35, 22, 23, 24, 112, 71, 78,
- 73, 116, 117, 77, 78, 78, 121, 122, 81, 38,
- 39, 40, 41, 115, 239, 44, 77, 46, 77, 164,
- 165, 166, 167, 8, 9, 78, 171, 172, 173, 174,
- 77, 176, 177, 178, 179, 180, 77, 182, 183, 184,
- 185, 186, 77, 78, 77, 149, 150, 151, 152, 11,
- 154, 155, 96, 77, 6, 164, 8, 9, 167, 168,
- 164, 170, 380, 77, 77, 169, 168, 77, 369, 77,
- 77, 368, 176, 77, 42, 77, 44, 222, 46, 47,
- 225, 226, 227, 187, 229, 44, 45, 46, 60, 48,
- 194, 195, 144, 145, 77, 199, 77, 199, 200, 201,
- 202, 203, 204, 205, 206, 78, 164, 308, 77, 7,
- 311, 169, 216, 77, 218, 219, 77, 221, 176, 77,
- 164, 77, 164, 77, 228, 169, 230, 169, 38, 39,
- 40, 77, 176, 77, 44, 77, 46, 77, 77, 77,
- 77, 199, 184, 77, 186, 8, 9, 10, 11, 12,
- 194, 195, 77, 77, 77, 199, 77, 77, 77, 131,
- 77, 77, 77, 77, 77, 223, 224, 78, 77, 77,
- 77, 77, 384, 77, 77, 77, 218, 221, 220, 78,
- 222, 223, 79, 69, 228, 79, 79, 79, 79, 6,
- 8, 9, 7, 245, 246, 247, 77, 77, 250, 251,
- 252, 253, 254, 175, 79, 79, 77, 77, 180, 77,
- 182, 183, 184, 185, 79, 77, 77, 77, 419, 37,
- 77, 77, 77, 47, 196, 79, 77, 372, 373, 374,
- 375, 376, 377, 77, 77, 207, 77, 209, 77, 394,
+ 6, 7, 8, 9, 10, 11, 22, 165, 170, 188,
+ 96, 8, 0, 19, 20, 165, 45, 9, 9, 48,
+ 44, 171, 46, 76, 97, 31, 77, 33, 34, 35,
+ 44, 37, 46, 44, 45, 46, 98, 48, 74, 75,
+ 5, 6, 80, 13, 20, 21, 37, 12, 13, 14,
+ 26, 14, 15, 16, 17, 18, 80, 20, 23, 24,
+ 25, 80, 42, 44, 78, 46, 77, 47, 76, 80,
+ 35, 78, 44, 42, 46, 8, 9, 69, 47, 44,
+ 45, 75, 79, 52, 53, 78, 55, 6, 6, 7,
+ 8, 9, 10, 11, 12, 14, 77, 62, 63, 80,
+ 5, 6, 76, 165, 37, 78, 9, 10, 13, 14,
+ 116, 30, 45, 32, 33, 48, 19, 20, 78, 22,
+ 80, 86, 195, 196, 27, 28, 77, 78, 190, 78,
+ 35, 34, 97, 36, 38, 39, 40, 113, 71, 78,
+ 73, 117, 118, 8, 9, 78, 122, 123, 81, 38,
+ 39, 40, 41, 116, 240, 44, 77, 46, 78, 165,
+ 166, 167, 168, 10, 11, 12, 172, 173, 174, 175,
+ 77, 177, 178, 179, 180, 181, 77, 183, 184, 185,
+ 186, 187, 23, 24, 25, 150, 151, 152, 153, 77,
+ 155, 156, 97, 77, 6, 165, 8, 9, 168, 169,
+ 165, 171, 381, 77, 42, 170, 169, 45, 370, 47,
+ 48, 369, 177, 77, 42, 77, 44, 223, 46, 47,
+ 226, 227, 228, 188, 230, 44, 45, 46, 61, 48,
+ 195, 196, 145, 146, 77, 200, 78, 200, 201, 202,
+ 203, 204, 205, 206, 207, 77, 165, 309, 77, 78,
+ 312, 170, 217, 77, 219, 220, 77, 222, 177, 77,
+ 165, 77, 165, 77, 229, 170, 231, 170, 38, 39,
+ 40, 77, 177, 77, 44, 77, 46, 77, 77, 77,
+ 77, 200, 185, 77, 187, 8, 9, 10, 11, 12,
+ 195, 196, 77, 77, 77, 200, 77, 77, 77, 132,
+ 77, 77, 77, 77, 77, 224, 225, 11, 77, 77,
+ 77, 77, 385, 77, 77, 77, 219, 222, 221, 77,
+ 223, 224, 77, 77, 229, 77, 77, 77, 7, 78,
+ 8, 9, 78, 246, 247, 248, 79, 69, 251, 252,
+ 253, 254, 255, 176, 79, 79, 79, 6, 181, 79,
+ 183, 184, 185, 186, 7, 77, 77, 77, 420, 37,
+ 79, 79, 77, 77, 197, 77, 77, 373, 374, 375,
+ 376, 377, 378, 79, 77, 208, 77, 210, 77, 395,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 395, 69, 70, 71, 399, 73, 77, 77, 77, 231,
- 78, 77, 49, 81, 77, 77, 37, 78, 9, 378,
- 379, 243, 79, 79, 79, 79, 380, 386, 80, 80,
- 384, 39, 77, 9, 37, 387, 388, 77, 77, 77,
- 37, 77, 77, 397, 398, 5, 6, 7, 8, 9,
- 10, 11, 12, 448, 449, 79, 451, 452, 398, 361,
- 362, 79, 394, 242, 232, 427, 79, 6, 7, 8,
- 9, 10, 11, 12, -1, 429, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, -1, -1, 396, -1,
- 384, 443, -1, 447, 0, 1, 450, -1, -1, -1,
- -1, 393, 394, -1, -1, 397, 398, 13, 14, 15,
+ 396, 69, 70, 71, 400, 73, 77, 79, 78, 232,
+ 78, 77, 77, 81, 77, 77, 77, 77, 77, 379,
+ 380, 244, 77, 77, 77, 77, 381, 387, 79, 79,
+ 385, 47, 49, 79, 79, 388, 389, 37, 9, 80,
+ 80, 39, 77, 398, 399, 5, 6, 7, 8, 9,
+ 10, 11, 12, 449, 450, 9, 452, 453, 37, 362,
+ 363, 79, 77, 77, 37, 77, 79, 77, 77, 399,
+ 428, 79, 233, 395, -1, 430, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, -1, -1, 397, -1,
+ 385, 444, 243, 448, -1, 1, 451, -1, -1, -1,
+ -1, 394, 395, -1, -1, 398, 399, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, -1, 29, 30, -1, 32, 33, 34, 35,
- 36, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, -1, -1, 76,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 1,
- -1, 67, 68, -1, -1, 71, -1, 73, -1, -1,
- 76, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, -1, 29, 30, -1,
- 32, 33, 34, 35, 36, -1, -1, -1, -1, 8,
- 9, -1, -1, -1, 76, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, -1, -1, 67, 68, -1, 37, 71,
- -1, 73, -1, 42, 76, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, -1, 55, 8, 9, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 8,
- 9, -1, 71, -1, 73, -1, -1, -1, -1, 78,
- -1, 80, 81, -1, 8, 9, 37, -1, -1, -1,
- -1, 42, -1, 44, -1, 46, 47, -1, 37, 50,
- 51, 52, 53, 42, 55, -1, -1, -1, 47, -1,
- -1, -1, -1, 37, 8, 9, -1, -1, -1, -1,
- 71, 45, 73, -1, 48, -1, -1, 78, -1, 80,
- 81, -1, 71, -1, 73, 8, 9, -1, 77, 78,
- -1, -1, 81, 37, -1, 8, 9, 71, -1, 73,
- 44, -1, 46, -1, 78, -1, 80, 81, -1, -1,
- 8, 9, -1, -1, 37, -1, 8, 9, -1, -1,
- -1, 44, -1, 46, 37, 8, 9, 71, -1, 73,
- -1, 44, -1, 46, 78, -1, -1, 81, -1, 37,
- 8, 9, 8, 9, -1, 37, -1, -1, 71, -1,
- 73, 49, -1, -1, 37, 78, -1, -1, 81, -1,
- 73, -1, 8, 9, -1, 78, -1, -1, 81, 37,
- -1, 37, -1, 71, -1, 73, -1, -1, 70, 71,
- 78, 73, 80, 81, 50, 51, 78, -1, 71, 81,
- 73, 37, 8, 9, -1, 78, -1, -1, 81, 8,
- 9, -1, -1, 71, -1, 73, -1, 73, 8, 9,
- 78, -1, 78, 81, -1, 81, -1, -1, -1, 8,
- 9, 37, -1, 8, 9, 71, -1, 73, 37, 8,
- 9, -1, 78, -1, -1, 81, -1, 37, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
- -1, -1, 37, -1, -1, 71, -1, 73, 37, -1,
- -1, -1, 78, -1, 73, 81, -1, -1, -1, 78,
- -1, 80, 81, 73, -1, -1, -1, -1, 78, -1,
- 80, 81, 71, -1, 73, -1, -1, -1, 73, 78,
- 69, -1, 81, 78, 73, -1, 81, -1, -1, 78,
- -1, -1, 81
+ 36, -1, -1, -1, -1, 8, 9, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, -1, -1, 76,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
+ -1, 67, 68, -1, 37, 71, -1, 73, -1, 42,
+ 76, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, -1, 55, 8, 9, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, -1, 8, 9, -1, 71, -1,
+ 73, -1, -1, -1, -1, 78, -1, 80, 81, -1,
+ 76, -1, 37, -1, 8, 9, -1, 42, -1, 44,
+ -1, 46, 47, -1, 37, 50, 51, 52, 53, 42,
+ 55, -1, -1, -1, 47, -1, -1, 8, 9, -1,
+ -1, 8, 9, 37, -1, -1, 71, -1, 73, -1,
+ -1, 45, -1, 78, 48, 80, 81, -1, 71, -1,
+ 73, 8, 9, -1, 77, 78, 37, -1, 81, -1,
+ 37, -1, -1, 44, -1, 46, -1, 71, -1, 73,
+ 8, 9, 49, -1, 78, -1, 80, 81, -1, -1,
+ 37, -1, 8, 9, 8, 9, -1, 44, -1, 46,
+ 71, -1, 73, -1, 71, -1, 73, 78, -1, 37,
+ 81, 78, -1, 80, 81, -1, 44, -1, 46, 8,
+ 9, 37, -1, 37, 71, -1, 73, -1, -1, -1,
+ -1, 78, 8, 9, 81, -1, 50, 51, -1, -1,
+ -1, 8, 9, -1, -1, 73, -1, -1, 37, -1,
+ 78, 8, 9, 81, 70, 71, -1, 73, -1, 73,
+ -1, 37, 78, -1, 78, 81, -1, 81, -1, -1,
+ 37, 8, 9, -1, -1, -1, -1, -1, 8, 9,
+ 37, -1, 71, -1, 73, -1, -1, -1, -1, 78,
+ 8, 9, 81, -1, -1, 71, -1, 73, -1, -1,
+ 37, -1, 78, -1, 71, 81, 73, 37, 8, 9,
+ -1, 78, -1, -1, 81, -1, 73, 8, 9, 37,
+ -1, 78, -1, 80, 81, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 71, -1, 73, 37, -1, -1,
+ -1, 78, -1, 73, 81, -1, 37, -1, 78, -1,
+ 80, 81, -1, 71, -1, 73, -1, -1, -1, -1,
+ 78, -1, -1, 81, -1, -1, -1, -1, -1, 69,
+ -1, -1, -1, 73, -1, -1, -1, -1, 78, -1,
+ -1, 81, 73, -1, -1, -1, -1, 78, -1, -1,
+ 81
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 83, 0, 1, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 29,
- 30, 32, 33, 34, 35, 36, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 67, 68, 71, 73, 76,
- 84, 86, 76, 8, 9, 37, 42, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 55, 71, 73,
- 78, 80, 81, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 101, 103, 104, 105, 106, 107, 111,
- 88, 105, 106, 88, 88, 80, 88, 103, 88, 103,
- 88, 78, 98, 111, 47, 71, 77, 78, 87, 97,
- 106, 111, 80, 96, 102, 105, 106, 96, 96, 96,
- 96, 77, 88, 103, 108, 77, 88, 96, 103, 108,
- 108, 101, 103, 107, 111, 107, 107, 108, 103, 103,
- 76, 78, 105, 88, 105, 88, 105, 88, 103, 88,
- 106, 103, 88, 74, 75, 75, 76, 111, 111, 78,
- 78, 78, 78, 6, 8, 9, 109, 104, 111, 112,
- 70, 106, 111, 111, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 78, 77, 77, 77, 77,
- 77, 111, 77, 77, 77, 77, 77, 77, 109, 78,
- 87, 106, 111, 89, 77, 77, 78, 9, 69, 77,
- 77, 77, 77, 77, 77, 77, 77, 77, 108, 77,
- 88, 96, 108, 108, 108, 108, 77, 78, 77, 11,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 85, 112, 112, 111, 111, 111, 111, 7,
- 111, 111, 78, 8, 79, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 79, 88, 89, 91, 94,
- 97, 103, 105, 106, 88, 88, 88, 97, 96, 97,
- 95, 103, 105, 106, 94, 97, 88, 88, 88, 88,
- 38, 39, 40, 104, 110, 88, 105, 106, 88, 88,
- 88, 88, 104, 88, 104, 88, 104, 88, 103, 104,
- 88, 104, 88, 103, 98, 111, 89, 79, 78, 87,
- 106, 78, 87, 106, 111, 41, 69, 96, 105, 106,
- 96, 96, 96, 96, 96, 96, 96, 104, 104, 80,
- 111, 103, 111, 111, 103, 106, 88, 103, 103, 105,
- 105, 88, 88, 88, 106, 88, 111, 104, 84, 76,
- 76, 79, 79, 79, 79, 109, 110, 104, 112, 112,
- 112, 6, 7, 112, 112, 112, 112, 112, 77, 77,
- 79, 79, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 79, 89, 89, 77, 79, 77, 77, 77, 9,
- 37, 100, 77, 77, 77, 77, 77, 77, 77, 77,
- 78, 79, 79, 112, 112, 47, 91, 95, 88, 88,
- 88, 88, 88, 88, 97, 97, 98, 79, 79, 78,
- 87, 106, 97, 96, 96, 37, 9, 80, 103, 80,
- 101, 102, 103, 88, 105, 99, 103, 111, 99, 103,
- 88, 39, 89, 77, 9, 37, 100, 9, 77, 77,
- 77, 77, 77, 79, 79, 96, 37, 88, 88, 111,
- 88, 88
+ 0, 83, 0, 84, 1, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 29, 30, 32, 33, 34, 35, 36, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 67, 68, 71, 73,
+ 76, 85, 87, 76, 8, 9, 37, 42, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 55, 71,
+ 73, 78, 80, 81, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 102, 104, 105, 106, 107, 108,
+ 112, 89, 106, 107, 89, 89, 80, 89, 104, 89,
+ 104, 89, 78, 99, 112, 47, 71, 77, 78, 88,
+ 98, 107, 112, 80, 97, 103, 106, 107, 97, 97,
+ 97, 97, 77, 89, 104, 109, 77, 89, 97, 104,
+ 109, 109, 102, 104, 108, 112, 108, 108, 109, 104,
+ 104, 76, 78, 106, 89, 106, 89, 106, 89, 104,
+ 89, 107, 104, 89, 74, 75, 75, 76, 112, 112,
+ 78, 78, 78, 78, 6, 8, 9, 110, 105, 112,
+ 113, 70, 107, 112, 112, 77, 77, 77, 77, 77,
+ 77, 77, 77, 77, 77, 77, 78, 77, 77, 77,
+ 77, 77, 112, 77, 77, 77, 77, 77, 77, 110,
+ 78, 88, 107, 112, 90, 77, 77, 78, 9, 69,
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 109,
+ 77, 89, 97, 109, 109, 109, 109, 77, 78, 77,
+ 11, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 86, 113, 113, 112, 112, 112, 112,
+ 7, 112, 112, 78, 8, 79, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 79, 89, 90, 92,
+ 95, 98, 104, 106, 107, 89, 89, 89, 98, 97,
+ 98, 96, 104, 106, 107, 95, 98, 89, 89, 89,
+ 89, 38, 39, 40, 105, 111, 89, 106, 107, 89,
+ 89, 89, 89, 105, 89, 105, 89, 105, 89, 104,
+ 105, 89, 105, 89, 104, 99, 112, 90, 79, 78,
+ 88, 107, 78, 88, 107, 112, 41, 69, 97, 106,
+ 107, 97, 97, 97, 97, 97, 97, 97, 105, 105,
+ 80, 112, 104, 112, 112, 104, 107, 89, 104, 104,
+ 106, 106, 89, 89, 89, 107, 89, 112, 105, 85,
+ 76, 76, 79, 79, 79, 79, 110, 111, 105, 113,
+ 113, 113, 6, 7, 113, 113, 113, 113, 113, 77,
+ 77, 79, 79, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 79, 90, 90, 77, 79, 77, 77, 77,
+ 9, 37, 101, 77, 77, 77, 77, 77, 77, 77,
+ 77, 78, 79, 79, 113, 113, 47, 92, 96, 89,
+ 89, 89, 89, 89, 89, 98, 98, 99, 79, 79,
+ 78, 88, 107, 98, 97, 97, 37, 9, 80, 104,
+ 80, 102, 103, 104, 89, 106, 100, 104, 112, 100,
+ 104, 89, 39, 90, 77, 9, 37, 101, 9, 77,
+ 77, 77, 77, 77, 79, 79, 97, 37, 89, 89,
+ 112, 89, 89
};
#define yyerrok (yyerrstatus = 0)
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 4:
-#line 71 "a.y"
+ case 3:
+#line 68 "a.y"
+ {
+ stmtline = lineno;
+ }
+ break;
+
+ case 5:
+#line 75 "a.y"
{
(yyvsp[(1) - (2)].sym) = labellookup((yyvsp[(1) - (2)].sym));
if((yyvsp[(1) - (2)].sym)->type == LLAB && (yyvsp[(1) - (2)].sym)->value != pc)
}
break;
- case 6:
-#line 80 "a.y"
+ case 7:
+#line 84 "a.y"
{
(yyvsp[(1) - (4)].sym)->type = LVAR;
(yyvsp[(1) - (4)].sym)->value = (yyvsp[(3) - (4)].lval);
}
break;
- case 7:
-#line 85 "a.y"
+ case 8:
+#line 89 "a.y"
{
if((yyvsp[(1) - (4)].sym)->value != (yyvsp[(3) - (4)].lval))
yyerror("redeclaration of %s", (yyvsp[(1) - (4)].sym)->name);
}
break;
- case 8:
-#line 91 "a.y"
+ case 9:
+#line 95 "a.y"
{
nosched = (yyvsp[(1) - (2)].lval);
}
break;
- case 12:
-#line 103 "a.y"
- {
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
- }
- break;
-
case 13:
#line 107 "a.y"
{
break;
case 18:
-#line 130 "a.y"
+#line 127 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 24:
-#line 157 "a.y"
+#line 154 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 28:
-#line 176 "a.y"
+#line 173 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 30:
-#line 187 "a.y"
+#line 184 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
case 32:
#line 195 "a.y"
{
- outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 33:
#line 199 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
}
break;
case 34:
#line 203 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].lval), &nullgen);
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 35:
-#line 210 "a.y"
+#line 207 "a.y"
{
- outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].lval), &nullgen);
}
break;
case 36:
#line 214 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
}
break;
break;
case 38:
-#line 228 "a.y"
+#line 222 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 40:
#line 236 "a.y"
{
- outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 41:
#line 240 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
}
break;
case 43:
#line 248 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 44:
#line 252 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 45:
#line 256 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 46:
#line 260 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 47:
#line 264 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 48:
#line 268 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 50:
#line 276 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &(yyvsp[(2) - (2)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 51:
-#line 283 "a.y"
+#line 280 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &(yyvsp[(2) - (2)].addr));
}
break;
case 52:
-#line 290 "a.y"
+#line 287 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
break;
case 54:
-#line 301 "a.y"
+#line 298 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].addr).reg, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 55:
#line 305 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].addr).reg, &(yyvsp[(4) - (4)].addr));
}
break;
case 56:
-#line 313 "a.y"
+#line 309 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
break;
case 64:
-#line 350 "a.y"
+#line 345 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &(yyvsp[(2) - (2)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 66:
#line 358 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &nullgen, 0, &(yyvsp[(3) - (4)].addr));
+ outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &(yyvsp[(2) - (2)].addr));
}
break;
case 67:
#line 362 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), &nullgen, 0, &(yyvsp[(3) - (3)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &nullgen, 0, &(yyvsp[(3) - (4)].addr));
}
break;
case 69:
#line 370 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), &nullgen, 0, &(yyvsp[(4) - (5)].addr));
+ outcode((yyvsp[(1) - (3)].lval), &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 70:
#line 374 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (5)].lval), &nullgen, 0, &(yyvsp[(4) - (5)].addr));
}
break;
case 72:
#line 382 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(5) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 73:
#line 386 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &nullgen, (yyvsp[(2) - (4)].lval), &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(5) - (6)].addr));
}
break;
case 75:
#line 394 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &nullgen, (yyvsp[(2) - (6)].lval), &(yyvsp[(5) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &nullgen, (yyvsp[(2) - (4)].lval), &(yyvsp[(4) - (4)].addr));
}
break;
case 76:
#line 398 "a.y"
{
- Addr g;
- g = nullgen;
- g.type = TYPE_CONST;
- g.offset = (yyvsp[(2) - (6)].lval);
- outcode((yyvsp[(1) - (6)].lval), &g, REG_R0+(yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &nullgen, (yyvsp[(2) - (6)].lval), &(yyvsp[(5) - (6)].addr));
}
break;
case 77:
-#line 406 "a.y"
+#line 402 "a.y"
{
Addr g;
g = nullgen;
break;
case 78:
-#line 414 "a.y"
+#line 410 "a.y"
{
Addr g;
g = nullgen;
g.type = TYPE_CONST;
- g.offset = (yyvsp[(2) - (8)].lval);
- outcode((yyvsp[(1) - (8)].lval), &g, REG_R0+(yyvsp[(4) - (8)].lval), &(yyvsp[(7) - (8)].addr));
+ g.offset = (yyvsp[(2) - (6)].lval);
+ outcode((yyvsp[(1) - (6)].lval), &g, REG_R0+(yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 79:
-#line 425 "a.y"
+#line 418 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].lval), &nullgen);
+ Addr g;
+ g = nullgen;
+ g.type = TYPE_CONST;
+ g.offset = (yyvsp[(2) - (8)].lval);
+ outcode((yyvsp[(1) - (8)].lval), &g, REG_R0+(yyvsp[(4) - (8)].lval), &(yyvsp[(7) - (8)].addr));
}
break;
case 81:
#line 433 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), (yyvsp[(4) - (4)].lval), &nullgen);
}
break;
case 82:
#line 437 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
+ outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
}
break;
case 83:
-#line 444 "a.y"
+#line 441 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
}
break;
case 85:
#line 452 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].addr).reg, &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 86:
#line 456 "a.y"
{
- outgcode((yyvsp[(1) - (8)].lval), &(yyvsp[(2) - (8)].addr), (yyvsp[(4) - (8)].addr).reg, &(yyvsp[(6) - (8)].addr), &(yyvsp[(8) - (8)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].addr).reg, &(yyvsp[(6) - (6)].addr));
}
break;
case 87:
#line 460 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (8)].lval), &(yyvsp[(2) - (8)].addr), (yyvsp[(4) - (8)].addr).reg, &(yyvsp[(6) - (8)].addr), &(yyvsp[(8) - (8)].addr));
}
break;
case 88:
#line 464 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(6) - (6)].addr).reg, &(yyvsp[(4) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 89:
-#line 471 "a.y"
+#line 468 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(6) - (6)].addr).reg, &(yyvsp[(4) - (6)].addr));
}
break;
case 91:
#line 479 "a.y"
{
- outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(6) - (6)].addr).reg, &(yyvsp[(4) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
break;
case 93:
-#line 490 "a.y"
+#line 487 "a.y"
{
- outgcode((yyvsp[(1) - (8)].lval), &(yyvsp[(2) - (8)].addr), (yyvsp[(4) - (8)].addr).reg, &(yyvsp[(6) - (8)].addr), &(yyvsp[(8) - (8)].addr));
+ outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(6) - (6)].addr).reg, &(yyvsp[(4) - (6)].addr));
}
break;
break;
case 97:
-#line 509 "a.y"
+#line 506 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (8)].lval), &(yyvsp[(2) - (8)].addr), (yyvsp[(4) - (8)].addr).reg, &(yyvsp[(6) - (8)].addr), &(yyvsp[(8) - (8)].addr));
}
break;
break;
case 99:
-#line 521 "a.y"
+#line 517 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
case 100:
#line 525 "a.y"
{
- outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 101:
#line 529 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
}
break;
case 102:
#line 533 "a.y"
{
- outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 103:
#line 537 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
+ outgcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(4) - (6)].addr), &(yyvsp[(6) - (6)].addr));
}
break;
case 105:
#line 545 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &nullgen);
+ outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 106:
-#line 552 "a.y"
+#line 549 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
+ outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &nullgen);
}
break;
case 107:
#line 556 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
+ outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
}
break;
case 109:
#line 564 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), &nullgen, 0, &(yyvsp[(3) - (3)].addr));
+ outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
}
break;
case 111:
#line 572 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &nullgen);
+ outcode((yyvsp[(1) - (3)].lval), &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 112:
-#line 579 "a.y"
+#line 576 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
+ outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].addr), 0, &nullgen);
}
break;
break;
case 114:
-#line 590 "a.y"
+#line 587 "a.y"
+ {
+ outcode((yyvsp[(1) - (3)].lval), &(yyvsp[(2) - (3)].addr), 0, &nullgen);
+ }
+ break;
+
+ case 115:
+#line 594 "a.y"
{
if((yyvsp[(2) - (4)].addr).type != TYPE_CONST || (yyvsp[(4) - (4)].addr).type != TYPE_CONST)
yyerror("arguments to PCDATA must be integer constants");
}
break;
- case 115:
-#line 599 "a.y"
+ case 116:
+#line 603 "a.y"
{
if((yyvsp[(2) - (4)].addr).type != TYPE_CONST)
yyerror("index for FUNCDATA must be integer constant");
}
break;
- case 116:
-#line 610 "a.y"
+ case 117:
+#line 614 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
}
break;
- case 117:
-#line 617 "a.y"
+ case 118:
+#line 621 "a.y"
{
settext((yyvsp[(2) - (5)].addr).sym);
outcode((yyvsp[(1) - (5)].lval), &(yyvsp[(2) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
- case 118:
-#line 622 "a.y"
+ case 119:
+#line 626 "a.y"
{
settext((yyvsp[(2) - (7)].addr).sym);
outcode((yyvsp[(1) - (7)].lval), &(yyvsp[(2) - (7)].addr), 0, &(yyvsp[(7) - (7)].addr));
}
break;
- case 119:
-#line 634 "a.y"
+ case 120:
+#line 638 "a.y"
{
settext((yyvsp[(2) - (4)].addr).sym);
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
- case 120:
-#line 639 "a.y"
+ case 121:
+#line 643 "a.y"
{
settext((yyvsp[(2) - (6)].addr).sym);
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(6) - (6)].addr));
}
break;
- case 121:
-#line 652 "a.y"
+ case 122:
+#line 656 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(6) - (6)].addr));
if(pass > 1) {
}
break;
- case 122:
-#line 660 "a.y"
+ case 123:
+#line 664 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(6) - (6)].addr));
if(pass > 1) {
}
break;
- case 123:
-#line 668 "a.y"
+ case 124:
+#line 672 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), 0, &(yyvsp[(6) - (6)].addr));
if(pass > 1) {
}
break;
- case 124:
-#line 679 "a.y"
+ case 125:
+#line 683 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
}
break;
- case 125:
-#line 685 "a.y"
+ case 126:
+#line 689 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_BRANCH;
}
break;
- case 126:
-#line 691 "a.y"
+ case 127:
+#line 695 "a.y"
{
(yyvsp[(1) - (2)].sym) = labellookup((yyvsp[(1) - (2)].sym));
(yyval.addr) = nullgen;
}
break;
- case 127:
-#line 702 "a.y"
+ case 128:
+#line 706 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 130:
-#line 714 "a.y"
+ case 131:
+#line 718 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 131:
-#line 722 "a.y"
+ case 132:
+#line 726 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 132:
-#line 730 "a.y"
+ case 133:
+#line 734 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 133:
-#line 738 "a.y"
+ case 134:
+#line 742 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 134:
-#line 746 "a.y"
+ case 135:
+#line 750 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 135:
-#line 752 "a.y"
+ case 136:
+#line 756 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= 1024)
yyerror("SPR/DCR out of range");
}
break;
- case 137:
-#line 763 "a.y"
+ case 138:
+#line 767 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 138:
-#line 771 "a.y"
+ case 139:
+#line 775 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 139:
-#line 777 "a.y"
+ case 140:
+#line 781 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 140:
-#line 785 "a.y"
+ case 141:
+#line 789 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 141:
-#line 791 "a.y"
+ case 142:
+#line 795 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 142:
-#line 799 "a.y"
+ case 143:
+#line 803 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
}
break;
- case 143:
-#line 807 "a.y"
+ case 144:
+#line 811 "a.y"
{
int mb, me;
uint32 v;
}
break;
- case 144:
-#line 828 "a.y"
+ case 145:
+#line 832 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_TEXTSIZE;
}
break;
- case 145:
-#line 835 "a.y"
+ case 146:
+#line 839 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_TEXTSIZE;
}
break;
- case 146:
-#line 842 "a.y"
+ case 147:
+#line 846 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_TEXTSIZE;
}
break;
- case 147:
-#line 849 "a.y"
+ case 148:
+#line 853 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_TEXTSIZE;
}
break;
- case 148:
-#line 858 "a.y"
+ case 149:
+#line 862 "a.y"
{
(yyval.addr) = (yyvsp[(2) - (2)].addr);
(yyval.addr).type = TYPE_ADDR;
}
break;
- case 149:
-#line 863 "a.y"
+ case 150:
+#line 867 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SCONST;
}
break;
- case 150:
-#line 871 "a.y"
+ case 151:
+#line 875 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
}
break;
- case 151:
-#line 877 "a.y"
+ case 152:
+#line 881 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
}
break;
- case 152:
-#line 884 "a.y"
+ case 153:
+#line 888 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_CONST;
}
break;
- case 154:
-#line 893 "a.y"
+ case 155:
+#line 897 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= NREG)
print("register value out of range\n");
}
break;
- case 155:
-#line 901 "a.y"
+ case 156:
+#line 905 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 156:
-#line 908 "a.y"
+ case 157:
+#line 912 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 158:
-#line 919 "a.y"
+ case 159:
+#line 923 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 159:
-#line 928 "a.y"
+ case 160:
+#line 932 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 160:
-#line 936 "a.y"
+ case 161:
+#line 940 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 161:
-#line 944 "a.y"
+ case 162:
+#line 948 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
}
break;
- case 164:
-#line 956 "a.y"
- {
- (yyval.lval) = 0;
- }
- break;
-
case 165:
#line 960 "a.y"
{
- (yyval.lval) = (yyvsp[(2) - (2)].lval);
+ (yyval.lval) = 0;
}
break;
case 166:
#line 964 "a.y"
{
- (yyval.lval) = -(yyvsp[(2) - (2)].lval);
+ (yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 171:
-#line 976 "a.y"
+ case 167:
+#line 968 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
+ (yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 172:
#line 980 "a.y"
{
- (yyval.lval) = -(yyvsp[(2) - (2)].lval);
+ (yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
break;
case 173:
#line 984 "a.y"
{
- (yyval.lval) = (yyvsp[(2) - (2)].lval);
+ (yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 174:
#line 988 "a.y"
{
- (yyval.lval) = ~(yyvsp[(2) - (2)].lval);
+ (yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 175:
#line 992 "a.y"
{
- (yyval.lval) = (yyvsp[(2) - (3)].lval);
+ (yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
break;
- case 177:
-#line 999 "a.y"
+ case 176:
+#line 996 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(2) - (3)].lval);
}
break;
case 178:
#line 1003 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
break;
case 179:
#line 1007 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
break;
case 180:
#line 1011 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
break;
case 181:
#line 1015 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
break;
case 182:
#line 1019 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
break;
case 183:
#line 1023 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
+ (yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
break;
case 184:
#line 1027 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
break;
case 185:
#line 1031 "a.y"
{
- (yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
break;
case 186:
#line 1035 "a.y"
+ {
+ (yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
+ }
+ break;
+
+ case 187:
+#line 1039 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
/* Line 1267 of yacc.c. */
-#line 3256 "y.tab.c"
+#line 3253 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
var yyExca = []int{
-1, 1,
1, -1,
- -2, 0,
+ -2, 2,
}
-const yyNprod = 186
+const yyNprod = 187
const yyPrivate = 57344
var yyTokenNames []string
var yyStates []string
-const yyLast = 922
+const yyLast = 900
var yyAct = []int{
- 47, 393, 53, 89, 426, 272, 439, 57, 51, 101,
- 93, 84, 171, 55, 94, 96, 97, 99, 100, 56,
- 50, 112, 73, 434, 74, 2, 120, 122, 124, 65,
- 127, 129, 90, 132, 104, 52, 137, 126, 277, 93,
- 453, 452, 116, 117, 118, 119, 416, 415, 92, 95,
- 114, 98, 73, 133, 74, 115, 113, 73, 93, 74,
- 405, 404, 121, 383, 382, 204, 447, 379, 135, 136,
- 138, 139, 245, 244, 243, 241, 242, 236, 237, 238,
- 239, 240, 368, 131, 367, 366, 126, 140, 148, 365,
- 49, 145, 126, 93, 363, 163, 362, 315, 60, 60,
- 60, 86, 88, 203, 204, 406, 283, 102, 109, 276,
- 204, 73, 62, 74, 197, 63, 60, 161, 231, 125,
- 165, 128, 130, 205, 168, 170, 142, 142, 142, 54,
- 48, 85, 87, 169, 164, 224, 446, 445, 147, 149,
- 105, 444, 198, 443, 134, 246, 46, 93, 123, 108,
- 442, 247, 255, 256, 167, 225, 263, 264, 253, 268,
- 269, 270, 259, 207, 254, 398, 397, 175, 176, 177,
- 252, 266, 234, 396, 392, 261, 391, 390, 389, 287,
- 290, 291, 188, 222, 223, 388, 250, 226, 227, 260,
- 302, 304, 306, 308, 310, 311, 201, 387, 386, 385,
- 384, 378, 292, 293, 294, 295, 313, 377, 316, 376,
- 375, 374, 373, 372, 331, 333, 334, 335, 371, 337,
- 361, 341, 360, 232, 230, 301, 229, 228, 199, 115,
- 327, 328, 329, 330, 221, 220, 219, 317, 320, 60,
- 218, 249, 60, 217, 258, 216, 215, 214, 213, 332,
- 212, 211, 210, 279, 338, 340, 209, 280, 281, 282,
- 208, 206, 285, 286, 343, 202, 196, 60, 347, 289,
- 195, 248, 194, 60, 257, 297, 299, 193, 192, 191,
- 251, 190, 79, 451, 262, 314, 189, 265, 267, 369,
- 187, 201, 323, 184, 183, 58, 182, 370, 181, 288,
- 180, 179, 178, 160, 159, 296, 60, 158, 157, 156,
- 339, 76, 342, 155, 154, 153, 152, 151, 60, 346,
- 150, 348, 349, 318, 321, 45, 44, 380, 41, 42,
- 381, 43, 350, 351, 352, 353, 354, 186, 336, 357,
- 358, 359, 298, 185, 166, 75, 62, 77, 64, 63,
- 344, 66, 103, 402, 440, 80, 111, 162, 79, 78,
- 66, 69, 68, 62, 81, 111, 63, 73, 62, 74,
- 403, 63, 407, 408, 409, 410, 411, 412, 413, 66,
- 401, 73, 460, 74, 111, 79, 78, 76, 414, 79,
- 78, 395, 430, 66, 73, 429, 74, 185, 111, 448,
- 433, 437, 438, 79, 78, 420, 421, 274, 273, 275,
- 324, 233, 449, 73, 76, 74, 432, 417, 76, 394,
- 356, 75, 162, 77, 284, 425, 428, 441, 61, 173,
- 174, 80, 76, 435, 436, 355, 450, 66, 73, 7,
- 74, 146, 111, 1, 455, 456, 298, 458, 459, 70,
- 77, 399, 400, 72, 77, 103, 71, 271, 80, 103,
- 0, 93, 80, 454, 0, 0, 110, 102, 77, 0,
- 0, 201, 107, 106, 0, 0, 80, 0, 427, 427,
- 274, 273, 275, 431, 59, 300, 303, 305, 307, 309,
- 0, 312, 0, 274, 273, 275, 238, 239, 240, 73,
- 271, 74, 325, 418, 326, 245, 244, 243, 241, 242,
- 236, 237, 238, 239, 240, 0, 422, 423, 424, 0,
- 0, 0, 141, 143, 144, 0, 0, 0, 167, 8,
- 172, 0, 173, 174, 457, 236, 237, 238, 239, 240,
- 175, 9, 10, 16, 14, 15, 13, 25, 18, 19,
- 11, 21, 24, 22, 23, 20, 0, 32, 36, 0,
- 33, 37, 39, 38, 40, 79, 78, 0, 0, 79,
- 78, 0, 0, 364, 241, 242, 236, 237, 238, 239,
- 240, 278, 0, 0, 34, 35, 5, 28, 29, 31,
- 30, 26, 27, 0, 76, 12, 17, 0, 76, 3,
- 0, 4, 0, 66, 6, 73, 62, 74, 67, 63,
- 64, 82, 83, 69, 68, 0, 81, 79, 78, 244,
- 243, 241, 242, 236, 237, 238, 239, 240, 79, 78,
- 77, 0, 75, 0, 77, 103, 0, 345, 80, 61,
- 0, 65, 80, 0, 79, 78, 76, 0, 0, 0,
- 0, 66, 0, 73, 0, 74, 67, 76, 0, 82,
- 83, 69, 68, 0, 81, 62, 79, 78, 63, 0,
- 79, 78, 0, 76, 0, 0, 79, 78, 0, 0,
- 75, 62, 77, 0, 63, 0, 0, 61, 0, 93,
- 80, 75, 0, 77, 0, 76, 79, 78, 61, 76,
- 91, 80, 73, 0, 74, 76, 0, 75, 0, 77,
- 0, 64, 0, 0, 61, 79, 78, 80, 82, 83,
- 0, 79, 78, 0, 0, 76, 0, 79, 78, 75,
- 0, 77, 0, 75, 0, 77, 103, 0, 0, 80,
- 61, 77, 93, 80, 76, 0, 103, 79, 78, 80,
- 76, 73, 0, 74, 0, 0, 76, 0, 166, 75,
- 0, 77, 0, 0, 79, 78, 103, 0, 0, 80,
- 79, 78, 0, 0, 79, 78, 76, 0, 0, 0,
- 77, 0, 0, 0, 110, 103, 77, 0, 80, 0,
- 75, 419, 77, 76, 80, 0, 0, 103, 0, 76,
- 80, 0, 0, 76, 0, 0, 0, 0, 0, 0,
- 110, 0, 77, 0, 0, 0, 0, 322, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 110, 0, 77,
- 0, 0, 0, 110, 319, 77, 0, 80, 0, 77,
- 200, 0, 0, 80, 103, 0, 0, 80, 245, 244,
- 243, 241, 242, 236, 237, 238, 239, 240, 243, 241,
- 242, 236, 237, 238, 239, 240, 0, 0, 0, 0,
+ 48, 394, 54, 90, 427, 273, 440, 58, 52, 102,
+ 80, 79, 85, 172, 94, 95, 97, 98, 100, 101,
+ 51, 57, 113, 3, 80, 79, 56, 121, 123, 125,
+ 435, 128, 130, 91, 133, 53, 278, 138, 74, 77,
+ 75, 66, 164, 117, 118, 119, 120, 454, 453, 93,
+ 96, 65, 99, 77, 134, 417, 127, 114, 94, 74,
+ 416, 75, 74, 122, 75, 406, 83, 84, 105, 136,
+ 137, 139, 140, 76, 94, 78, 80, 79, 405, 384,
+ 62, 127, 94, 81, 383, 205, 148, 150, 149, 78,
+ 50, 380, 116, 369, 104, 94, 127, 81, 368, 61,
+ 61, 61, 87, 89, 367, 77, 366, 277, 103, 110,
+ 364, 363, 316, 63, 407, 198, 64, 61, 284, 55,
+ 126, 205, 129, 131, 162, 206, 232, 143, 143, 143,
+ 169, 74, 63, 75, 171, 64, 225, 204, 205, 76,
+ 109, 78, 170, 165, 448, 47, 62, 447, 92, 81,
+ 446, 445, 248, 256, 257, 168, 226, 264, 265, 254,
+ 269, 270, 271, 260, 135, 444, 443, 94, 176, 177,
+ 178, 235, 399, 253, 398, 397, 262, 199, 255, 393,
+ 288, 291, 292, 189, 392, 267, 391, 251, 390, 389,
+ 261, 303, 305, 307, 309, 311, 312, 202, 388, 387,
+ 166, 386, 385, 293, 294, 295, 296, 314, 379, 317,
+ 115, 49, 86, 88, 378, 332, 334, 335, 336, 377,
+ 338, 106, 342, 376, 375, 374, 302, 373, 372, 124,
+ 362, 328, 329, 330, 331, 361, 233, 231, 230, 229,
+ 61, 116, 250, 61, 132, 259, 222, 221, 141, 220,
+ 333, 219, 146, 218, 280, 339, 341, 217, 281, 282,
+ 283, 216, 215, 286, 287, 344, 214, 213, 61, 348,
+ 290, 252, 318, 321, 61, 263, 298, 300, 266, 268,
+ 351, 352, 353, 354, 355, 212, 315, 358, 359, 360,
+ 370, 211, 202, 324, 59, 210, 80, 79, 209, 371,
+ 207, 203, 197, 196, 195, 194, 193, 61, 192, 200,
+ 191, 340, 190, 343, 188, 185, 184, 80, 79, 61,
+ 347, 183, 349, 350, 208, 77, 182, 181, 381, 180,
+ 67, 382, 74, 63, 75, 68, 64, 65, 83, 84,
+ 70, 69, 179, 82, 223, 224, 77, 161, 227, 228,
+ 160, 159, 249, 158, 157, 258, 156, 163, 155, 76,
+ 154, 78, 153, 152, 151, 46, 62, 45, 66, 81,
+ 44, 404, 187, 408, 409, 410, 411, 412, 413, 414,
+ 289, 299, 78, 402, 42, 43, 297, 104, 63, 415,
+ 81, 64, 67, 431, 65, 63, 430, 112, 64, 400,
+ 401, 403, 438, 439, 319, 322, 421, 422, 246, 245,
+ 244, 242, 243, 237, 238, 239, 240, 241, 67, 337,
+ 441, 461, 163, 112, 449, 434, 426, 429, 442, 234,
+ 450, 345, 186, 433, 436, 437, 357, 451, 74, 63,
+ 75, 74, 64, 75, 285, 456, 457, 356, 459, 460,
+ 67, 8, 418, 60, 67, 112, 74, 272, 75, 112,
+ 70, 69, 396, 82, 455, 275, 274, 276, 103, 174,
+ 175, 74, 202, 75, 275, 274, 276, 80, 452, 428,
+ 428, 247, 147, 2, 432, 301, 304, 306, 308, 310,
+ 395, 313, 142, 144, 145, 275, 274, 276, 325, 9,
+ 272, 74, 326, 75, 327, 1, 77, 423, 424, 425,
+ 71, 10, 11, 17, 15, 16, 14, 26, 19, 20,
+ 12, 22, 25, 23, 24, 21, 73, 33, 37, 168,
+ 34, 38, 40, 39, 41, 458, 72, 0, 186, 167,
+ 76, 176, 78, 80, 79, 0, 173, 104, 174, 175,
+ 81, 239, 240, 241, 35, 36, 6, 29, 30, 32,
+ 31, 27, 28, 80, 79, 13, 18, 0, 0, 4,
+ 0, 5, 77, 365, 7, 0, 0, 67, 0, 74,
+ 0, 75, 68, 0, 419, 83, 84, 70, 69, 0,
+ 82, 0, 77, 0, 80, 79, 0, 67, 0, 0,
+ 80, 79, 112, 0, 0, 0, 76, 0, 78, 80,
+ 79, 0, 0, 62, 0, 94, 81, 237, 238, 239,
+ 240, 241, 0, 77, 0, 0, 111, 0, 78, 77,
+ 0, 63, 108, 107, 64, 0, 81, 0, 77, 80,
+ 79, 0, 0, 0, 0, 74, 0, 75, 245, 244,
+ 242, 243, 237, 238, 239, 240, 241, 76, 0, 78,
+ 0, 0, 167, 76, 62, 78, 0, 81, 77, 0,
+ 104, 0, 76, 81, 78, 74, 0, 75, 0, 62,
+ 0, 0, 81, 246, 245, 244, 242, 243, 237, 238,
+ 239, 240, 241, 80, 79, 80, 79, 80, 79, 0,
+ 0, 0, 76, 0, 78, 0, 80, 79, 0, 104,
+ 80, 79, 81, 0, 0, 0, 0, 0, 0, 80,
+ 79, 0, 77, 0, 77, 0, 77, 0, 0, 74,
+ 0, 75, 80, 79, 0, 77, 0, 0, 0, 77,
+ 0, 0, 0, 80, 79, 0, 0, 0, 77, 0,
+ 0, 0, 80, 79, 0, 0, 299, 0, 78, 279,
+ 78, 77, 78, 104, 0, 104, 81, 104, 81, 94,
+ 81, 78, 77, 111, 0, 78, 104, 0, 346, 81,
+ 420, 77, 76, 81, 78, 0, 0, 0, 0, 104,
+ 0, 0, 81, 0, 0, 111, 0, 78, 0, 0,
+ 0, 0, 323, 0, 0, 81, 111, 0, 78, 0,
+ 0, 0, 0, 320, 0, 111, 81, 78, 0, 0,
+ 0, 0, 201, 0, 0, 81, 246, 245, 244, 242,
+ 243, 237, 238, 239, 240, 241, 244, 242, 243, 237,
+ 238, 239, 240, 241, 242, 243, 237, 238, 239, 240,
+ 241, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 235,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 236,
}
var yyPact = []int{
- -1000, 527, -1000, 253, 255, 249, -1000, 248, 69, 560,
- 349, 619, -71, 12, 393, 12, 393, 393, 765, 394,
- -23, 300, 300, 300, 300, 393, 12, 657, 13, 393,
- 7, 13, 66, -52, -71, -71, 151, 718, 718, 718,
- 151, -1000, 765, 765, -1000, -1000, -1000, 242, 239, 238,
- 237, 236, 235, 231, 230, 229, 226, 225, -1000, -1000,
- 38, 706, -1000, 55, -1000, 687, -1000, 45, -1000, 54,
- -1000, -1000, -1000, -1000, 46, 523, -1000, -1000, 765, 765,
- 765, -1000, -1000, -1000, 224, 223, 222, 220, 218, 216,
- 215, 327, 212, 765, 208, 203, 201, 200, 199, 194,
- 192, 188, -1000, 765, -1000, -1000, 667, 761, 187, 25,
- 523, 45, 183, 182, -1000, -1000, 178, 174, 173, 172,
- 170, 169, 168, 167, 165, 162, 393, 158, 157, 156,
- -1000, -1000, 151, 151, 322, -1000, 151, 151, 149, 148,
- -1000, 146, 39, 145, 399, -1000, 527, 844, -1000, 68,
- 608, 393, 393, 661, 317, 393, 393, 308, 336, 393,
- 393, 454, 29, 501, 765, -1000, -1000, 38, 765, 765,
- 765, 27, 416, 765, 765, -1000, -1000, -1000, 349, 393,
- 393, 300, 300, 300, 635, -1000, 272, 765, -1000, 12,
- 393, 393, 393, 393, 393, 393, 765, 17, -1000, -1000,
- 667, 31, 755, 738, 368, 27, 393, -1000, 393, 300,
- 300, 300, 300, 12, 393, 393, 393, 718, 12, -42,
- 393, 13, -1000, -1000, -1000, -1000, -1000, -1000, -71, 718,
- 556, 441, 380, 765, -1000, -1000, 765, 765, 765, 765,
- 765, 428, 412, 765, 765, 765, -1000, -1000, -1000, -1000,
- 144, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 142, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 16, 14, -1000, -1000, -1000, -1000, 393, -1000, 9,
- 5, 4, 2, 441, 420, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 497, -1000, 309, 294, 290, -1000, 288, 68,
+ 287, 600, 67, -67, -7, 396, -7, 396, 396, 308,
+ 554, 14, 342, 342, 342, 342, 396, -7, 630, 2,
+ 396, 17, 2, 86, -40, -67, -67, 163, 710, 710,
+ 710, 163, -1000, 308, 308, -1000, -1000, -1000, 286, 285,
+ 284, 282, 280, 278, 276, 275, 273, 272, 269, -1000,
+ -1000, 45, 684, -1000, 64, -1000, 591, -1000, 51, -1000,
+ 63, -1000, -1000, -1000, -1000, 55, 539, -1000, -1000, 308,
+ 308, 308, -1000, -1000, -1000, 264, 251, 249, 248, 243,
+ 238, 237, 362, 236, 308, 234, 232, 230, 228, 227,
+ 226, 225, 224, -1000, 308, -1000, -1000, 15, 743, 223,
+ 59, 539, 51, 222, 220, -1000, -1000, 217, 213, 207,
+ 189, 188, 184, 183, 179, 175, 173, 396, 171, 169,
+ 168, -1000, -1000, 163, 163, 393, -1000, 163, 163, 161,
+ 160, -1000, 159, 47, 158, 417, -1000, 497, 822, -1000,
+ 404, 534, 396, 396, 1, 349, 396, 396, 407, 411,
+ 396, 396, 426, 27, 679, 308, -1000, -1000, 45, 308,
+ 308, 308, 39, 436, 308, 308, -1000, -1000, -1000, 600,
+ 396, 396, 342, 342, 342, 585, -1000, 311, 308, -1000,
+ -7, 396, 396, 396, 396, 396, 396, 308, 32, -1000,
+ -1000, 15, 42, 734, 723, 456, 39, 396, -1000, 396,
+ 342, 342, 342, 342, -7, 396, 396, 396, 710, -7,
+ -23, 396, 2, -1000, -1000, -1000, -1000, -1000, -1000, -67,
+ 710, 697, 435, 688, 308, -1000, -1000, 308, 308, 308,
+ 308, 308, 440, 428, 308, 308, 308, -1000, -1000, -1000,
+ -1000, 157, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 152, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 31, 30, -1000, -1000, -1000, -1000, 396, -1000,
+ 26, 24, 18, 13, 435, 460, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 140, 135, -1000, 134, -1000, 133, -1000, 132, -1000, 131,
- -1000, -1000, 129, -1000, 123, -1000, -13, -1000, -1000, 667,
- -1000, -1000, 667, -14, -17, -1000, -1000, -1000, 122, 121,
- 120, 119, 107, 100, 99, -1000, -1000, -1000, 98, -1000,
- 96, -1000, -1000, -1000, -1000, 381, 95, -1000, 88, 87,
- 485, 485, -1000, -1000, -1000, 765, 765, 567, 852, 614,
- 305, 298, -1000, -1000, -19, -1000, -1000, -1000, -1000, -20,
- 26, 393, 393, 393, 393, 393, 393, 393, 765, -1000,
- -33, -34, 712, -1000, 300, 300, 350, 350, 350, 380,
- 380, 393, 13, -1000, 406, 362, -58, -71, -75, 526,
- 526, -1000, -1000, -1000, -1000, -1000, 314, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 667,
- -1000, 72, -1000, -1000, -1000, 65, 63, 59, 58, -12,
- -1000, -1000, 361, 402, 381, -1000, -1000, -1000, -1000, 273,
- -39, -40, 300, 393, 393, 765, 393, 393, -1000, 344,
- -1000, 376, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000,
+ -1000, 150, 149, -1000, 147, -1000, 146, -1000, 145, -1000,
+ 141, -1000, -1000, 136, -1000, 130, -1000, 11, -1000, -1000,
+ 15, -1000, -1000, 15, 6, -1, -1000, -1000, -1000, 124,
+ 123, 121, 120, 111, 110, 108, -1000, -1000, -1000, 106,
+ -1000, 101, -1000, -1000, -1000, -1000, 452, 97, -1000, 96,
+ 94, 540, 540, -1000, -1000, -1000, 308, 308, 837, 830,
+ 643, 353, 344, -1000, -1000, -2, -1000, -1000, -1000, -1000,
+ -15, 35, 396, 396, 396, 396, 396, 396, 396, 308,
+ -1000, -20, -25, 701, -1000, 342, 342, 375, 375, 375,
+ 688, 688, 396, 2, -1000, 423, 387, -51, -67, -75,
+ 608, 608, -1000, -1000, -1000, -1000, -1000, 380, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 15, -1000, 88, -1000, -1000, -1000, 87, 73, 72, 69,
+ 66, -1000, -1000, 386, 420, 452, -1000, -1000, -1000, -1000,
+ 468, -32, -33, 342, 396, 396, 308, 396, 396, -1000,
+ 383, -1000, 686, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000,
}
var yyPgo = []int{
- 0, 88, 95, 5, 12, 295, 120, 0, 90, 484,
- 129, 20, 7, 456, 453, 1, 35, 2, 3, 34,
- 13, 19, 9, 8, 449, 4, 443, 25, 441, 439,
- 50,
+ 0, 88, 42, 5, 13, 294, 200, 0, 90, 453,
+ 119, 20, 7, 536, 526, 1, 35, 2, 3, 68,
+ 26, 21, 9, 8, 510, 4, 505, 483, 23, 482,
+ 451, 210,
}
var yyR1 = []int{
- 0, 26, 26, 28, 27, 27, 27, 27, 27, 27,
- 27, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 19, 19, 7, 12, 12, 13,
- 21, 14, 24, 20, 20, 20, 23, 11, 11, 10,
- 10, 22, 25, 15, 15, 15, 15, 17, 17, 18,
- 18, 16, 5, 5, 8, 8, 6, 6, 9, 9,
- 9, 30, 30, 4, 4, 4, 3, 3, 3, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2,
+ 0, 26, 27, 26, 29, 28, 28, 28, 28, 28,
+ 28, 28, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 19, 19, 7, 12, 12,
+ 13, 21, 14, 24, 20, 20, 20, 23, 11, 11,
+ 10, 10, 22, 25, 15, 15, 15, 15, 17, 17,
+ 18, 18, 16, 5, 5, 8, 8, 6, 6, 9,
+ 9, 9, 31, 31, 4, 4, 4, 3, 3, 3,
+ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2,
}
var yyR2 = []int{
- 0, 0, 2, 0, 4, 4, 4, 2, 1, 2,
- 2, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 0, 0, 0, 3, 0, 4, 4, 4, 2, 1,
+ 2, 2, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 6, 4, 4, 6, 4, 4, 6, 6, 6,
- 4, 4, 6, 4, 6, 4, 6, 4, 4, 2,
- 6, 4, 4, 4, 6, 4, 4, 4, 4, 4,
- 4, 4, 4, 2, 2, 4, 3, 3, 5, 4,
- 4, 6, 4, 4, 6, 6, 6, 8, 4, 4,
- 3, 2, 4, 4, 6, 8, 4, 6, 4, 4,
- 6, 6, 8, 8, 8, 8, 4, 4, 4, 6,
- 4, 6, 4, 4, 2, 2, 3, 3, 3, 3,
- 2, 3, 3, 4, 4, 2, 5, 7, 4, 6,
- 6, 6, 6, 2, 4, 2, 1, 1, 1, 1,
- 1, 1, 1, 1, 4, 1, 1, 1, 4, 1,
- 4, 1, 3, 1, 2, 3, 4, 2, 2, 2,
- 3, 2, 1, 4, 3, 5, 1, 4, 4, 5,
- 7, 0, 1, 0, 2, 2, 1, 1, 1, 1,
- 1, 2, 2, 2, 3, 1, 3, 3, 3, 3,
- 3, 4, 4, 3, 3, 3,
+ 4, 4, 6, 4, 4, 6, 4, 4, 6, 6,
+ 6, 4, 4, 6, 4, 6, 4, 6, 4, 4,
+ 2, 6, 4, 4, 4, 6, 4, 4, 4, 4,
+ 4, 4, 4, 4, 2, 2, 4, 3, 3, 5,
+ 4, 4, 6, 4, 4, 6, 6, 6, 8, 4,
+ 4, 3, 2, 4, 4, 6, 8, 4, 6, 4,
+ 4, 6, 6, 8, 8, 8, 8, 4, 4, 4,
+ 6, 4, 6, 4, 4, 2, 2, 3, 3, 3,
+ 3, 2, 3, 3, 4, 4, 2, 5, 7, 4,
+ 6, 6, 6, 6, 2, 4, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 4, 1, 1, 1, 4,
+ 1, 4, 1, 3, 1, 2, 3, 4, 2, 2,
+ 2, 3, 2, 1, 4, 3, 5, 1, 4, 4,
+ 5, 7, 0, 1, 0, 2, 2, 1, 1, 1,
+ 1, 1, 2, 2, 2, 3, 1, 3, 3, 3,
+ 3, 3, 4, 4, 3, 3, 3,
}
var yyChk = []int{
- -1000, -26, -27, 72, 74, 59, 77, -29, 2, 14,
- 15, 23, 68, 19, 17, 18, 16, 69, 21, 22,
- 28, 24, 26, 27, 25, 20, 64, 65, 60, 61,
- 63, 62, 30, 33, 57, 58, 31, 34, 36, 35,
- 37, 75, 76, 76, 77, 77, 77, -7, -6, -8,
- -11, -23, -16, -17, -10, -20, -21, -12, -5, -9,
- -1, 79, 46, 49, 50, 81, 43, 48, 54, 53,
- -24, -13, -14, 45, 47, 72, 38, 74, 10, 9,
- 82, 56, 51, 52, -7, -6, -8, -6, -8, -18,
- -11, 81, -16, 81, -7, -16, -7, -7, -16, -7,
- -7, -22, -1, 79, -19, -6, 79, 78, -10, -1,
- 72, 48, -7, -16, -30, 78, -11, -11, -11, -11,
- -7, -16, -7, -6, -7, -8, 79, -7, -8, -7,
- -8, -30, -7, -11, 78, -16, -16, -17, -16, -16,
- -30, -9, -1, -9, -9, -30, -28, -2, -1, -2,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 79, -5, -2, 79, -6, 71, -1, 79, 79,
- 79, -4, 7, 9, 10, -1, -1, -1, 78, 78,
- 78, 78, 78, 78, 78, 70, 10, 78, -1, 78,
- 78, 78, 78, 78, 78, 78, 78, -12, -19, -6,
- 79, -1, 78, 78, 79, -4, 78, -30, 78, 78,
+ -1000, -26, -27, -28, 72, 74, 59, 77, -30, 2,
+ 14, 15, 23, 68, 19, 17, 18, 16, 69, 21,
+ 22, 28, 24, 26, 27, 25, 20, 64, 65, 60,
+ 61, 63, 62, 30, 33, 57, 58, 31, 34, 36,
+ 35, 37, 75, 76, 76, 77, 77, 77, -7, -6,
+ -8, -11, -23, -16, -17, -10, -20, -21, -12, -5,
+ -9, -1, 79, 46, 49, 50, 81, 43, 48, 54,
+ 53, -24, -13, -14, 45, 47, 72, 38, 74, 10,
+ 9, 82, 56, 51, 52, -7, -6, -8, -6, -8,
+ -18, -11, 81, -16, 81, -7, -16, -7, -7, -16,
+ -7, -7, -22, -1, 79, -19, -6, 79, 78, -10,
+ -1, 72, 48, -7, -16, -31, 78, -11, -11, -11,
+ -11, -7, -16, -7, -6, -7, -8, 79, -7, -8,
+ -7, -8, -31, -7, -11, 78, -16, -16, -17, -16,
+ -16, -31, -9, -1, -9, -9, -31, -29, -2, -1,
+ -2, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+ 78, 78, 79, -5, -2, 79, -6, 71, -1, 79,
+ 79, 79, -4, 7, 9, 10, -1, -1, -1, 78,
+ 78, 78, 78, 78, 78, 78, 70, 10, 78, -1,
+ 78, 78, 78, 78, 78, 78, 78, 78, -12, -19,
+ -6, 79, -1, 78, 78, 79, -4, 78, -31, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, -30, -30, -7, -11, -30, -30, 78, 78,
- 78, 79, 78, 12, -27, 77, 9, 10, 11, 12,
- 13, 7, 8, 6, 5, 4, 77, -7, -6, -8,
- -16, -10, -21, -12, -20, -7, -7, -6, -8, -23,
- -16, -11, -10, -7, -7, -10, -20, -10, -7, -7,
- -7, -5, -3, 40, 39, 41, 80, 9, 80, -1,
- -1, -1, -1, 79, 8, -1, -1, -7, -6, -8,
- -7, -7, -11, -11, -11, -11, -6, -8, 70, -1,
- -5, -16, -7, -5, -7, -5, -7, -5, -7, -5,
- -7, -7, -5, -22, -1, 80, -12, -19, -6, 79,
- -19, -6, 79, -1, 42, -5, -5, -11, -11, -11,
- -11, -7, -16, -7, -7, -7, -6, -7, -16, -8,
- -16, -7, -8, -16, -6, 81, -1, -16, -1, -1,
- -2, -2, -2, -2, -2, 7, 8, -2, -2, -2,
- 78, 78, 80, 80, -5, 80, 80, 80, 80, -3,
- -4, 78, 78, 78, 78, 78, 78, 78, 78, 80,
- -12, -12, 78, 80, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, -15, 38, 10, 78, 78, 78, -2,
- -2, -21, 48, -23, 80, 80, 79, -7, -7, -7,
- -7, -7, -7, -7, -22, 80, 80, -19, -6, 79,
- -11, -11, -10, -10, -10, -16, -25, -1, -16, -25,
- -7, -8, 10, 38, 81, -16, -16, -17, -18, 81,
- 40, -12, 78, 78, 78, 78, 78, 78, 38, 10,
- -15, 10, 80, 80, -11, -7, -7, -1, -7, -7,
- 38,
+ 78, 78, 78, -31, -31, -7, -11, -31, -31, 78,
+ 78, 78, 79, 78, 12, -28, 77, 9, 10, 11,
+ 12, 13, 7, 8, 6, 5, 4, 77, -7, -6,
+ -8, -16, -10, -21, -12, -20, -7, -7, -6, -8,
+ -23, -16, -11, -10, -7, -7, -10, -20, -10, -7,
+ -7, -7, -5, -3, 40, 39, 41, 80, 9, 80,
+ -1, -1, -1, -1, 79, 8, -1, -1, -7, -6,
+ -8, -7, -7, -11, -11, -11, -11, -6, -8, 70,
+ -1, -5, -16, -7, -5, -7, -5, -7, -5, -7,
+ -5, -7, -7, -5, -22, -1, 80, -12, -19, -6,
+ 79, -19, -6, 79, -1, 42, -5, -5, -11, -11,
+ -11, -11, -7, -16, -7, -7, -7, -6, -7, -16,
+ -8, -16, -7, -8, -16, -6, 81, -1, -16, -1,
+ -1, -2, -2, -2, -2, -2, 7, 8, -2, -2,
+ -2, 78, 78, 80, 80, -5, 80, 80, 80, 80,
+ -3, -4, 78, 78, 78, 78, 78, 78, 78, 78,
+ 80, -12, -12, 78, 80, 78, 78, 78, 78, 78,
+ 78, 78, 78, 78, -15, 38, 10, 78, 78, 78,
+ -2, -2, -21, 48, -23, 80, 80, 79, -7, -7,
+ -7, -7, -7, -7, -7, -22, 80, 80, -19, -6,
+ 79, -11, -11, -10, -10, -10, -16, -25, -1, -16,
+ -25, -7, -8, 10, 38, 81, -16, -16, -17, -18,
+ 81, 40, -12, 78, 78, 78, 78, 78, 78, 38,
+ 10, -15, 10, 80, 80, -11, -7, -7, -1, -7,
+ -7, 38,
}
var yyDef = []int{
- 1, -2, 2, 0, 0, 0, 8, 0, 0, 0,
+ 1, -2, 0, 3, 0, 0, 0, 9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 161, 0, 0, 0, 161, 0, 0, 0,
- 161, 3, 0, 0, 7, 9, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 126, 156,
- 0, 0, 137, 0, 136, 0, 139, 130, 133, 0,
- 135, 127, 128, 152, 0, 163, 169, 170, 0, 0,
- 0, 132, 129, 131, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
- 0, 0, 141, 0, 63, 64, 0, 0, 0, 0,
- 163, 0, 161, 0, 81, 162, 0, 0, 0, 0,
+ 0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 162, 0, 0, 0, 162, 0, 0,
+ 0, 162, 4, 0, 0, 8, 10, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
+ 157, 0, 0, 138, 0, 137, 0, 140, 131, 134,
+ 0, 136, 128, 129, 153, 0, 164, 170, 171, 0,
+ 0, 0, 133, 130, 132, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 105, 161, 161, 162, 110, 161, 161, 0, 0,
- 115, 0, 0, 0, 0, 123, 0, 0, 175, 0,
+ 50, 0, 0, 142, 0, 64, 65, 0, 0, 0,
+ 0, 164, 0, 162, 0, 82, 163, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 147, 148, 151, 0, 0,
- 0, 0, 0, 0, 0, 171, 172, 173, 0, 0,
- 0, 0, 0, 0, 0, 149, 0, 0, 151, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 67,
- 0, 0, 0, 0, 0, 125, 162, 80, 0, 0,
+ 0, 105, 106, 162, 162, 163, 111, 162, 162, 0,
+ 0, 116, 0, 0, 0, 0, 124, 0, 0, 176,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 106, 107, 108, 109, 111, 112, 0, 0,
- 0, 0, 0, 0, 4, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 11, 23, 24,
- 0, 35, 36, 60, 62, 12, 13, 27, 28, 30,
- 0, 29, 32, 51, 52, 55, 61, 56, 58, 57,
- 59, 0, 0, 166, 167, 168, 154, 0, 174, 0,
- 0, 0, 0, 0, 163, 164, 165, 14, 25, 26,
- 15, 16, 17, 18, 19, 20, 21, 22, 150, 33,
- 126, 0, 40, 126, 41, 126, 43, 126, 45, 126,
- 47, 48, 0, 53, 141, 65, 0, 69, 70, 0,
- 72, 73, 0, 0, 0, 78, 79, 82, 83, 0,
- 86, 88, 89, 0, 0, 96, 97, 98, 0, 100,
- 0, 102, 103, 113, 114, 0, 0, 118, 0, 0,
- 176, 177, 178, 179, 180, 0, 0, 183, 184, 185,
- 0, 0, 157, 158, 0, 138, 140, 134, 153, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
- 0, 0, 0, 124, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 116, 143, 0, 0, 0, 0, 181,
- 182, 34, 130, 31, 155, 159, 0, 37, 39, 38,
- 42, 44, 46, 50, 54, 71, 74, 75, 76, 0,
- 84, 0, 87, 90, 91, 0, 0, 0, 0, 0,
- 99, 101, 0, 144, 0, 119, 120, 121, 122, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 145, 0,
- 117, 0, 160, 77, 85, 92, 93, 142, 94, 95,
- 146,
+ 0, 0, 0, 0, 0, 0, 148, 149, 152, 0,
+ 0, 0, 0, 0, 0, 0, 172, 173, 174, 0,
+ 0, 0, 0, 0, 0, 0, 150, 0, 0, 152,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
+ 68, 0, 0, 0, 0, 0, 126, 163, 81, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 107, 108, 109, 110, 112, 113, 0,
+ 0, 0, 0, 0, 0, 5, 6, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 12, 24,
+ 25, 0, 36, 37, 61, 63, 13, 14, 28, 29,
+ 31, 0, 30, 33, 52, 53, 56, 62, 57, 59,
+ 58, 60, 0, 0, 167, 168, 169, 155, 0, 175,
+ 0, 0, 0, 0, 0, 164, 165, 166, 15, 26,
+ 27, 16, 17, 18, 19, 20, 21, 22, 23, 151,
+ 34, 127, 0, 41, 127, 42, 127, 44, 127, 46,
+ 127, 48, 49, 0, 54, 142, 66, 0, 70, 71,
+ 0, 73, 74, 0, 0, 0, 79, 80, 83, 84,
+ 0, 87, 89, 90, 0, 0, 97, 98, 99, 0,
+ 101, 0, 103, 104, 114, 115, 0, 0, 119, 0,
+ 0, 177, 178, 179, 180, 181, 0, 0, 184, 185,
+ 186, 0, 0, 158, 159, 0, 139, 141, 135, 154,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69, 0, 0, 0, 125, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 117, 144, 0, 0, 0, 0,
+ 182, 183, 35, 131, 32, 156, 160, 0, 38, 40,
+ 39, 43, 45, 47, 51, 55, 72, 75, 76, 77,
+ 0, 85, 0, 88, 91, 92, 0, 0, 0, 0,
+ 0, 100, 102, 0, 145, 0, 120, 121, 122, 123,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
+ 0, 118, 0, 161, 78, 86, 93, 94, 143, 95,
+ 96, 147,
}
var yyTok1 = []int{
Error(s string)
}
+type yyParser interface {
+ Parse(yyLexer) int
+ Lookahead() int
+}
+
+type yyParserImpl struct {
+ lookahead func() int
+}
+
+func (p *yyParserImpl) Lookahead() int {
+ return p.lookahead()
+}
+
+func yyNewParser() yyParser {
+ p := &yyParserImpl{
+ lookahead: func() int { return -1 },
+ }
+ return p
+}
+
const yyFlag = -1000
func yyTokname(c int) string {
return __yyfmt__.Sprintf("state-%v", s)
}
-func yylex1(lex yyLexer, lval *yySymType) int {
- c := 0
- char := lex.Lex(lval)
+func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
+ token = 0
+ char = lex.Lex(lval)
if char <= 0 {
- c = yyTok1[0]
+ token = yyTok1[0]
goto out
}
if char < len(yyTok1) {
- c = yyTok1[char]
+ token = yyTok1[char]
goto out
}
if char >= yyPrivate {
if char < yyPrivate+len(yyTok2) {
- c = yyTok2[char-yyPrivate]
+ token = yyTok2[char-yyPrivate]
goto out
}
}
for i := 0; i < len(yyTok3); i += 2 {
- c = yyTok3[i+0]
- if c == char {
- c = yyTok3[i+1]
+ token = yyTok3[i+0]
+ if token == char {
+ token = yyTok3[i+1]
goto out
}
}
out:
- if c == 0 {
- c = yyTok2[1] /* unknown char */
+ if token == 0 {
+ token = yyTok2[1] /* unknown char */
}
if yyDebug >= 3 {
- __yyfmt__.Printf("lex %s(%d)\n", yyTokname(c), uint(char))
+ __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
}
- return c
+ return char, token
}
func yyParse(yylex yyLexer) int {
+ return yyNewParser().Parse(yylex)
+}
+
+func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
var yyn int
var yylval yySymType
var yyVAL yySymType
+ var yyDollar []yySymType
yyS := make([]yySymType, yyMaxDepth)
Nerrs := 0 /* number of errors */
Errflag := 0 /* error recovery flag */
yystate := 0
yychar := -1
+ yytoken := -1 // yychar translated into internal numbering
+ yyrcvr.lookahead = func() int { return yychar }
+ defer func() {
+ // Make sure we report no lookahead when not parsing.
+ yychar = -1
+ yytoken = -1
+ }()
yyp := -1
goto yystack
yystack:
/* put a state and value onto the stack */
if yyDebug >= 4 {
- __yyfmt__.Printf("char %v in %v\n", yyTokname(yychar), yyStatname(yystate))
+ __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
}
yyp++
goto yydefault /* simple state */
}
if yychar < 0 {
- yychar = yylex1(yylex, &yylval)
+ yychar, yytoken = yylex1(yylex, &yylval)
}
- yyn += yychar
+ yyn += yytoken
if yyn < 0 || yyn >= yyLast {
goto yydefault
}
yyn = yyAct[yyn]
- if yyChk[yyn] == yychar { /* valid shift */
+ if yyChk[yyn] == yytoken { /* valid shift */
yychar = -1
+ yytoken = -1
yyVAL = yylval
yystate = yyn
if Errflag > 0 {
yyn = yyDef[yystate]
if yyn == -2 {
if yychar < 0 {
- yychar = yylex1(yylex, &yylval)
+ yychar, yytoken = yylex1(yylex, &yylval)
}
/* look through exception table */
}
for xi += 2; ; xi += 2 {
yyn = yyExca[xi+0]
- if yyn < 0 || yyn == yychar {
+ if yyn < 0 || yyn == yytoken {
break
}
}
Nerrs++
if yyDebug >= 1 {
__yyfmt__.Printf("%s", yyStatname(yystate))
- __yyfmt__.Printf(" saw %s\n", yyTokname(yychar))
+ __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
}
fallthrough
case 3: /* no shift yet; clobber input char */
if yyDebug >= 2 {
- __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yychar))
+ __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
}
- if yychar == yyEofCode {
+ if yytoken == yyEofCode {
goto ret1
}
yychar = -1
+ yytoken = -1
goto yynewstate /* try again in the same state */
}
}
// dummy call; replaced with literal code
switch yynt {
- case 3:
- //line a.y:75
+ case 2:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:72
{
- yyS[yypt-1].sym = asm.LabelLookup(yyS[yypt-1].sym)
- if yyS[yypt-1].sym.Type == LLAB && yyS[yypt-1].sym.Value != int64(asm.PC) {
- yyerror("redeclaration of %s", yyS[yypt-1].sym.Labelname)
- }
- yyS[yypt-1].sym.Type = LLAB
- yyS[yypt-1].sym.Value = int64(asm.PC)
+ stmtline = asm.Lineno
}
- case 5:
- //line a.y:85
+ case 4:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:79
{
- yyS[yypt-3].sym.Type = LVAR
- yyS[yypt-3].sym.Value = yyS[yypt-1].lval
+ yyDollar[1].sym = asm.LabelLookup(yyDollar[1].sym)
+ if yyDollar[1].sym.Type == LLAB && yyDollar[1].sym.Value != int64(asm.PC) {
+ yyerror("redeclaration of %s", yyDollar[1].sym.Labelname)
+ }
+ yyDollar[1].sym.Type = LLAB
+ yyDollar[1].sym.Value = int64(asm.PC)
}
case 6:
- //line a.y:90
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:89
{
- if yyS[yypt-3].sym.Value != yyS[yypt-1].lval {
- yyerror("redeclaration of %s", yyS[yypt-3].sym.Name)
- }
- yyS[yypt-3].sym.Value = yyS[yypt-1].lval
+ yyDollar[1].sym.Type = LVAR
+ yyDollar[1].sym.Value = yyDollar[3].lval
}
case 7:
- //line a.y:97
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:94
{
- nosched = int(yyS[yypt-1].lval)
+ if yyDollar[1].sym.Value != yyDollar[3].lval {
+ yyerror("redeclaration of %s", yyDollar[1].sym.Name)
+ }
+ yyDollar[1].sym.Value = yyDollar[3].lval
}
- case 11:
- //line a.y:109
+ case 8:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:101
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ nosched = int(yyDollar[1].lval)
}
case 12:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:113
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 13:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:117
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 14:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:121
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 15:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:125
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 16:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:129
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 17:
- //line a.y:136
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:133
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 18:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:140
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 19:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:144
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 20:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:148
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 21:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:152
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 22:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:156
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 23:
- //line a.y:163
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:160
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 24:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:167
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 25:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:171
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 26:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:175
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 27:
- //line a.y:182
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:179
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 28:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:186
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 29:
- //line a.y:193
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:190
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 30:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:197
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 31:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:201
{
- outgcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 32:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:205
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr, &yyDollar[6].addr)
}
case 33:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:209
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, int(yyS[yypt-0].lval), &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 34:
- //line a.y:216
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:213
{
- outgcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &nullgen)
}
case 35:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:220
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr, &yyDollar[6].addr)
}
case 36:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:224
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 37:
- //line a.y:234
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:228
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 38:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:238
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 39:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:242
{
- outgcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 40:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:246
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr, &yyDollar[6].addr)
}
case 41:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:250
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 42:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:254
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 43:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:258
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 44:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:262
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 45:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:266
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 46:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:270
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 47:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:274
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 48:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:278
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 49:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:282
{
- outcode(int(yyS[yypt-1].lval), &yyS[yypt-0].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 50:
- //line a.y:289
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:286
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[2].addr)
}
case 51:
- //line a.y:296
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:293
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 52:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:300
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 53:
- //line a.y:307
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:304
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, int(yyS[yypt-0].addr.Reg), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 54:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:311
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[4].addr)
}
case 55:
- //line a.y:319
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:315
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[6].addr)
}
case 56:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:323
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 57:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:327
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 58:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:331
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 59:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:335
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 60:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:339
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 61:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:343
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 62:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:347
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 63:
- //line a.y:356
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:351
{
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 64:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:360
{
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[2].addr)
}
case 65:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:364
{
- outcode(int(yyS[yypt-3].lval), &nullgen, 0, &yyS[yypt-1].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[2].addr)
}
case 66:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:368
{
- outcode(int(yyS[yypt-2].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[3].addr)
}
case 67:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:372
{
- outcode(int(yyS[yypt-2].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[3].addr)
}
case 68:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:376
{
- outcode(int(yyS[yypt-4].lval), &nullgen, 0, &yyS[yypt-1].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[3].addr)
}
case 69:
+ yyDollar = yyS[yypt-5 : yypt+1]
//line a.y:380
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[4].addr)
}
case 70:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:384
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 71:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:388
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-1].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 72:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:392
{
- outcode(int(yyS[yypt-3].lval), &nullgen, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[5].addr)
}
case 73:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:396
{
- outcode(int(yyS[yypt-3].lval), &nullgen, int(yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, int(yyDollar[2].lval), &yyDollar[4].addr)
}
case 74:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:400
{
- outcode(int(yyS[yypt-5].lval), &nullgen, int(yyS[yypt-4].lval), &yyS[yypt-1].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, int(yyDollar[2].lval), &yyDollar[4].addr)
}
case 75:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:404
{
- var g obj.Addr
- g = nullgen
- g.Type = obj.TYPE_CONST
- g.Offset = yyS[yypt-4].lval
- outcode(int(yyS[yypt-5].lval), &g, int(REG_R0+yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, int(yyDollar[2].lval), &yyDollar[5].addr)
}
case 76:
- //line a.y:412
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:408
{
var g obj.Addr
g = nullgen
g.Type = obj.TYPE_CONST
- g.Offset = yyS[yypt-4].lval
- outcode(int(yyS[yypt-5].lval), &g, int(REG_R0+yyS[yypt-2].lval), &yyS[yypt-0].addr)
+ g.Offset = yyDollar[2].lval
+ outcode(int(yyDollar[1].lval), &g, int(REG_R0+yyDollar[4].lval), &yyDollar[6].addr)
}
case 77:
- //line a.y:420
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:416
{
var g obj.Addr
g = nullgen
g.Type = obj.TYPE_CONST
- g.Offset = yyS[yypt-6].lval
- outcode(int(yyS[yypt-7].lval), &g, int(REG_R0+yyS[yypt-4].lval), &yyS[yypt-1].addr)
+ g.Offset = yyDollar[2].lval
+ outcode(int(yyDollar[1].lval), &g, int(REG_R0+yyDollar[4].lval), &yyDollar[6].addr)
}
case 78:
- //line a.y:431
+ yyDollar = yyS[yypt-8 : yypt+1]
+ //line a.y:424
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, int(yyS[yypt-0].lval), &nullgen)
+ var g obj.Addr
+ g = nullgen
+ g.Type = obj.TYPE_CONST
+ g.Offset = yyDollar[2].lval
+ outcode(int(yyDollar[1].lval), &g, int(REG_R0+yyDollar[4].lval), &yyDollar[7].addr)
}
case 79:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:435
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, int(yyS[yypt-0].lval), &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &nullgen)
}
case 80:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:439
{
- outcode(int(yyS[yypt-2].lval), &yyS[yypt-1].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &nullgen)
}
case 81:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:443
{
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 82:
- //line a.y:450
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:447
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &nullgen)
}
case 83:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:454
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 84:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:458
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-2].addr.Reg), &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 85:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:462
{
- outgcode(int(yyS[yypt-7].lval), &yyS[yypt-6].addr, int(yyS[yypt-4].addr.Reg), &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr)
}
case 86:
+ yyDollar = yyS[yypt-8 : yypt+1]
//line a.y:466
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr, &yyDollar[8].addr)
}
case 87:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:470
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-0].addr.Reg), &yyS[yypt-2].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 88:
- //line a.y:477
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:474
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[6].addr.Reg), &yyDollar[4].addr)
}
case 89:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:481
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 90:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:485
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-0].addr.Reg), &yyS[yypt-2].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 91:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:489
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, int(yyS[yypt-0].addr.Reg), &yyS[yypt-2].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[6].addr.Reg), &yyDollar[4].addr)
}
case 92:
- //line a.y:496
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:493
{
- outgcode(int(yyS[yypt-7].lval), &yyS[yypt-6].addr, int(yyS[yypt-4].addr.Reg), &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[6].addr.Reg), &yyDollar[4].addr)
}
case 93:
+ yyDollar = yyS[yypt-8 : yypt+1]
//line a.y:500
{
- outgcode(int(yyS[yypt-7].lval), &yyS[yypt-6].addr, int(yyS[yypt-4].addr.Reg), &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr, &yyDollar[8].addr)
}
case 94:
+ yyDollar = yyS[yypt-8 : yypt+1]
//line a.y:504
{
- outgcode(int(yyS[yypt-7].lval), &yyS[yypt-6].addr, int(yyS[yypt-4].addr.Reg), &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr, &yyDollar[8].addr)
}
case 95:
+ yyDollar = yyS[yypt-8 : yypt+1]
//line a.y:508
{
- outgcode(int(yyS[yypt-7].lval), &yyS[yypt-6].addr, int(yyS[yypt-4].addr.Reg), &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr, &yyDollar[8].addr)
}
case 96:
- //line a.y:515
+ yyDollar = yyS[yypt-8 : yypt+1]
+ //line a.y:512
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].addr.Reg), &yyDollar[6].addr, &yyDollar[8].addr)
}
case 97:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:519
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 98:
- //line a.y:527
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:523
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 99:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:531
{
- outgcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 100:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:535
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr, &yyDollar[6].addr)
}
case 101:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:539
{
- outgcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-2].addr, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 102:
+ yyDollar = yyS[yypt-6 : yypt+1]
//line a.y:543
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outgcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr, &yyDollar[6].addr)
}
case 103:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:547
{
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 104:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:551
{
- outcode(int(yyS[yypt-1].lval), &yyS[yypt-0].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 105:
- //line a.y:558
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:555
{
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 106:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:562
{
- outcode(int(yyS[yypt-2].lval), &yyS[yypt-1].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &nullgen)
}
case 107:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:566
{
- outcode(int(yyS[yypt-2].lval), &yyS[yypt-1].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 108:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:570
{
- outcode(int(yyS[yypt-2].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 109:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:574
{
- outcode(int(yyS[yypt-2].lval), &nullgen, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[3].addr)
}
case 110:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:578
{
- outcode(int(yyS[yypt-1].lval), &yyS[yypt-0].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &yyDollar[3].addr)
}
case 111:
- //line a.y:585
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:582
{
- outcode(int(yyS[yypt-2].lval), &yyS[yypt-1].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 112:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:589
{
- outcode(int(yyS[yypt-2].lval), &yyS[yypt-1].addr, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
}
case 113:
- //line a.y:596
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:593
{
- if yyS[yypt-2].addr.Type != obj.TYPE_CONST || yyS[yypt-0].addr.Type != obj.TYPE_CONST {
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &nullgen)
+ }
+ case 114:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:600
+ {
+ if yyDollar[2].addr.Type != obj.TYPE_CONST || yyDollar[4].addr.Type != obj.TYPE_CONST {
yyerror("arguments to PCDATA must be integer constants")
}
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
- case 114:
- //line a.y:606
+ case 115:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:610
{
- if yyS[yypt-2].addr.Type != obj.TYPE_CONST {
+ if yyDollar[2].addr.Type != obj.TYPE_CONST {
yyerror("index for FUNCDATA must be integer constant")
}
- if yyS[yypt-0].addr.Type != obj.TYPE_MEM || (yyS[yypt-0].addr.Name != obj.NAME_EXTERN && yyS[yypt-0].addr.Name != obj.NAME_STATIC) {
+ if yyDollar[4].addr.Type != obj.TYPE_MEM || (yyDollar[4].addr.Name != obj.NAME_EXTERN && yyDollar[4].addr.Name != obj.NAME_STATIC) {
yyerror("value for FUNCDATA must be symbol reference")
}
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
- }
- case 115:
- //line a.y:619
- {
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
}
case 116:
- //line a.y:626
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:623
{
- asm.Settext(yyS[yypt-3].addr.Sym)
- outcode(int(yyS[yypt-4].lval), &yyS[yypt-3].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &nullgen)
}
case 117:
- //line a.y:631
+ yyDollar = yyS[yypt-5 : yypt+1]
+ //line a.y:630
{
- asm.Settext(yyS[yypt-5].addr.Sym)
- outcode(int(yyS[yypt-6].lval), &yyS[yypt-5].addr, int(yyS[yypt-3].lval), &yyS[yypt-0].addr)
- if asm.Pass > 1 {
- lastpc.From3.Type = obj.TYPE_CONST
- lastpc.From3.Offset = yyS[yypt-3].lval
- }
+ asm.Settext(yyDollar[2].addr.Sym)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[5].addr)
}
case 118:
- //line a.y:643
- {
- asm.Settext(yyS[yypt-2].addr.Sym)
- outcode(int(yyS[yypt-3].lval), &yyS[yypt-2].addr, 0, &yyS[yypt-0].addr)
- }
- case 119:
- //line a.y:648
+ yyDollar = yyS[yypt-7 : yypt+1]
+ //line a.y:635
{
- asm.Settext(yyS[yypt-4].addr.Sym)
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-0].addr)
+ asm.Settext(yyDollar[2].addr.Sym)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, int(yyDollar[4].lval), &yyDollar[7].addr)
if asm.Pass > 1 {
lastpc.From3.Type = obj.TYPE_CONST
- lastpc.From3.Offset = yyS[yypt-2].lval
+ lastpc.From3.Offset = yyDollar[4].lval
}
}
+ case 119:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:647
+ {
+ asm.Settext(yyDollar[2].addr.Sym)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[4].addr)
+ }
case 120:
- //line a.y:661
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:652
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-0].addr)
+ asm.Settext(yyDollar[2].addr.Sym)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[6].addr)
if asm.Pass > 1 {
lastpc.From3.Type = obj.TYPE_CONST
- lastpc.From3.Offset = yyS[yypt-2].lval
+ lastpc.From3.Offset = yyDollar[4].lval
}
}
case 121:
- //line a.y:669
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:665
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[6].addr)
if asm.Pass > 1 {
lastpc.From3.Type = obj.TYPE_CONST
- lastpc.From3.Offset = yyS[yypt-2].lval
+ lastpc.From3.Offset = yyDollar[4].lval
}
}
case 122:
- //line a.y:677
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:673
{
- outcode(int(yyS[yypt-5].lval), &yyS[yypt-4].addr, 0, &yyS[yypt-0].addr)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[6].addr)
if asm.Pass > 1 {
lastpc.From3.Type = obj.TYPE_CONST
- lastpc.From3.Offset = yyS[yypt-2].lval
+ lastpc.From3.Offset = yyDollar[4].lval
}
}
case 123:
- //line a.y:688
+ yyDollar = yyS[yypt-6 : yypt+1]
+ //line a.y:681
{
- outcode(int(yyS[yypt-1].lval), &nullgen, 0, &nullgen)
+ outcode(int(yyDollar[1].lval), &yyDollar[2].addr, 0, &yyDollar[6].addr)
+ if asm.Pass > 1 {
+ lastpc.From3.Type = obj.TYPE_CONST
+ lastpc.From3.Offset = yyDollar[4].lval
+ }
}
case 124:
- //line a.y:694
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:692
{
- yyVAL.addr = nullgen
- yyVAL.addr.Type = obj.TYPE_BRANCH
- yyVAL.addr.Offset = yyS[yypt-3].lval + int64(asm.PC)
+ outcode(int(yyDollar[1].lval), &nullgen, 0, &nullgen)
}
case 125:
- //line a.y:700
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:698
{
- yyS[yypt-1].sym = asm.LabelLookup(yyS[yypt-1].sym)
yyVAL.addr = nullgen
- if asm.Pass == 2 && yyS[yypt-1].sym.Type != LLAB {
- yyerror("undefined label: %s", yyS[yypt-1].sym.Labelname)
- }
yyVAL.addr.Type = obj.TYPE_BRANCH
- yyVAL.addr.Offset = yyS[yypt-1].sym.Value + yyS[yypt-0].lval
+ yyVAL.addr.Offset = yyDollar[1].lval + int64(asm.PC)
}
case 126:
- //line a.y:712
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:704
{
+ yyDollar[1].sym = asm.LabelLookup(yyDollar[1].sym)
yyVAL.addr = nullgen
- yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ if asm.Pass == 2 && yyDollar[1].sym.Type != LLAB {
+ yyerror("undefined label: %s", yyDollar[1].sym.Labelname)
+ }
+ yyVAL.addr.Type = obj.TYPE_BRANCH
+ yyVAL.addr.Offset = yyDollar[1].sym.Value + yyDollar[2].lval
}
case 127:
- yyVAL.addr = yyS[yypt-0].addr
- case 128:
- yyVAL.addr = yyS[yypt-0].addr
- case 129:
- //line a.y:724
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:716
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
+ case 128:
+ yyVAL.addr = yyS[yypt-0].addr
+ case 129:
+ yyVAL.addr = yyS[yypt-0].addr
case 130:
- //line a.y:732
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:728
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval) /* whole register */
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 131:
- //line a.y:739
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:736
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval) /* whole register */
}
case 132:
- //line a.y:747
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:743
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 133:
- //line a.y:755
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:751
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 134:
- //line a.y:761
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:759
{
- if yyS[yypt-1].lval < 0 || yyS[yypt-1].lval >= 1024 {
- yyerror("SPR/DCR out of range")
- }
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-3].lval + yyS[yypt-1].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 135:
- yyVAL.addr = yyS[yypt-0].addr
- case 136:
- //line a.y:773
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:765
{
+ if yyDollar[3].lval < 0 || yyDollar[3].lval >= 1024 {
+ yyerror("SPR/DCR out of range")
+ }
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval + yyDollar[3].lval)
}
+ case 136:
+ yyVAL.addr = yyS[yypt-0].addr
case 137:
- //line a.y:781
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:777
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 138:
- //line a.y:787
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:785
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(REG_F0 + yyS[yypt-1].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 139:
- //line a.y:795
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:791
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(REG_F0 + yyDollar[3].lval)
}
case 140:
- //line a.y:801
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:799
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(REG_C0 + yyS[yypt-1].lval)
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
}
case 141:
- //line a.y:809
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:805
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
- yyVAL.addr.Reg = int16(yyS[yypt-0].lval)
+ yyVAL.addr.Reg = int16(REG_C0 + yyDollar[3].lval)
}
case 142:
- //line a.y:817
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:813
+ {
+ yyVAL.addr = nullgen
+ yyVAL.addr.Type = obj.TYPE_REG
+ yyVAL.addr.Reg = int16(yyDollar[1].lval)
+ }
+ case 143:
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:821
{
var mb, me int
var v uint32
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_CONST
- mb = int(yyS[yypt-2].lval)
- me = int(yyS[yypt-0].lval)
+ mb = int(yyDollar[1].lval)
+ me = int(yyDollar[3].lval)
if mb < 0 || mb > 31 || me < 0 || me > 31 {
yyerror("illegal mask start/end value(s)")
mb = 0
}
yyVAL.addr.Offset = int64(v)
}
- case 143:
- //line a.y:840
+ case 144:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ //line a.y:844
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
- yyVAL.addr.Offset = int64(yyS[yypt-0].lval)
+ yyVAL.addr.Offset = int64(yyDollar[1].lval)
yyVAL.addr.U.Argsize = obj.ArgsSizeUnknown
}
- case 144:
- //line a.y:847
+ case 145:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:851
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
- yyVAL.addr.Offset = -int64(yyS[yypt-0].lval)
+ yyVAL.addr.Offset = -int64(yyDollar[2].lval)
yyVAL.addr.U.Argsize = obj.ArgsSizeUnknown
}
- case 145:
- //line a.y:854
+ case 146:
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:858
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
- yyVAL.addr.Offset = int64(yyS[yypt-2].lval)
- yyVAL.addr.U.Argsize = int32(yyS[yypt-0].lval)
+ yyVAL.addr.Offset = int64(yyDollar[1].lval)
+ yyVAL.addr.U.Argsize = int32(yyDollar[3].lval)
}
- case 146:
- //line a.y:861
+ case 147:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:865
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
- yyVAL.addr.Offset = -int64(yyS[yypt-2].lval)
- yyVAL.addr.U.Argsize = int32(yyS[yypt-0].lval)
+ yyVAL.addr.Offset = -int64(yyDollar[2].lval)
+ yyVAL.addr.U.Argsize = int32(yyDollar[4].lval)
}
- case 147:
- //line a.y:870
+ case 148:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:874
{
- yyVAL.addr = yyS[yypt-0].addr
+ yyVAL.addr = yyDollar[2].addr
yyVAL.addr.Type = obj.TYPE_ADDR
}
- case 148:
- //line a.y:875
+ case 149:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:879
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_SCONST
- yyVAL.addr.U.Sval = yyS[yypt-0].sval
+ yyVAL.addr.U.Sval = yyDollar[2].sval
}
- case 149:
- //line a.y:883
+ case 150:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:887
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
- yyVAL.addr.U.Dval = yyS[yypt-0].dval
+ yyVAL.addr.U.Dval = yyDollar[2].dval
}
- case 150:
- //line a.y:889
+ case 151:
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:893
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
- yyVAL.addr.U.Dval = -yyS[yypt-0].dval
+ yyVAL.addr.U.Dval = -yyDollar[3].dval
}
- case 151:
- //line a.y:896
+ case 152:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:900
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_CONST
- yyVAL.addr.Offset = yyS[yypt-0].lval
+ yyVAL.addr.Offset = yyDollar[2].lval
}
- case 152:
- yyVAL.lval = yyS[yypt-0].lval
case 153:
- //line a.y:905
+ yyVAL.lval = yyS[yypt-0].lval
+ case 154:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:909
{
if yyVAL.lval < 0 || yyVAL.lval >= NREG {
print("register value out of range\n")
}
- yyVAL.lval = REG_R0 + yyS[yypt-1].lval
+ yyVAL.lval = REG_R0 + yyDollar[3].lval
}
- case 154:
- //line a.y:914
+ case 155:
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:918
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
- yyVAL.addr.Reg = int16(yyS[yypt-1].lval)
+ yyVAL.addr.Reg = int16(yyDollar[2].lval)
yyVAL.addr.Offset = 0
}
- case 155:
- //line a.y:921
+ case 156:
+ yyDollar = yyS[yypt-5 : yypt+1]
+ //line a.y:925
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
- yyVAL.addr.Reg = int16(yyS[yypt-3].lval)
- yyVAL.addr.Scale = int8(yyS[yypt-1].lval)
+ yyVAL.addr.Reg = int16(yyDollar[2].lval)
+ yyVAL.addr.Scale = int8(yyDollar[4].lval)
yyVAL.addr.Offset = 0
}
- case 156:
- yyVAL.addr = yyS[yypt-0].addr
case 157:
- //line a.y:932
+ yyVAL.addr = yyS[yypt-0].addr
+ case 158:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:936
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
- yyVAL.addr.Reg = int16(yyS[yypt-1].lval)
- yyVAL.addr.Offset = yyS[yypt-3].lval
+ yyVAL.addr.Reg = int16(yyDollar[3].lval)
+ yyVAL.addr.Offset = yyDollar[1].lval
}
- case 158:
- //line a.y:941
+ case 159:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ //line a.y:945
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
- yyVAL.addr.Name = int8(yyS[yypt-1].lval)
+ yyVAL.addr.Name = int8(yyDollar[3].lval)
yyVAL.addr.Sym = nil
- yyVAL.addr.Offset = yyS[yypt-3].lval
+ yyVAL.addr.Offset = yyDollar[1].lval
}
- case 159:
- //line a.y:949
+ case 160:
+ yyDollar = yyS[yypt-5 : yypt+1]
+ //line a.y:953
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
- yyVAL.addr.Name = int8(yyS[yypt-1].lval)
- yyVAL.addr.Sym = obj.Linklookup(asm.Ctxt, yyS[yypt-4].sym.Name, 0)
- yyVAL.addr.Offset = yyS[yypt-3].lval
+ yyVAL.addr.Name = int8(yyDollar[4].lval)
+ yyVAL.addr.Sym = obj.Linklookup(asm.Ctxt, yyDollar[1].sym.Name, 0)
+ yyVAL.addr.Offset = yyDollar[2].lval
}
- case 160:
- //line a.y:957
+ case 161:
+ yyDollar = yyS[yypt-7 : yypt+1]
+ //line a.y:961
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
yyVAL.addr.Name = obj.NAME_STATIC
- yyVAL.addr.Sym = obj.Linklookup(asm.Ctxt, yyS[yypt-6].sym.Name, 0)
- yyVAL.addr.Offset = yyS[yypt-3].lval
- }
- case 163:
- //line a.y:969
- {
- yyVAL.lval = 0
+ yyVAL.addr.Sym = obj.Linklookup(asm.Ctxt, yyDollar[1].sym.Name, 0)
+ yyVAL.addr.Offset = yyDollar[4].lval
}
case 164:
+ yyDollar = yyS[yypt-0 : yypt+1]
//line a.y:973
{
- yyVAL.lval = yyS[yypt-0].lval
+ yyVAL.lval = 0
}
case 165:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:977
{
- yyVAL.lval = -yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[2].lval
}
case 166:
- yyVAL.lval = yyS[yypt-0].lval
+ yyDollar = yyS[yypt-2 : yypt+1]
+ //line a.y:981
+ {
+ yyVAL.lval = -yyDollar[2].lval
+ }
case 167:
yyVAL.lval = yyS[yypt-0].lval
case 168:
case 169:
yyVAL.lval = yyS[yypt-0].lval
case 170:
- //line a.y:989
- {
- yyVAL.lval = yyS[yypt-0].sym.Value
- }
+ yyVAL.lval = yyS[yypt-0].lval
case 171:
+ yyDollar = yyS[yypt-1 : yypt+1]
//line a.y:993
{
- yyVAL.lval = -yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].sym.Value
}
case 172:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:997
{
- yyVAL.lval = yyS[yypt-0].lval
+ yyVAL.lval = -yyDollar[2].lval
}
case 173:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:1001
{
- yyVAL.lval = ^yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[2].lval
}
case 174:
+ yyDollar = yyS[yypt-2 : yypt+1]
//line a.y:1005
{
- yyVAL.lval = yyS[yypt-1].lval
+ yyVAL.lval = ^yyDollar[2].lval
}
case 175:
- yyVAL.lval = yyS[yypt-0].lval
- case 176:
- //line a.y:1012
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:1009
{
- yyVAL.lval = yyS[yypt-2].lval + yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[2].lval
}
+ case 176:
+ yyVAL.lval = yyS[yypt-0].lval
case 177:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1016
{
- yyVAL.lval = yyS[yypt-2].lval - yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval + yyDollar[3].lval
}
case 178:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1020
{
- yyVAL.lval = yyS[yypt-2].lval * yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval - yyDollar[3].lval
}
case 179:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1024
{
- yyVAL.lval = yyS[yypt-2].lval / yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval * yyDollar[3].lval
}
case 180:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1028
{
- yyVAL.lval = yyS[yypt-2].lval % yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval / yyDollar[3].lval
}
case 181:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1032
{
- yyVAL.lval = yyS[yypt-3].lval << uint(yyS[yypt-0].lval)
+ yyVAL.lval = yyDollar[1].lval % yyDollar[3].lval
}
case 182:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:1036
{
- yyVAL.lval = yyS[yypt-3].lval >> uint(yyS[yypt-0].lval)
+ yyVAL.lval = yyDollar[1].lval << uint(yyDollar[4].lval)
}
case 183:
+ yyDollar = yyS[yypt-4 : yypt+1]
//line a.y:1040
{
- yyVAL.lval = yyS[yypt-2].lval & yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval >> uint(yyDollar[4].lval)
}
case 184:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1044
{
- yyVAL.lval = yyS[yypt-2].lval ^ yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval & yyDollar[3].lval
}
case 185:
+ yyDollar = yyS[yypt-3 : yypt+1]
//line a.y:1048
{
- yyVAL.lval = yyS[yypt-2].lval | yyS[yypt-0].lval
+ yyVAL.lval = yyDollar[1].lval ^ yyDollar[3].lval
+ }
+ case 186:
+ yyDollar = yyS[yypt-3 : yypt+1]
+ //line a.y:1052
+ {
+ yyVAL.lval = yyDollar[1].lval | yyDollar[3].lval
}
}
goto yystack /* stack new state and value */