/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 640
+#define YYLAST 624
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 71
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 34
/* YYNRULES -- Number of rules. */
-#define YYNRULES 130
+#define YYNRULES 129
/* YYNRULES -- Number of states. */
-#define YYNSTATES 333
+#define YYNSTATES 330
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
80, 84, 89, 96, 104, 112, 120, 127, 134, 138,
143, 150, 159, 166, 171, 175, 181, 187, 195, 202,
215, 223, 233, 236, 241, 246, 249, 250, 253, 256,
- 257, 260, 265, 268, 271, 274, 279, 282, 284, 287,
- 291, 293, 297, 301, 303, 305, 307, 312, 314, 316,
- 318, 320, 322, 324, 326, 330, 332, 337, 339, 344,
- 346, 348, 350, 352, 355, 357, 363, 368, 373, 378,
- 383, 385, 387, 389, 391, 396, 398, 400, 402, 407,
- 409, 411, 413, 418, 423, 429, 437, 438, 441, 444,
- 446, 448, 450, 452, 454, 457, 460, 463, 467, 468,
- 471, 473, 477, 481, 485, 489, 493, 498, 503, 507,
- 511
+ 257, 260, 265, 268, 271, 274, 277, 279, 282, 286,
+ 288, 292, 296, 298, 300, 302, 307, 309, 311, 313,
+ 315, 317, 319, 321, 325, 327, 332, 334, 339, 341,
+ 343, 345, 347, 350, 352, 358, 363, 368, 373, 378,
+ 380, 382, 384, 386, 391, 393, 395, 397, 402, 404,
+ 406, 408, 413, 418, 424, 432, 433, 436, 439, 441,
+ 443, 445, 447, 449, 452, 455, 458, 462, 463, 466,
+ 468, 472, 476, 480, 484, 488, 493, 498, 502, 506
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-1, 44, 83, 64, 83, -1, 26, 78, -1, -1,
77, 53, -1, 77, 54, -1, -1, 64, 78, -1,
102, 67, 41, 68, -1, 58, 100, -1, 69, 102,
- -1, 69, 87, -1, 69, 10, 69, 87, -1, 69,
- 57, -1, 81, -1, 69, 56, -1, 69, 9, 56,
- -1, 95, -1, 95, 9, 95, -1, 95, 78, 82,
- -1, 90, -1, 80, -1, 92, -1, 92, 67, 95,
- 68, -1, 51, -1, 52, -1, 102, -1, 87, -1,
- 98, -1, 85, -1, 99, -1, 67, 95, 68, -1,
- 85, -1, 102, 67, 94, 68, -1, 99, -1, 99,
- 67, 94, 68, -1, 86, -1, 90, -1, 89, -1,
- 92, -1, 69, 102, -1, 95, -1, 67, 95, 64,
- 95, 68, -1, 95, 6, 6, 93, -1, 95, 7,
- 7, 93, -1, 95, 9, 7, 93, -1, 95, 55,
- 7, 93, -1, 95, -1, 102, -1, 46, -1, 41,
- -1, 45, 67, 104, 68, -1, 94, -1, 38, -1,
- 50, -1, 49, 67, 104, 68, -1, 98, -1, 81,
- -1, 48, -1, 47, 67, 102, 68, -1, 102, 67,
- 101, 68, -1, 58, 100, 67, 101, 68, -1, 58,
- 6, 7, 100, 67, 39, 68, -1, -1, 8, 102,
- -1, 9, 102, -1, 39, -1, 38, -1, 40, -1,
- 37, -1, 60, -1, 9, 102, -1, 8, 102, -1,
- 70, 102, -1, 67, 104, 68, -1, -1, 64, 104,
- -1, 102, -1, 104, 8, 104, -1, 104, 9, 104,
- -1, 104, 10, 104, -1, 104, 11, 104, -1, 104,
- 12, 104, -1, 104, 6, 6, 104, -1, 104, 7,
- 7, 104, -1, 104, 5, 104, -1, 104, 4, 104,
- -1, 104, 3, 104, -1
+ -1, 69, 87, -1, 69, 57, -1, 81, -1, 69,
+ 56, -1, 69, 9, 56, -1, 95, -1, 95, 9,
+ 95, -1, 95, 78, 82, -1, 90, -1, 80, -1,
+ 92, -1, 92, 67, 95, 68, -1, 51, -1, 52,
+ -1, 102, -1, 87, -1, 98, -1, 85, -1, 99,
+ -1, 67, 95, 68, -1, 85, -1, 102, 67, 94,
+ 68, -1, 99, -1, 99, 67, 94, 68, -1, 86,
+ -1, 90, -1, 89, -1, 92, -1, 69, 102, -1,
+ 95, -1, 67, 95, 64, 95, 68, -1, 95, 6,
+ 6, 93, -1, 95, 7, 7, 93, -1, 95, 9,
+ 7, 93, -1, 95, 55, 7, 93, -1, 95, -1,
+ 102, -1, 46, -1, 41, -1, 45, 67, 104, 68,
+ -1, 94, -1, 38, -1, 50, -1, 49, 67, 104,
+ 68, -1, 98, -1, 81, -1, 48, -1, 47, 67,
+ 102, 68, -1, 102, 67, 101, 68, -1, 58, 100,
+ 67, 101, 68, -1, 58, 6, 7, 100, 67, 39,
+ 68, -1, -1, 8, 102, -1, 9, 102, -1, 39,
+ -1, 38, -1, 40, -1, 37, -1, 60, -1, 9,
+ 102, -1, 8, 102, -1, 70, 102, -1, 67, 104,
+ 68, -1, -1, 64, 104, -1, 102, -1, 104, 8,
+ 104, -1, 104, 9, 104, -1, 104, 10, 104, -1,
+ 104, 11, 104, -1, 104, 12, 104, -1, 104, 6,
+ 6, 104, -1, 104, 7, 7, 104, -1, 104, 5,
+ 104, -1, 104, 4, 104, -1, 104, 3, 104, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
151, 158, 165, 172, 181, 193, 197, 201, 208, 215,
222, 229, 239, 246, 253, 260, 264, 268, 272, 279,
301, 309, 318, 325, 334, 345, 351, 354, 358, 363,
- 364, 367, 373, 383, 389, 394, 399, 405, 408, 414,
- 422, 426, 435, 441, 442, 443, 444, 449, 455, 461,
- 467, 468, 471, 472, 480, 489, 490, 499, 500, 506,
- 509, 510, 511, 513, 521, 529, 538, 544, 550, 556,
- 564, 570, 578, 579, 583, 591, 592, 598, 599, 607,
- 608, 611, 617, 625, 633, 641, 651, 654, 658, 664,
- 665, 666, 669, 670, 674, 678, 682, 686, 692, 695,
- 701, 702, 706, 710, 714, 718, 722, 726, 730, 734,
- 738
+ 364, 367, 373, 383, 389, 394, 400, 403, 409, 417,
+ 421, 430, 436, 437, 438, 439, 444, 450, 456, 462,
+ 463, 466, 467, 475, 484, 485, 494, 495, 501, 504,
+ 505, 506, 508, 516, 524, 533, 539, 545, 551, 559,
+ 565, 573, 574, 578, 586, 587, 593, 594, 602, 603,
+ 606, 612, 620, 628, 636, 646, 649, 653, 659, 660,
+ 661, 664, 665, 669, 673, 677, 681, 687, 690, 696,
+ 697, 701, 705, 709, 713, 717, 721, 725, 729, 733
};
#endif
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 77, 77, 77, 78,
- 78, 79, 79, 80, 80, 80, 80, 80, 81, 81,
- 82, 82, 82, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 84, 84, 85, 86, 86, 87, 87, 87,
- 88, 88, 88, 89, 90, 91, 92, 92, 92, 92,
- 93, 93, 94, 94, 94, 95, 95, 96, 96, 97,
- 97, 98, 98, 99, 99, 99, 100, 100, 100, 101,
- 101, 101, 102, 102, 102, 102, 102, 102, 103, 103,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 104
+ 78, 79, 79, 80, 80, 80, 80, 81, 81, 82,
+ 82, 82, 83, 83, 83, 83, 83, 83, 83, 83,
+ 83, 84, 84, 85, 86, 86, 87, 87, 87, 88,
+ 88, 88, 89, 90, 91, 92, 92, 92, 92, 93,
+ 93, 94, 94, 94, 95, 95, 96, 96, 97, 97,
+ 98, 98, 99, 99, 99, 100, 100, 100, 101, 101,
+ 101, 102, 102, 102, 102, 102, 102, 103, 103, 104,
+ 104, 104, 104, 104, 104, 104, 104, 104, 104, 104
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
3, 4, 6, 7, 7, 7, 6, 6, 3, 4,
6, 8, 6, 4, 3, 5, 5, 7, 6, 12,
7, 9, 2, 4, 4, 2, 0, 2, 2, 0,
- 2, 4, 2, 2, 2, 4, 2, 1, 2, 3,
- 1, 3, 3, 1, 1, 1, 4, 1, 1, 1,
- 1, 1, 1, 1, 3, 1, 4, 1, 4, 1,
- 1, 1, 1, 2, 1, 5, 4, 4, 4, 4,
- 1, 1, 1, 1, 4, 1, 1, 1, 4, 1,
- 1, 1, 4, 4, 5, 7, 0, 2, 2, 1,
- 1, 1, 1, 1, 2, 2, 2, 3, 0, 2,
- 1, 3, 3, 3, 3, 3, 4, 4, 3, 3,
- 3
+ 2, 4, 2, 2, 2, 2, 1, 2, 3, 1,
+ 3, 3, 1, 1, 1, 4, 1, 1, 1, 1,
+ 1, 1, 1, 3, 1, 4, 1, 4, 1, 1,
+ 1, 1, 2, 1, 5, 4, 4, 4, 4, 1,
+ 1, 1, 1, 4, 1, 1, 1, 4, 1, 1,
+ 1, 4, 4, 5, 7, 0, 2, 2, 1, 1,
+ 1, 1, 1, 2, 2, 2, 3, 0, 2, 1,
+ 3, 3, 3, 3, 3, 4, 4, 3, 3, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
46, 46, 46, 46, 46, 0, 0, 46, 49, 49,
46, 46, 46, 46, 46, 46, 49, 0, 0, 0,
0, 0, 9, 4, 0, 11, 0, 0, 0, 49,
- 49, 0, 49, 0, 0, 49, 49, 0, 0, 112,
- 106, 113, 0, 0, 0, 0, 0, 0, 45, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 75, 79,
- 42, 77, 0, 96, 93, 0, 92, 0, 101, 67,
- 68, 0, 64, 57, 0, 70, 63, 65, 95, 84,
- 71, 69, 0, 5, 0, 0, 10, 47, 48, 0,
- 0, 81, 80, 82, 0, 0, 0, 50, 106, 20,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 28,
- 115, 114, 0, 0, 0, 0, 120, 0, 116, 0,
- 0, 0, 49, 34, 0, 0, 0, 100, 0, 99,
+ 49, 0, 49, 0, 0, 49, 49, 0, 0, 111,
+ 105, 112, 0, 0, 0, 0, 0, 0, 45, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 74, 78,
+ 42, 76, 0, 95, 92, 0, 91, 0, 100, 66,
+ 67, 0, 63, 56, 0, 69, 62, 64, 94, 83,
+ 70, 68, 0, 5, 0, 0, 10, 47, 48, 0,
+ 0, 80, 79, 81, 0, 0, 0, 50, 105, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 28,
+ 114, 113, 0, 0, 0, 0, 119, 0, 115, 0,
+ 0, 0, 49, 34, 0, 0, 0, 99, 0, 98,
0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 0, 58, 56, 54, 53, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 83, 0, 0, 0,
- 106, 17, 18, 72, 73, 0, 52, 0, 21, 0,
- 0, 49, 0, 0, 0, 0, 106, 107, 108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 117, 29, 0, 110, 109, 111, 0, 0, 33, 0,
- 0, 0, 0, 0, 0, 0, 74, 0, 0, 0,
- 0, 59, 0, 43, 0, 0, 0, 0, 0, 44,
- 6, 7, 8, 14, 84, 15, 16, 52, 0, 0,
- 49, 0, 0, 0, 0, 0, 49, 0, 0, 130,
- 129, 128, 0, 0, 121, 122, 123, 124, 125, 0,
- 103, 0, 35, 0, 101, 36, 49, 0, 0, 78,
- 76, 94, 102, 55, 66, 86, 90, 91, 87, 88,
- 89, 13, 51, 22, 0, 61, 62, 0, 27, 49,
- 26, 0, 104, 126, 127, 30, 32, 0, 0, 38,
- 0, 0, 12, 24, 23, 25, 0, 0, 0, 37,
- 0, 40, 0, 105, 31, 0, 0, 0, 0, 97,
- 0, 0, 41, 0, 0, 0, 0, 118, 85, 98,
- 0, 39, 119
+ 0, 57, 55, 54, 53, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 82, 0, 0, 0, 105,
+ 17, 18, 71, 72, 0, 52, 0, 21, 0, 0,
+ 49, 0, 0, 0, 0, 105, 106, 107, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
+ 29, 0, 109, 108, 110, 0, 0, 33, 0, 0,
+ 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
+ 58, 43, 0, 0, 0, 0, 0, 44, 6, 7,
+ 8, 14, 83, 15, 16, 52, 0, 0, 49, 0,
+ 0, 0, 0, 0, 49, 0, 0, 129, 128, 127,
+ 0, 0, 120, 121, 122, 123, 124, 0, 102, 0,
+ 35, 0, 100, 36, 49, 0, 0, 77, 75, 93,
+ 101, 65, 85, 89, 90, 86, 87, 88, 13, 51,
+ 22, 0, 60, 61, 0, 27, 49, 26, 0, 103,
+ 125, 126, 30, 32, 0, 0, 38, 0, 0, 12,
+ 24, 23, 25, 0, 0, 0, 37, 0, 40, 0,
+ 104, 31, 0, 0, 0, 0, 96, 0, 0, 41,
+ 0, 0, 0, 0, 117, 84, 97, 0, 39, 118
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 3, 33, 163, 34, 36, 107, 109, 82,
- 83, 180, 84, 172, 68, 69, 85, 100, 101, 86,
- 311, 87, 275, 88, 118, 320, 138, 90, 71, 125,
- 206, 126, 331, 127
+ -1, 1, 3, 33, 162, 34, 36, 107, 109, 82,
+ 83, 179, 84, 171, 68, 69, 85, 100, 101, 86,
+ 308, 87, 272, 88, 118, 317, 138, 90, 71, 125,
+ 205, 126, 328, 127
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -125
+#define YYPACT_NINF -124
static const yytype_int16 yypact[] =
{
- -125, 7, -125, 308, -41, -125, -125, -125, -125, -19,
- -125, -125, -125, -125, -125, 80, 80, -125, -19, -19,
- -125, -125, -125, -125, -125, -125, -19, 405, 364, 364,
- -31, -15, -125, -125, -2, -125, 528, 528, 337, -18,
- -19, 409, -18, 528, 230, 187, -18, 448, 448, -125,
- 257, -125, 448, 448, -6, 15, 94, 309, -125, 49,
- 19, 44, 95, 19, 309, 309, 63, 391, -125, -125,
- -125, 90, 137, -125, -125, 145, -125, 146, -125, -125,
- -125, 66, -125, -125, 52, -125, -125, 150, -125, 147,
- -125, 137, 57, -125, 448, 448, -125, -125, -125, 448,
- 167, -125, -125, -125, 184, 200, 431, -125, 47, -125,
- 201, 364, 217, 189, 223, 221, 63, 228, -125, -125,
- -125, -125, 289, 448, 448, 231, -125, 181, -125, 411,
- 54, 448, -19, -125, 237, 238, 12, -125, 240, -125,
- 241, 244, 246, 189, -125, 245, 114, 319, 448, 448,
- 417, 243, -125, -125, -125, 137, 364, 189, 293, 312,
- 313, 341, 364, 308, 542, 552, -125, 189, 189, 364,
- 257, -125, -125, -125, -125, 282, -125, 315, -125, 189,
- 287, 42, 296, 114, 303, 63, 47, -125, -125, 54,
- 448, 448, 448, 363, 369, 448, 448, 448, 448, 448,
- -125, -125, 306, -125, -125, -125, 311, 316, -125, 53,
- 448, 321, 65, 53, 189, 189, -125, 318, 324, 250,
- 325, -125, 405, -125, 326, 391, 391, 391, 391, -125,
- -125, -125, -125, -125, 317, -125, -125, 231, 130, 328,
- -19, 323, 189, 189, 189, 189, 334, 336, 340, 602,
- 621, 628, 448, 448, 197, 197, -125, -125, -125, 352,
- -125, 49, -125, 516, 359, -125, -19, 366, 371, -125,
- -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
- -125, 189, -125, -125, 474, -125, -125, 361, -125, 165,
- -125, 399, -125, 235, 235, 432, -125, 189, 53, -125,
- 376, 189, -125, -125, -125, -125, 377, 448, 380, -125,
- 189, -125, 383, -125, -125, 112, 385, 189, 386, -125,
- 388, 189, -125, 448, 112, 382, 267, 395, -125, -125,
- 448, -125, 613
+ -124, 5, -124, 329, -61, -124, -124, -124, -124, -57,
+ -124, -124, -124, -124, -124, 157, 157, -124, -57, -57,
+ -124, -124, -124, -124, -124, -124, -57, 264, 385, 385,
+ -31, -22, -124, -124, -12, -124, 512, 512, 358, -16,
+ -57, 268, -16, 512, 191, 337, -16, 432, 432, -124,
+ 164, -124, 432, 432, 0, 9, 58, 450, -124, 15,
+ 172, 49, 235, 172, 450, 450, 11, 34, -124, -124,
+ -124, 14, 21, -124, -124, 32, -124, 46, -124, -124,
+ -124, 87, -124, -124, 59, -124, -124, 69, -124, 91,
+ -124, 21, 75, -124, 432, 432, -124, -124, -124, 432,
+ 85, -124, -124, -124, 129, 141, 405, -124, 37, -124,
+ 84, 385, 147, 80, 152, 151, 11, 178, -124, -124,
+ -124, -124, 236, 432, 432, 180, -124, 173, -124, 411,
+ 231, 432, -57, -124, 185, 186, 18, -124, 189, -124,
+ 193, 200, 201, 80, -124, 199, 107, 471, 432, 432,
+ 430, -124, -124, -124, 21, 385, 80, 269, 273, 274,
+ 277, 385, 329, 526, 536, -124, 80, 80, 385, 164,
+ -124, -124, -124, -124, 218, -124, 261, -124, 80, 243,
+ 56, 260, 107, 263, 11, 37, -124, -124, 231, 432,
+ 432, 432, 323, 326, 432, 432, 432, 432, 432, -124,
+ -124, 272, -124, -124, -124, 303, 276, -124, 44, 432,
+ 281, 63, 44, 80, 80, -124, 306, 308, 288, 311,
+ -124, -124, 312, 34, 34, 34, 34, -124, -124, -124,
+ -124, -124, 317, -124, -124, 180, 148, 316, -57, 321,
+ 80, 80, 80, 80, 322, 330, 320, 586, 605, 612,
+ 432, 432, 296, 296, -124, -124, -124, 331, -124, 15,
+ -124, 516, 334, -124, -57, 338, 343, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, 80, -124,
+ -124, 448, -124, -124, 275, -124, 214, -124, 369, -124,
+ 225, 225, 406, -124, 80, 44, -124, 350, 80, -124,
+ -124, -124, -124, 353, 432, 360, -124, 80, -124, 365,
+ -124, -124, 82, 370, 80, 368, -124, 380, 80, -124,
+ 432, 82, 378, 309, 383, -124, -124, 432, -124, 597
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -125, -125, -125, 292, -125, -125, 578, 45, 354, -56,
- 400, -48, -25, -125, -7, -42, -21, -5, -124, 5,
- -125, -10, 89, -118, -28, 140, -125, -46, 4, -90,
- 277, -4, -125, -16
+ -124, -124, -124, 287, -124, -124, 562, 10, 344, -55,
+ 389, -19, 3, -124, -43, -41, -15, -17, -123, 25,
+ -124, 132, 144, -122, -28, 137, -124, -49, 2, -92,
+ 265, 6, -124, 12
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -61
+#define YYTABLE_NINF -60
static const yytype_int16 yytable[] =
{
- 89, 89, 114, 133, 92, 201, 70, 2, 89, 89,
- 89, 55, 55, 105, 134, 89, 139, 140, 176, 54,
- 56, 211, 35, 72, 91, 91, 103, 103, 217, 218,
- 93, 94, 104, 103, 91, 97, 98, 110, 112, 145,
- 115, 102, 102, 120, 121, 40, 40, 95, 102, 128,
- 117, 242, 47, 48, 41, 123, 124, 135, 129, 144,
- 154, 96, 132, 58, 59, 218, 77, 78, 152, 141,
- 142, 66, 97, 98, 47, 150, 151, 155, 164, 165,
- 237, 49, 130, 89, 106, 181, 178, 111, 47, 48,
- 116, 119, 203, 204, 205, 166, 247, 97, 98, 173,
- 77, 78, 175, 49, 51, 131, 40, 91, -60, 184,
- 174, 52, 77, 264, 53, 145, 156, 49, 81, 187,
- 188, 162, 152, 153, 50, 202, 51, 207, 89, 224,
- 143, 223, 219, 67, 89, 295, 53, 229, 50, 234,
- 51, 89, 77, 78, 236, 220, 121, 52, 97, 98,
- 53, 240, 91, 158, 159, 74, 160, 146, 91, 75,
- 76, 318, 319, 262, 136, 91, 265, 266, 203, 204,
- 205, 239, 233, 235, 249, 250, 251, 208, 246, 254,
- 255, 256, 257, 258, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 263, 286, 287, 276, 276, 276,
- 276, 273, 161, 73, 147, 296, 74, 197, 198, 199,
- 75, 76, 148, 149, 285, 181, 181, 157, 72, 267,
- 268, 277, 277, 277, 277, 73, 243, 73, 74, 40,
- 74, 167, 75, 76, 75, 76, 293, 294, 47, 48,
- 97, 98, 303, 195, 196, 197, 198, 199, 168, 200,
- 288, 40, 309, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 122, 169, 123, 124, 49, 177, 308,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 115, 179, 316, 97, 98, 283, 302, 182, 183, 322,
- 51, 290, 185, 325, 305, 113, 186, 67, 189, 225,
- 53, 209, 210, 314, 212, 213, 312, 326, 214, 4,
- 215, 299, 222, 216, 332, 278, 279, 280, 271, 226,
- 227, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 329, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 47, 48, 73, 228, 238,
- 74, 28, 29, 241, 75, 76, 239, 203, 204, 205,
- 74, 244, 97, 98, 75, 76, 30, 245, 31, 252,
- 259, 32, 47, 48, 49, 73, 253, 221, 74, 260,
- 261, 281, 75, 76, 77, 78, 269, 284, 79, 80,
- 97, 98, 270, 272, 274, 50, 282, 51, 289, 47,
- 48, 49, 73, 291, 67, 74, 81, 53, 292, 75,
- 76, 77, 78, 47, 48, 79, 80, 47, 48, 47,
- 48, 99, 50, 298, 51, 47, 48, 304, 49, 73,
- 300, 67, 74, 81, 53, 301, 75, 76, 306, 47,
- 48, 307, 49, 310, 315, 313, 49, 317, 49, 321,
- 328, 51, 324, 323, 49, 230, 47, 48, 52, 330,
- 171, 53, 137, 50, 327, 51, 248, 108, 49, 51,
- 0, 51, 67, 221, 0, 53, 52, 51, 52, 53,
- 99, 53, 47, 48, 52, 49, 0, 53, 0, 170,
- 0, 51, 0, 0, 0, 0, 0, 0, 67, 0,
- 0, 53, 0, 0, 0, 0, 0, 0, 51, 0,
- 0, 49, 0, 0, 0, 52, 0, 0, 53, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 0,
- 0, 0, 0, 0, 51, 0, 0, 0, 0, 0,
- 0, 67, 0, 0, 53, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 0, 73, 0, 0, 74,
- 0, 0, 0, 75, 76, 0, 0, 0, 0, 0,
- 297, 97, 98, 0, 37, 38, 39, 0, 42, 43,
- 44, 45, 46, 0, 0, 57, 0, 99, 60, 61,
- 62, 63, 64, 65, 0, 231, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 232, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 192, 193, 194, 195,
- 196, 197, 198, 199, 193, 194, 195, 196, 197, 198,
- 199
+ 89, 89, 35, 114, 133, 2, 200, 40, 89, 89,
+ 89, 134, 70, 139, 140, 89, 175, 54, 56, 41,
+ 104, 55, 55, 144, 216, 217, 112, 210, 58, 59,
+ 93, 94, 92, 72, 91, 91, 66, 97, 98, 145,
+ 95, 105, 47, 48, 91, 123, 124, 110, 40, 106,
+ 115, 96, 111, 120, 121, 116, 119, 47, 48, 128,
+ 217, 102, 102, 172, 129, 240, 153, 135, 102, 131,
+ 117, 49, 73, 183, 151, 74, 130, 235, 143, 75,
+ 76, 146, 132, 89, 81, 180, 49, 154, 147, 141,
+ 142, 77, 78, 245, 51, 47, 150, 157, 158, 148,
+ 159, 52, 97, 98, 53, 165, 163, 164, 173, 51,
+ 77, 262, 174, 149, 177, 145, 52, 91, 73, 53,
+ 40, 74, -59, 155, 49, 75, 76, 89, 222, 186,
+ 187, 315, 316, 89, 292, 201, 156, 206, 232, 161,
+ 89, 244, 207, 151, 152, 50, 160, 51, 74, 166,
+ 238, 176, 75, 76, 67, 219, 121, 53, 221, 260,
+ 218, 91, 263, 264, 227, 47, 48, 91, 103, 103,
+ 122, 234, 123, 124, 91, 103, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 202, 203, 204, 237,
+ 241, 231, 233, 167, 49, 273, 273, 273, 273, 47,
+ 48, 247, 248, 249, 293, 168, 252, 253, 254, 255,
+ 256, 178, 282, 180, 180, 50, 181, 51, 182, 77,
+ 78, 261, 283, 284, 52, 97, 98, 53, 49, 274,
+ 274, 274, 274, 194, 195, 196, 197, 198, 265, 266,
+ 300, 199, 184, 185, 97, 98, 306, 188, 280, 208,
+ 209, 51, 73, 211, 287, 74, 113, 212, 67, 75,
+ 76, 53, 290, 291, 213, 214, 305, 215, 285, 202,
+ 203, 204, 47, 48, 296, 223, 47, 48, 40, 313,
+ 224, 225, 77, 78, 226, 236, 319, 115, 97, 98,
+ 322, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 49, 237, 299, 136, 49, 196, 197, 198, 239,
+ 311, 302, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 50, 309, 51, 242, 108, 243, 51, 250,
+ 4, 67, 323, 251, 53, 52, 257, 220, 53, 329,
+ 259, 301, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 269, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 47, 48, 275, 276,
+ 277, 258, 28, 29, 267, 73, 268, 326, 74, 270,
+ 271, 278, 75, 76, 279, 281, 286, 30, 289, 31,
+ 97, 98, 32, 47, 48, 49, 73, 288, 295, 74,
+ 99, 40, 297, 75, 76, 77, 78, 298, 303, 79,
+ 80, 97, 98, 47, 48, 304, 50, 307, 51, 47,
+ 48, 310, 49, 73, 312, 67, 74, 81, 53, 314,
+ 75, 76, 77, 78, 318, 320, 79, 80, 47, 48,
+ 47, 48, 49, 50, 321, 51, 325, 327, 49, 228,
+ 170, 137, 67, 246, 81, 53, 47, 48, 324, 0,
+ 0, 0, 0, 169, 0, 51, 0, 49, 0, 49,
+ 0, 51, 67, 0, 0, 53, 0, 0, 52, 0,
+ 99, 53, 0, 0, 0, 49, 220, 0, 73, 0,
+ 51, 74, 51, 0, 0, 75, 76, 52, 0, 52,
+ 53, 0, 53, 97, 98, 0, 0, 0, 51, 202,
+ 203, 204, 74, 0, 0, 67, 75, 76, 53, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 0,
+ 73, 0, 0, 74, 0, 0, 0, 75, 76, 0,
+ 0, 0, 0, 0, 0, 97, 98, 0, 37, 38,
+ 39, 0, 42, 43, 44, 45, 46, 0, 0, 57,
+ 294, 99, 60, 61, 62, 63, 64, 65, 0, 229,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 230,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 191, 192, 193, 194, 195, 196, 197, 198, 192, 193,
+ 194, 195, 196, 197, 198
};
static const yytype_int16 yycheck[] =
{
- 28, 29, 44, 59, 29, 129, 27, 0, 36, 37,
- 38, 15, 16, 38, 60, 43, 62, 63, 108, 15,
- 16, 9, 63, 27, 28, 29, 36, 37, 146, 147,
- 61, 62, 37, 43, 38, 53, 54, 41, 43, 67,
- 44, 36, 37, 47, 48, 64, 64, 62, 43, 53,
- 45, 9, 8, 9, 9, 8, 9, 61, 64, 66,
- 81, 63, 57, 18, 19, 183, 47, 48, 56, 64,
- 65, 26, 53, 54, 8, 9, 10, 81, 94, 95,
- 170, 37, 67, 111, 39, 113, 111, 42, 8, 9,
- 45, 46, 38, 39, 40, 99, 186, 53, 54, 106,
- 47, 48, 106, 37, 60, 11, 64, 111, 66, 116,
- 106, 67, 47, 48, 70, 143, 64, 37, 69, 123,
- 124, 64, 56, 57, 58, 129, 60, 131, 156, 157,
- 67, 156, 148, 67, 162, 259, 70, 162, 58, 167,
- 60, 169, 47, 48, 169, 149, 150, 67, 53, 54,
- 70, 179, 156, 6, 7, 41, 9, 67, 162, 45,
- 46, 49, 50, 209, 69, 169, 212, 213, 38, 39,
- 40, 41, 167, 168, 190, 191, 192, 132, 185, 195,
- 196, 197, 198, 199, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 210, 243, 244, 225, 226, 227,
- 228, 222, 55, 38, 67, 261, 41, 10, 11, 12,
- 45, 46, 67, 67, 242, 243, 244, 67, 222, 214,
- 215, 225, 226, 227, 228, 38, 181, 38, 41, 64,
- 41, 64, 45, 46, 45, 46, 252, 253, 8, 9,
- 53, 54, 284, 8, 9, 10, 11, 12, 64, 68,
- 245, 64, 298, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 6, 64, 8, 9, 37, 67, 297,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 284, 64, 310, 53, 54, 240, 281, 64, 67, 317,
- 60, 246, 64, 321, 289, 65, 7, 67, 67, 6,
- 70, 64, 64, 307, 64, 64, 301, 323, 64, 1,
- 64, 266, 69, 68, 330, 226, 227, 228, 68, 7,
- 7, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 68, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 8, 9, 38, 7, 67,
- 41, 43, 44, 66, 45, 46, 41, 38, 39, 40,
- 41, 65, 53, 54, 45, 46, 58, 64, 60, 6,
- 64, 63, 8, 9, 37, 38, 7, 56, 41, 68,
- 64, 64, 45, 46, 47, 48, 68, 64, 51, 52,
- 53, 54, 68, 68, 68, 58, 68, 60, 64, 8,
- 9, 37, 38, 67, 67, 41, 69, 70, 68, 45,
- 46, 47, 48, 8, 9, 51, 52, 8, 9, 8,
- 9, 69, 58, 64, 60, 8, 9, 66, 37, 38,
- 64, 67, 41, 69, 70, 64, 45, 46, 39, 8,
- 9, 9, 37, 67, 64, 68, 37, 64, 37, 64,
- 68, 60, 64, 67, 37, 163, 8, 9, 67, 64,
- 106, 70, 62, 58, 324, 60, 189, 58, 37, 60,
- -1, 60, 67, 56, -1, 70, 67, 60, 67, 70,
- 69, 70, 8, 9, 67, 37, -1, 70, -1, 58,
- -1, 60, -1, -1, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, 60, -1,
- -1, 37, -1, -1, -1, 67, -1, -1, 70, 3,
+ 28, 29, 63, 44, 59, 0, 129, 64, 36, 37,
+ 38, 60, 27, 62, 63, 43, 108, 15, 16, 9,
+ 37, 15, 16, 66, 146, 147, 43, 9, 18, 19,
+ 61, 62, 29, 27, 28, 29, 26, 53, 54, 67,
+ 62, 38, 8, 9, 38, 8, 9, 41, 64, 39,
+ 44, 63, 42, 47, 48, 45, 46, 8, 9, 53,
+ 182, 36, 37, 106, 64, 9, 81, 61, 43, 11,
+ 45, 37, 38, 116, 56, 41, 67, 169, 67, 45,
+ 46, 67, 57, 111, 69, 113, 37, 81, 67, 64,
+ 65, 47, 48, 185, 60, 8, 9, 6, 7, 67,
+ 9, 67, 53, 54, 70, 99, 94, 95, 106, 60,
+ 47, 48, 106, 67, 111, 143, 67, 111, 38, 70,
+ 64, 41, 66, 64, 37, 45, 46, 155, 156, 123,
+ 124, 49, 50, 161, 257, 129, 67, 131, 166, 64,
+ 168, 184, 132, 56, 57, 58, 55, 60, 41, 64,
+ 178, 67, 45, 46, 67, 149, 150, 70, 155, 208,
+ 148, 155, 211, 212, 161, 8, 9, 161, 36, 37,
+ 6, 168, 8, 9, 168, 43, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 38, 39, 40, 41,
+ 180, 166, 167, 64, 37, 223, 224, 225, 226, 8,
+ 9, 189, 190, 191, 259, 64, 194, 195, 196, 197,
+ 198, 64, 240, 241, 242, 58, 64, 60, 67, 47,
+ 48, 209, 241, 242, 67, 53, 54, 70, 37, 223,
+ 224, 225, 226, 8, 9, 10, 11, 12, 213, 214,
+ 281, 68, 64, 7, 53, 54, 295, 67, 238, 64,
+ 64, 60, 38, 64, 244, 41, 65, 64, 67, 45,
+ 46, 70, 250, 251, 64, 64, 294, 68, 243, 38,
+ 39, 40, 8, 9, 264, 6, 8, 9, 64, 307,
+ 7, 7, 47, 48, 7, 67, 314, 281, 53, 54,
+ 318, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 37, 41, 278, 69, 37, 10, 11, 12, 66,
+ 304, 286, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 58, 298, 60, 65, 58, 64, 60, 6,
+ 1, 67, 320, 7, 70, 67, 64, 56, 70, 327,
+ 64, 66, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 68, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 8, 9, 224, 225,
+ 226, 68, 43, 44, 68, 38, 68, 68, 41, 68,
+ 68, 64, 45, 46, 68, 64, 64, 58, 68, 60,
+ 53, 54, 63, 8, 9, 37, 38, 67, 64, 41,
+ 69, 64, 64, 45, 46, 47, 48, 64, 39, 51,
+ 52, 53, 54, 8, 9, 9, 58, 67, 60, 8,
+ 9, 68, 37, 38, 64, 67, 41, 69, 70, 64,
+ 45, 46, 47, 48, 64, 67, 51, 52, 8, 9,
+ 8, 9, 37, 58, 64, 60, 68, 64, 37, 162,
+ 106, 62, 67, 188, 69, 70, 8, 9, 321, -1,
+ -1, -1, -1, 58, -1, 60, -1, 37, -1, 37,
+ -1, 60, 67, -1, -1, 70, -1, -1, 67, -1,
+ 69, 70, -1, -1, -1, 37, 56, -1, 38, -1,
+ 60, 41, 60, -1, -1, 45, 46, 67, -1, 67,
+ 70, -1, 70, 53, 54, -1, -1, -1, 60, 38,
+ 39, 40, 41, -1, -1, 67, 45, 46, 70, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
- -1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, -1, 38, -1, -1, 41,
- -1, -1, -1, 45, 46, -1, -1, -1, -1, -1,
- 64, 53, 54, -1, 6, 7, 8, -1, 10, 11,
- 12, 13, 14, -1, -1, 17, -1, 69, 20, 21,
- 22, 23, 24, 25, -1, 63, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 63, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 5, 6, 7, 8,
- 9, 10, 11, 12, 6, 7, 8, 9, 10, 11,
- 12
+ 38, -1, -1, 41, -1, -1, -1, 45, 46, -1,
+ -1, -1, -1, -1, -1, 53, 54, -1, 6, 7,
+ 8, -1, 10, 11, 12, 13, 14, -1, -1, 17,
+ 64, 69, 20, 21, 22, 23, 24, 25, -1, 63,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 63,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 5, 6, 7, 8, 9, 10, 11, 12, 6, 7,
+ 8, 9, 10, 11, 12
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
102, 102, 6, 8, 9, 100, 102, 104, 102, 64,
67, 11, 90, 80, 98, 102, 69, 81, 97, 98,
98, 90, 90, 67, 85, 95, 67, 67, 67, 67,
- 9, 10, 56, 57, 87, 102, 64, 67, 6, 7,
- 9, 55, 64, 75, 104, 104, 102, 64, 64, 64,
- 58, 79, 84, 85, 99, 102, 100, 67, 83, 64,
- 82, 95, 64, 67, 85, 64, 7, 102, 102, 67,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 68, 89, 102, 38, 39, 40, 101, 102, 78, 64,
- 64, 9, 64, 64, 64, 64, 68, 94, 94, 104,
- 102, 56, 69, 83, 95, 6, 7, 7, 7, 83,
- 74, 63, 63, 90, 95, 90, 83, 100, 67, 41,
- 95, 66, 9, 78, 65, 64, 85, 100, 101, 104,
- 104, 104, 6, 7, 104, 104, 104, 104, 104, 64,
- 68, 64, 98, 104, 48, 98, 98, 90, 90, 68,
- 68, 68, 68, 87, 68, 93, 95, 102, 93, 93,
- 93, 64, 68, 78, 64, 95, 82, 82, 90, 64,
- 78, 67, 68, 104, 104, 89, 80, 64, 64, 78,
- 64, 64, 90, 86, 66, 90, 39, 9, 95, 98,
- 67, 91, 90, 68, 102, 64, 95, 64, 49, 50,
- 96, 64, 95, 67, 64, 95, 104, 96, 68, 68,
- 64, 103, 104
+ 9, 56, 57, 87, 102, 64, 67, 6, 7, 9,
+ 55, 64, 75, 104, 104, 102, 64, 64, 64, 58,
+ 79, 84, 85, 99, 102, 100, 67, 83, 64, 82,
+ 95, 64, 67, 85, 64, 7, 102, 102, 67, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 68,
+ 89, 102, 38, 39, 40, 101, 102, 78, 64, 64,
+ 9, 64, 64, 64, 64, 68, 94, 94, 104, 102,
+ 56, 83, 95, 6, 7, 7, 7, 83, 74, 63,
+ 63, 90, 95, 90, 83, 100, 67, 41, 95, 66,
+ 9, 78, 65, 64, 85, 100, 101, 104, 104, 104,
+ 6, 7, 104, 104, 104, 104, 104, 64, 68, 64,
+ 98, 104, 48, 98, 98, 90, 90, 68, 68, 68,
+ 68, 68, 93, 95, 102, 93, 93, 93, 64, 68,
+ 78, 64, 95, 82, 82, 90, 64, 78, 67, 68,
+ 104, 104, 89, 80, 64, 64, 78, 64, 64, 90,
+ 86, 66, 90, 39, 9, 95, 98, 67, 91, 90,
+ 68, 102, 64, 95, 64, 49, 50, 96, 64, 95,
+ 67, 64, 95, 104, 96, 68, 68, 64, 103, 104
};
#define yyerrok (yyerrstatus = 0)
case 14:
#line 113 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), NREG, &(yyvsp[(5) - (5)].addr));
+ outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 15:
#line 120 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), NREG, &(yyvsp[(5) - (5)].addr));
+ outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 16:
#line 127 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), NREG, &(yyvsp[(5) - (5)].addr));
+ outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 17:
#line 134 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, NREG, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 18:
#line 138 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, NREG, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 19:
#line 145 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, NREG, &(yyvsp[(3) - (3)].addr));
+ outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 20:
#line 152 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, NREG, &(yyvsp[(3) - (3)].addr));
+ outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 21:
#line 159 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, NREG, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &nullgen, 0, &(yyvsp[(4) - (4)].addr));
}
break;
Addr g;
g = nullgen;
- g.type = D_CONST;
+ g.type = TYPE_CONST;
g.offset = (yyvsp[(6) - (7)].lval);
- outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &(yyvsp[(3) - (7)].addr), NREG, &g);
+ outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &(yyvsp[(3) - (7)].addr), 0, &g);
}
break;
Addr g;
g = nullgen;
- g.type = D_CONST;
+ g.type = TYPE_CONST;
g.offset = (yyvsp[(4) - (7)].lval);
- outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &g, NREG, &(yyvsp[(7) - (7)].addr));
+ outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &g, 0, &(yyvsp[(7) - (7)].addr));
}
break;
case 28:
#line 209 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), (yyvsp[(2) - (3)].lval), &nullgen, NREG, &nullgen);
+ outcode((yyvsp[(1) - (3)].lval), (yyvsp[(2) - (3)].lval), &nullgen, 0, &nullgen);
}
break;
#line 216 "a.y"
{
settext((yyvsp[(2) - (4)].addr).sym);
- (yyvsp[(4) - (4)].addr).type = D_CONST2;
- (yyvsp[(4) - (4)].addr).offset2 = ArgsSizeUnknown;
+ (yyvsp[(4) - (4)].addr).type = TYPE_TEXTSIZE;
+ (yyvsp[(4) - (4)].addr).u.argsize = ArgsSizeUnknown;
outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
#line 223 "a.y"
{
settext((yyvsp[(2) - (6)].addr).sym);
- (yyvsp[(6) - (6)].addr).type = D_CONST2;
- (yyvsp[(6) - (6)].addr).offset2 = ArgsSizeUnknown;
+ (yyvsp[(6) - (6)].addr).type = TYPE_TEXTSIZE;
+ (yyvsp[(6) - (6)].addr).u.argsize = ArgsSizeUnknown;
outcode((yyvsp[(1) - (6)].lval), Always, &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
#line 230 "a.y"
{
settext((yyvsp[(2) - (8)].addr).sym);
- (yyvsp[(6) - (8)].addr).type = D_CONST2;
- (yyvsp[(6) - (8)].addr).offset2 = (yyvsp[(8) - (8)].lval);
+ (yyvsp[(6) - (8)].addr).type = TYPE_TEXTSIZE;
+ (yyvsp[(6) - (8)].addr).u.argsize = (yyvsp[(8) - (8)].lval);
outcode((yyvsp[(1) - (8)].lval), Always, &(yyvsp[(2) - (8)].addr), (yyvsp[(4) - (8)].lval), &(yyvsp[(6) - (8)].addr));
}
break;
case 33:
#line 247 "a.y"
{
- outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &(yyvsp[(3) - (4)].addr), NREG, &nullgen);
+ outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &(yyvsp[(3) - (4)].addr), 0, &nullgen);
}
break;
case 34:
#line 254 "a.y"
{
- outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, NREG, &(yyvsp[(3) - (3)].addr));
+ outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 35:
#line 261 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), NREG, &(yyvsp[(5) - (5)].addr));
+ outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 36:
#line 265 "a.y"
{
- outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), NREG, &(yyvsp[(5) - (5)].addr));
+ outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
Addr g;
g = nullgen;
- g.type = D_CONST;
+ g.type = TYPE_CONST;
g.offset =
(0xe << 24) | /* opcode */
((yyvsp[(1) - (12)].lval) << 20) | /* MCR/MRC */
(((yyvsp[(11) - (12)].lval) & 15) << 0) | /* Crm */
(((yyvsp[(12) - (12)].lval) & 7) << 5) | /* coprocessor information */
(1<<4); /* must be set */
- outcode(AMRC, Always, &nullgen, NREG, &g);
+ outcode(AMRC, Always, &nullgen, 0, &g);
}
break;
case 41:
#line 310 "a.y"
{
- (yyvsp[(7) - (9)].addr).type = D_REGREG2;
+ (yyvsp[(7) - (9)].addr).type = TYPE_REGREG2;
(yyvsp[(7) - (9)].addr).offset = (yyvsp[(9) - (9)].lval);
outcode((yyvsp[(1) - (9)].lval), (yyvsp[(2) - (9)].lval), &(yyvsp[(3) - (9)].addr), (yyvsp[(5) - (9)].addr).reg, &(yyvsp[(7) - (9)].addr));
}
case 42:
#line 319 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), Always, &(yyvsp[(2) - (2)].addr), NREG, &nullgen);
+ outcode((yyvsp[(1) - (2)].lval), Always, &(yyvsp[(2) - (2)].addr), 0, &nullgen);
}
break;
case 43:
#line 326 "a.y"
{
- if((yyvsp[(2) - (4)].addr).type != D_CONST || (yyvsp[(4) - (4)].addr).type != D_CONST)
+ if((yyvsp[(2) - (4)].addr).type != TYPE_CONST || (yyvsp[(4) - (4)].addr).type != TYPE_CONST)
yyerror("arguments to PCDATA must be integer constants");
- outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), NREG, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 44:
#line 335 "a.y"
{
- if((yyvsp[(2) - (4)].addr).type != D_CONST)
+ if((yyvsp[(2) - (4)].addr).type != TYPE_CONST)
yyerror("index for FUNCDATA must be integer constant");
- if((yyvsp[(4) - (4)].addr).type != D_EXTERN && (yyvsp[(4) - (4)].addr).type != D_STATIC && (yyvsp[(4) - (4)].addr).type != D_OREG)
+ if((yyvsp[(4) - (4)].addr).type != NAME_EXTERN && (yyvsp[(4) - (4)].addr).type != NAME_STATIC && (yyvsp[(4) - (4)].addr).type != TYPE_MEM)
yyerror("value for FUNCDATA must be symbol reference");
- outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), NREG, &(yyvsp[(4) - (4)].addr));
+ outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 45:
#line 346 "a.y"
{
- outcode((yyvsp[(1) - (2)].lval), Always, &nullgen, NREG, &nullgen);
+ outcode((yyvsp[(1) - (2)].lval), Always, &nullgen, 0, &nullgen);
}
break;
#line 368 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_BRANCH;
+ (yyval.addr).type = TYPE_BRANCH;
(yyval.addr).offset = (yyvsp[(1) - (4)].lval) + pc;
}
break;
(yyval.addr) = nullgen;
if(pass == 2 && (yyvsp[(1) - (2)].sym)->type != LLAB)
yyerror("undefined label: %s", (yyvsp[(1) - (2)].sym)->labelname);
- (yyval.addr).type = D_BRANCH;
+ (yyval.addr).type = TYPE_BRANCH;
(yyval.addr).offset = (yyvsp[(1) - (2)].sym)->value + (yyvsp[(2) - (2)].lval);
}
break;
#line 384 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_CONST;
+ (yyval.addr).type = TYPE_CONST;
(yyval.addr).offset = (yyvsp[(2) - (2)].lval);
}
break;
#line 390 "a.y"
{
(yyval.addr) = (yyvsp[(2) - (2)].addr);
- (yyval.addr).type = D_CONST;
+ (yyval.addr).type = TYPE_CONST;
}
break;
case 55:
#line 395 "a.y"
- {
- (yyval.addr) = (yyvsp[(4) - (4)].addr);
- (yyval.addr).type = D_OCONST;
- }
- break;
-
- case 56:
-#line 400 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_SCONST;
+ (yyval.addr).type = TYPE_SCONST;
memcpy((yyval.addr).u.sval, (yyvsp[(2) - (2)].sval), sizeof((yyval.addr).u.sval));
}
break;
- case 58:
-#line 409 "a.y"
+ case 57:
+#line 404 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_FCONST;
+ (yyval.addr).type = TYPE_FCONST;
(yyval.addr).u.dval = (yyvsp[(2) - (2)].dval);
}
break;
- case 59:
-#line 415 "a.y"
+ case 58:
+#line 410 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_FCONST;
+ (yyval.addr).type = TYPE_FCONST;
(yyval.addr).u.dval = -(yyvsp[(3) - (3)].dval);
}
break;
- case 60:
-#line 423 "a.y"
+ case 59:
+#line 418 "a.y"
{
(yyval.lval) = 1 << (yyvsp[(1) - (1)].lval);
}
break;
- case 61:
-#line 427 "a.y"
+ case 60:
+#line 422 "a.y"
{
int i;
(yyval.lval)=0;
}
break;
- case 62:
-#line 436 "a.y"
+ case 61:
+#line 431 "a.y"
{
(yyval.lval) = (1<<(yyvsp[(1) - (3)].lval)) | (yyvsp[(3) - (3)].lval);
}
break;
- case 66:
-#line 445 "a.y"
+ case 65:
+#line 440 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (4)].addr);
(yyval.addr).reg = (yyvsp[(3) - (4)].lval);
}
break;
- case 67:
-#line 450 "a.y"
+ case 66:
+#line 445 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_PSR;
+ (yyval.addr).type = TYPE_REG;
(yyval.addr).reg = (yyvsp[(1) - (1)].lval);
}
break;
- case 68:
-#line 456 "a.y"
+ case 67:
+#line 451 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_FPCR;
+ (yyval.addr).type = TYPE_REG;
(yyval.addr).reg = (yyvsp[(1) - (1)].lval);
}
break;
- case 69:
-#line 462 "a.y"
+ case 68:
+#line 457 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).offset = (yyvsp[(1) - (1)].lval);
}
break;
- case 73:
-#line 473 "a.y"
+ case 72:
+#line 468 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (1)].addr);
- if((yyvsp[(1) - (1)].addr).name != D_EXTERN && (yyvsp[(1) - (1)].addr).name != D_STATIC) {
+ if((yyvsp[(1) - (1)].addr).name != NAME_EXTERN && (yyvsp[(1) - (1)].addr).name != NAME_STATIC) {
}
}
break;
- case 74:
-#line 481 "a.y"
+ case 73:
+#line 476 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).reg = (yyvsp[(2) - (3)].lval);
(yyval.addr).offset = 0;
}
break;
- case 76:
-#line 491 "a.y"
+ case 75:
+#line 486 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).reg = (yyvsp[(3) - (4)].lval);
(yyval.addr).offset = (yyvsp[(1) - (4)].lval);
}
break;
- case 78:
-#line 501 "a.y"
+ case 77:
+#line 496 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (4)].addr);
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).reg = (yyvsp[(3) - (4)].lval);
}
break;
- case 83:
-#line 514 "a.y"
+ case 82:
+#line 509 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_CONST;
+ (yyval.addr).type = TYPE_CONST;
(yyval.addr).offset = (yyvsp[(2) - (2)].lval);
}
break;
- case 84:
-#line 522 "a.y"
+ case 83:
+#line 517 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_REG;
+ (yyval.addr).type = TYPE_REG;
(yyval.addr).reg = (yyvsp[(1) - (1)].lval);
}
break;
- case 85:
-#line 530 "a.y"
+ case 84:
+#line 525 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_REGREG;
+ (yyval.addr).type = TYPE_REGREG;
(yyval.addr).reg = (yyvsp[(2) - (5)].lval);
(yyval.addr).offset = (yyvsp[(4) - (5)].lval);
}
break;
- case 86:
-#line 539 "a.y"
+ case 85:
+#line 534 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_SHIFT;
- (yyval.addr).offset = (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval) | (0 << 5);
+ (yyval.addr).type = TYPE_SHIFT;
+ (yyval.addr).offset = (yyvsp[(1) - (4)].lval)&15 | (yyvsp[(4) - (4)].lval) | (0 << 5);
}
break;
- case 87:
-#line 545 "a.y"
+ case 86:
+#line 540 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_SHIFT;
- (yyval.addr).offset = (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval) | (1 << 5);
+ (yyval.addr).type = TYPE_SHIFT;
+ (yyval.addr).offset = (yyvsp[(1) - (4)].lval)&15 | (yyvsp[(4) - (4)].lval) | (1 << 5);
}
break;
- case 88:
-#line 551 "a.y"
+ case 87:
+#line 546 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_SHIFT;
- (yyval.addr).offset = (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval) | (2 << 5);
+ (yyval.addr).type = TYPE_SHIFT;
+ (yyval.addr).offset = (yyvsp[(1) - (4)].lval)&15 | (yyvsp[(4) - (4)].lval) | (2 << 5);
}
break;
- case 89:
-#line 557 "a.y"
+ case 88:
+#line 552 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_SHIFT;
- (yyval.addr).offset = (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval) | (3 << 5);
+ (yyval.addr).type = TYPE_SHIFT;
+ (yyval.addr).offset = (yyvsp[(1) - (4)].lval)&15 | (yyvsp[(4) - (4)].lval) | (3 << 5);
}
break;
- case 90:
-#line 565 "a.y"
+ case 89:
+#line 560 "a.y"
{
- if((yyval.lval) < 0 || (yyval.lval) >= 16)
- print("register value out of range\n");
+ if((yyval.lval) < REG_R0 || (yyval.lval) > REG_R15)
+ print("register value out of range in shift\n");
(yyval.lval) = (((yyvsp[(1) - (1)].lval)&15) << 8) | (1 << 4);
}
break;
- case 91:
-#line 571 "a.y"
+ case 90:
+#line 566 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= 32)
print("shift value out of range\n");
}
break;
- case 93:
-#line 580 "a.y"
+ case 92:
+#line 575 "a.y"
{
(yyval.lval) = REGPC;
}
break;
- case 94:
-#line 584 "a.y"
+ case 93:
+#line 579 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
- print("register value out of range\n");
- (yyval.lval) = (yyvsp[(3) - (4)].lval);
+ print("register value out of range in R(...)\n");
+ (yyval.lval) = REG_R0 + (yyvsp[(3) - (4)].lval);
}
break;
- case 96:
-#line 593 "a.y"
+ case 95:
+#line 588 "a.y"
{
(yyval.lval) = REGSP;
}
break;
- case 98:
-#line 600 "a.y"
+ case 97:
+#line 595 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
- print("register value out of range\n");
- (yyval.lval) = (yyvsp[(3) - (4)].lval);
+ print("register value out of range in C(...)\n");
+ (yyval.lval) = (yyvsp[(3) - (4)].lval); // TODO(rsc): REG_C0+$3
}
break;
- case 101:
-#line 612 "a.y"
+ case 100:
+#line 607 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_FREG;
+ (yyval.addr).type = TYPE_REG;
(yyval.addr).reg = (yyvsp[(1) - (1)].lval);
}
break;
- case 102:
-#line 618 "a.y"
+ case 101:
+#line 613 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_FREG;
- (yyval.addr).reg = (yyvsp[(3) - (4)].lval);
+ (yyval.addr).type = TYPE_REG;
+ (yyval.addr).reg = REG_F0 + (yyvsp[(3) - (4)].lval);
}
break;
- case 103:
-#line 626 "a.y"
+ case 102:
+#line 621 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).name = (yyvsp[(3) - (4)].lval);
(yyval.addr).sym = nil;
(yyval.addr).offset = (yyvsp[(1) - (4)].lval);
}
break;
- case 104:
-#line 634 "a.y"
+ case 103:
+#line 629 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
+ (yyval.addr).type = TYPE_MEM;
(yyval.addr).name = (yyvsp[(4) - (5)].lval);
(yyval.addr).sym = linklookup(ctxt, (yyvsp[(1) - (5)].sym)->name, 0);
(yyval.addr).offset = (yyvsp[(2) - (5)].lval);
}
break;
- case 105:
-#line 642 "a.y"
+ case 104:
+#line 637 "a.y"
{
(yyval.addr) = nullgen;
- (yyval.addr).type = D_OREG;
- (yyval.addr).name = D_STATIC;
+ (yyval.addr).type = TYPE_MEM;
+ (yyval.addr).name = NAME_STATIC;
(yyval.addr).sym = linklookup(ctxt, (yyvsp[(1) - (7)].sym)->name, 1);
(yyval.addr).offset = (yyvsp[(4) - (7)].lval);
}
break;
- case 106:
-#line 651 "a.y"
+ case 105:
+#line 646 "a.y"
{
(yyval.lval) = 0;
}
break;
- case 107:
-#line 655 "a.y"
+ case 106:
+#line 650 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 108:
-#line 659 "a.y"
+ case 107:
+#line 654 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
- case 113:
-#line 671 "a.y"
+ case 112:
+#line 666 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
break;
- case 114:
-#line 675 "a.y"
+ case 113:
+#line 670 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
- case 115:
-#line 679 "a.y"
+ case 114:
+#line 674 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 116:
-#line 683 "a.y"
+ case 115:
+#line 678 "a.y"
{
(yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
break;
- case 117:
-#line 687 "a.y"
+ case 116:
+#line 682 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (3)].lval);
}
break;
- case 118:
-#line 692 "a.y"
+ case 117:
+#line 687 "a.y"
{
(yyval.lval) = 0;
}
break;
- case 119:
-#line 696 "a.y"
+ case 118:
+#line 691 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 121:
-#line 703 "a.y"
+ case 120:
+#line 698 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
break;
- case 122:
-#line 707 "a.y"
+ case 121:
+#line 702 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
break;
- case 123:
-#line 711 "a.y"
+ case 122:
+#line 706 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
break;
- case 124:
-#line 715 "a.y"
+ case 123:
+#line 710 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
break;
- case 125:
-#line 719 "a.y"
+ case 124:
+#line 714 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
break;
- case 126:
-#line 723 "a.y"
+ case 125:
+#line 718 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
break;
- case 127:
-#line 727 "a.y"
+ case 126:
+#line 722 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
break;
- case 128:
-#line 731 "a.y"
+ case 127:
+#line 726 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
break;
- case 129:
-#line 735 "a.y"
+ case 128:
+#line 730 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
}
break;
- case 130:
-#line 739 "a.y"
+ case 129:
+#line 734 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
/* Line 1267 of yacc.c. */
-#line 2576 "y.tab.c"
+#line 2556 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);