/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 674
+#define YYLAST 692
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96
/* YYNRULES -- Number of rules. */
#define YYNRULES 258
/* YYNRULES -- Number of states. */
-#define YYNSTATES 570
+#define YYNSTATES 572
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
93, 176, 93, 176, -1, 21, 176, 93, 6, -1,
-1, 93, 131, -1, -1, 93, 131, -1, 93, 131,
93, 131, -1, 131, 83, 131, -1, 94, 131, 95,
- -1, 178, -1, 91, 178, -1, 176, -1, 6, -1,
+ -1, 177, -1, 91, 177, -1, 176, -1, 6, -1,
14, 165, 176, 93, 176, 93, 176, 93, 176, 140,
134, 80, 135, 81, -1, -1, 134, 62, 131, -1,
134, 61, 131, -1, 134, 59, 6, -1, 134, 128,
242, 0, 177, 188, 189, 0, 53, 13, 67, 12,
0, 15, 14, 66, 64, 0, 0, 63, 106, 62,
0, 0, 0, 0, 0, 0, 0, 122, 115, 116,
- 119, 120, 121, 0, 173, 241, 0, 0, 107, 0,
+ 119, 120, 121, 0, 173, 241, 0, 0, 107, 255,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 60,
- 118, 0, 117, 114, 113, 112, 0, 174, 0, 178,
- 201, 202, 203, 98, 105, 104, 184, 184, 82, 84,
- 85, 77, 78, 80, 81, 83, 79, 75, 0, 74,
- 76, 184, 72, 73, 88, 87, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 110, 0, 0, 0,
- 0, 0, 0, 98, 184, 184, 133, 135, 136, 128,
- 129, 131, 132, 134, 130, 126, 0, 125, 127, 184,
- 123, 124, 139, 138, 137, 179, 204, 0, 0, 0,
+ 0, 60, 118, 0, 117, 114, 113, 112, 0, 174,
+ 0, 178, 201, 202, 203, 98, 105, 104, 184, 184,
+ 82, 84, 85, 77, 78, 80, 81, 83, 79, 75,
+ 0, 74, 76, 184, 72, 73, 88, 87, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
- 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 150, 0, 0, 0, 0, 92, 0, 0, 0, 0,
- 149, 0, 0, 0, 0, 0, 89, 0, 0, 0,
- 151, 92, 0, 0, 0, 0, 0, 99, 0, 140,
- 0, 0, 0, 0, 0, 0, 91, 0, 0, 101,
- 0, 93, 99, 100, 0, 0, 0, 147, 0, 0,
- 90, 0, 101, 102, 145, 0, 94, 0, 147, 0,
- 144, 146, 0, 0, 0, 145, 103, 0, 95, 97,
- 143, 0, 0, 145, 96, 0, 142, 147, 145, 141
+ 0, 0, 0, 0, 0, 0, 0, 0, 110, 0,
+ 0, 0, 0, 0, 0, 98, 184, 184, 133, 135,
+ 136, 128, 129, 131, 132, 134, 130, 126, 0, 125,
+ 127, 184, 123, 124, 139, 138, 137, 179, 204, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 109, 0, 108, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 150, 0, 0, 0, 0, 92, 0, 0,
+ 0, 0, 149, 0, 0, 0, 0, 0, 89, 0,
+ 0, 0, 151, 92, 0, 0, 0, 0, 0, 99,
+ 0, 140, 0, 0, 0, 0, 0, 0, 91, 0,
+ 0, 101, 0, 93, 99, 100, 0, 0, 0, 147,
+ 0, 0, 90, 0, 101, 102, 145, 0, 94, 0,
+ 147, 0, 144, 146, 0, 0, 0, 145, 103, 0,
+ 95, 97, 143, 0, 0, 145, 96, 0, 142, 147,
+ 145, 141
};
/* YYDEFGOTO[NTERM-NUM]. */
{
-1, 1, 2, 15, 23, 21, 322, 323, 55, 123,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 166, 245, 274, 275, 67, 276, 330, 388, 397,
- 506, 402, 303, 526, 537, 327, 479, 68, 308, 376,
- 450, 436, 445, 550, 278, 339, 500, 69, 152, 175,
+ 66, 166, 245, 274, 275, 67, 276, 330, 390, 399,
+ 508, 404, 303, 528, 539, 327, 481, 68, 308, 378,
+ 452, 438, 447, 552, 278, 339, 502, 69, 152, 175,
235, 70, 154, 176, 237, 239, 16, 17, 85, 146,
- 71, 134, 184, 206, 264, 293, 381, 72, 243, 22,
+ 71, 134, 184, 206, 264, 293, 383, 72, 243, 22,
80, 81, 124, 113, 114, 115, 125, 172, 126, 257,
319, 19, 20
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -492
+#define YYPACT_NINF -435
static const short yypact[] =
{
- -492, 13, 3, -492, -492, -492, -492, -492, -492, -492,
- 238, 238, 238, 64, 238, -492, -492, -56, -492, 405,
- -492, 363, 617, 238, -492, -492, -492, -492, 556, -492,
- 363, 238, 238, 238, 238, 238, 238, 238, -492, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
- -492, -492, -45, -53, -492, 82, -492, 232, 368, 309,
- 134, 134, -492, -492, 617, 282, 282, 80, 80, 617,
- 617, 282, 282, 617, 282, 282, 282, 80, 282, 282,
- 238, 238, 238, -492, -492, -492, 238, -492, -44, -38,
- -492, -492, -492, -492, 18, -492, -492, -492, -23, 11,
- 199, 289, -492, -492, 407, -492, -492, -492, 34, -492,
- -492, -492, -492, 95, -492, -492, 67, -492, 41, 238,
- 238, -492, -492, -492, -492, 238, 238, 238, 238, 238,
- 238, 238, -492, 238, 238, -492, 26, -492, -492, -492,
- -492, 241, -52, 97, 103, 128, 175, 112, 115, -492,
- -492, -492, -492, -492, -27, -492, -492, 121, -492, 123,
- -492, -492, -492, 57, 238, 238, -5, 86, -492, -1,
- 109, -492, 238, 238, 139, -492, -492, 359, 238, 238,
- -492, -492, -492, -492, 278, 131, 144, -44, -492, 148,
- 161, -492, 174, 181, 185, 192, -492, 198, 198, -492,
- -492, 238, 238, 238, 204, 214, 238, -492, 238, 218,
- 238, 238, -492, 179, 498, -492, -492, -492, 211, 148,
- 148, 148, 148, 148, 148, 148, -492, 217, 220, 233,
- 220, -492, 234, 247, -30, -492, 238, -492, -492, -492,
- -492, -492, -492, -492, 253, -492, 330, 238, -492, -492,
- -492, -492, -492, -492, -492, -492, 238, 238, 238, 238,
- 169, -492, -492, -492, -492, 498, 206, 238, 32, 293,
- 12, 12, -492, -492, -492, -492, -492, -492, 341, 261,
- -492, 271, 220, -492, -492, 272, -492, -492, -492, -492,
- 273, -492, -492, -492, -492, 64, 12, 231, -492, 231,
- 565, 206, 238, 32, 297, 12, 12, -492, -492, -492,
- -492, -492, -492, 52, -492, 238, 215, 362, -492, -7,
- 12, 32, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 238, 238, 238, 32, 238, 365, 365, 365, -492,
- -492, 290, -492, -492, 231, 231, 583, -492, 294, 220,
- -492, 313, -492, -492, -492, -492, -44, -44, -492, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, 314, -492,
- -492, -44, -492, -492, -492, -492, -492, 402, 32, 403,
- 403, 403, 403, 403, 403, 403, 403, 403, 238, 238,
- 238, 32, 238, 403, 403, 403, -492, 238, 238, 238,
- 238, 238, 238, 321, -44, -44, -492, -492, -492, -492,
- -492, -492, -492, -492, -492, -492, 331, -492, -492, -44,
- -492, -492, -492, -492, -492, -492, -492, 338, 347, 349,
- 350, 238, 238, 238, 238, 238, 238, 238, 238, 221,
- 351, 353, 354, 356, 357, 376, 377, 378, -492, 409,
- -492, 238, 238, 238, 238, 221, 238, 238, 238, 12,
- 415, 422, 430, 431, 434, 435, 436, 437, 47, 238,
- -492, 238, 238, 238, 12, 238, -492, 238, 238, 238,
- -492, 435, 438, 439, 58, 442, 444, 445, 447, -492,
- 238, 238, 238, 238, 238, 12, -492, 238, 452, 453,
- 456, 458, 445, 231, 460, 238, 12, 211, 238, 12,
- -492, 238, 453, 94, 388, 461, 96, 462, 211, 12,
- -492, -492, 238, 12, 238, 388, 231, 463, 231, 464,
- -492, 238, 12, 135, 231, 12, -492, 111, 388, -492
+ -435, 7, 81, -435, -435, -435, -435, -435, -435, -435,
+ 93, 93, 93, 39, 93, -435, -435, -58, -435, 596,
+ -435, 393, 635, 93, -435, -435, -435, -435, 558, -435,
+ 393, 93, 93, 93, 93, 93, 93, 93, -435, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ -435, -435, 230, -80, -435, 108, -435, 371, 391, 356,
+ -37, -37, -435, -435, 635, 382, 382, 87, 87, 635,
+ 635, 382, 382, 635, 382, 382, 382, 87, 382, 382,
+ 93, 93, 93, -435, -435, -435, 93, -435, -64, 70,
+ -435, -435, -435, -435, 177, -435, -435, -435, -56, -29,
+ 251, 296, -435, -435, 477, -435, -435, -435, -27, -435,
+ -435, -435, -435, -25, -435, -435, 29, -435, 0, 93,
+ 93, -435, -435, -435, -435, 93, 93, 93, 93, 93,
+ 93, 93, -435, 93, 93, -435, 13, -435, -435, -435,
+ -435, 113, -66, -22, 44, 184, 188, 53, 56, -435,
+ -435, -435, -435, -435, -33, -435, -435, 58, -435, 72,
+ -435, -435, -435, 19, 93, 93, 14, 68, -435, 40,
+ 109, -435, 93, 93, 126, -435, -435, 321, 93, 93,
+ -435, -435, -435, -435, 266, 76, 83, -64, -435, 92,
+ 95, -435, 103, 110, 118, 144, -435, 142, 142, -435,
+ -435, 93, 93, 93, 173, 176, 93, -435, 93, 180,
+ 93, 93, -435, 147, 404, -435, -435, -435, 181, 92,
+ 92, 92, 92, 92, 92, 92, -435, 185, 190, 204,
+ 190, -435, 213, 214, -31, -435, 93, -435, -435, -435,
+ -435, -435, -435, -435, 219, -435, 240, 93, -435, -435,
+ -435, -435, -435, -435, -435, -435, 93, 93, 93, 93,
+ 310, -435, -435, -435, -435, 404, 122, 93, 34, 311,
+ 186, 186, -435, -435, -435, -435, -435, -435, 431, 225,
+ -435, 226, 190, -435, -435, 228, -435, -435, -435, -435,
+ 233, -435, -435, -435, -435, 93, 186, 244, 596, 244,
+ 567, 122, 93, 34, 327, 186, 186, -435, -435, -435,
+ -435, -435, -435, 305, -435, 93, 238, 330, 371, -435,
+ -13, 558, 186, 34, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 93, 93, 93, 34, 93, 331, 331,
+ 331, -435, -435, 247, -435, -435, 244, 244, 585, -435,
+ 252, 190, -435, 253, -435, -435, -435, -435, -64, -64,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ 256, -435, -435, -64, -435, -435, -435, -435, -435, 344,
+ 34, 345, 345, 345, 345, 345, 345, 345, 345, 345,
+ 93, 93, 93, 34, 93, 345, 345, 345, -435, 93,
+ 93, 93, 93, 93, 93, 262, -64, -64, -435, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, 271, -435,
+ -435, -64, -435, -435, -435, -435, -435, -435, -435, 280,
+ 282, 286, 287, 93, 93, 93, 93, 93, 93, 93,
+ 93, 248, 290, 293, 294, 300, 301, 309, 320, 324,
+ -435, 358, -435, 93, 93, 93, 93, 248, 93, 93,
+ 93, 186, 360, 377, 379, 380, 381, 403, 405, 407,
+ -67, 93, -435, 93, 93, 93, 186, 93, -435, 93,
+ 93, 93, -435, 403, 411, 413, 77, 417, 419, 421,
+ 422, -435, 93, 93, 93, 93, 93, 186, -435, 93,
+ 423, 424, 425, 426, 421, 244, 432, 93, 186, 181,
+ 93, 186, -435, 93, 424, 121, 361, 433, 132, 436,
+ 181, 186, -435, -435, 93, 186, 93, 361, 244, 437,
+ 244, 438, -435, 93, 186, 9, 244, 186, -435, 134,
+ 361, -435
};
/* YYPGOTO[NTERM-NUM]. */
static const short yypgoto[] =
{
- -492, -492, -492, -492, -492, 440, -276, -173, 465, -492,
- -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
- -492, -492, 268, -492, 203, -492, -492, -492, 210, -94,
- 49, -492, 254, 40, 31, -292, 89, -492, -492, -492,
- -492, 242, -270, -491, -446, -492, -492, -492, 344, -492,
- -69, -492, 342, -492, -492, -492, -492, -492, -492, -169,
- -492, -492, -492, 316, -492, -492, -492, -492, -492, 584,
- -492, -492, -20, -249, -248, -243, -213, -492, 408, -234,
- -2, 401, 22
+ -435, -435, -435, -435, -435, 479, -282, -288, 368, -435,
+ -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
+ -435, -435, 195, -435, 237, -435, -435, -435, 210, -116,
+ 20, -435, 229, 2, -10, -259, 52, -435, -435, -435,
+ -435, 242, -133, -434, -387, -435, -435, -435, 315, -435,
+ 117, -435, 312, -435, -435, -435, -435, -435, -435, -170,
+ -435, -435, -435, 276, -435, -435, -435, -435, -435, 586,
+ -435, -435, -19, -246, -245, -197, -360, -435, 569, -226,
+ -2, 22, -12
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
#define YYTABLE_NINF -243
static const short yytable[] =
{
- 18, 217, 82, 193, 259, 220, 4, 5, 6, 329,
- 7, 204, 290, 3, 204, 110, 5, 6, 111, 112,
- 318, 83, 110, 8, 29, 111, 112, 304, 305, 192,
- 5, 6, 187, 306, 349, 27, 5, 6, 321, 317,
- 116, 145, 147, 374, 375, 167, 168, 169, 233, 145,
- 170, 291, 309, 311, 205, 370, 5, 6, 385, 340,
- 341, 210, 211, 212, 560, 342, 213, 9, 5, 6,
- 149, 218, 566, 165, 119, 221, 350, 569, 110, 130,
- 131, 111, 112, 118, 5, 6, 5, 6, 384, 10,
- 11, 544, 219, 12, 13, 128, 129, 14, 148, 250,
- 251, 252, 555, 325, 150, 138, 326, 188, 141, 142,
- 143, 378, 10, 11, 144, 222, 12, 13, 10, 11,
- 14, 568, 12, 13, 253, 254, 14, 163, 171, 255,
- 350, 73, 74, 75, 76, 77, 78, 79, 10, 11,
- 509, 350, 12, 13, 214, 225, 14, 173, 174, 447,
- 448, 522, 451, 177, 178, 179, 180, 181, 182, 183,
- 372, 185, 186, 117, 189, 207, 10, 11, 10, 11,
- 12, 13, 12, 13, 14, 315, 14, 350, 386, 350,
- 279, 280, 281, 282, 283, 284, 285, 549, 164, 553,
- 194, 401, 215, 216, 350, -219, 195, 498, -219, -219,
- 223, 224, 196, 197, 277, 202, 227, 228, 203, 198,
- 5, 6, 514, 317, 208, -219, 209, 429, 430, 5,
- 6, 380, 36, 37, 231, 5, 6, 478, 565, 247,
- 248, 249, 432, 533, 258, 434, 260, 232, 262, 263,
- 344, 234, 5, 6, 543, 190, 191, 546, 449, 199,
- 200, 250, 251, 252, 236, 265, 201, 556, 266, 110,
- 267, 558, 111, 112, 294, 462, 463, 238, 399, 400,
- 564, 403, 242, 567, 240, 307, 253, 254, 241, 151,
- 465, 255, 229, 230, 310, 312, 313, 314, 120, 121,
- 122, 244, 10, 11, 151, 320, 12, 13, 153, 324,
- 14, 10, 11, 373, 277, 12, 13, 10, 11, 14,
- 286, 12, 13, -242, 350, 14, 32, 33, 34, 35,
- 36, 37, 328, 328, 10, 11, 287, 288, 12, 13,
- 371, 551, 14, 73, 74, 75, 76, 77, 78, 79,
- 289, 377, 551, 379, 382, 296, 295, 348, 328, 110,
- 551, 297, 111, 112, 343, 551, 331, 328, 328, 398,
- 398, 398, 332, 398, 345, 346, 347, 38, 383, 153,
- 39, 387, 328, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 407, 50, 51, 52, 427, 298, 299,
- 110, 300, 301, 111, 112, 34, 35, 36, 37, 333,
- 334, 110, 335, 336, 111, 112, 428, 431, 433, 435,
- 302, 24, 25, 26, 461, 28, 446, 446, 446, 110,
- 446, 337, 111, 112, 464, 455, 456, 457, 458, 459,
- 460, 466, 87, 88, 89, 90, 91, 92, 93, 226,
- 467, 53, 468, 469, 481, 54, 482, 483, -219, 484,
- 485, -219, -219, 33, 34, 35, 36, 37, 30, 470,
- 471, 472, 473, 474, 475, 476, 477, 480, -219, 486,
- 487, 488, 155, 156, 157, 158, 159, 160, 161, 490,
- 491, 492, 493, 480, 495, 496, 497, 162, 31, 32,
- 33, 34, 35, 36, 37, 86, 246, 510, 316, 511,
- 512, 513, 489, 515, 127, 516, 517, 518, 499, 132,
- 133, 328, 135, 136, 137, 501, 139, 140, 528, 529,
- 530, 531, 532, 502, 503, 534, 328, 504, 505, 507,
- 508, 520, 521, 542, 268, 523, 545, 524, 525, 547,
- 527, 269, 270, 271, 272, 535, 536, 328, 273, 538,
- 557, 539, 559, 541, 552, 554, 561, 562, 328, 563,
- 519, 328, 338, 389, 390, 391, 392, 393, 394, 395,
- 396, 328, 540, 548, 494, 328, 404, 405, 406, 256,
- 292, 261, 0, 0, 328, 0, 0, 328, 351, 352,
+ 18, 27, 193, 82, 167, 168, 169, 3, 204, 170,
+ 204, 290, 259, 116, 318, 192, 352, 5, 6, 187,
+ 217, 83, 29, 210, 211, 212, 511, 145, 213, 145,
+ 304, 305, 24, 25, 26, 165, 28, 149, 5, 6,
+ 321, 317, 329, 5, 6, 374, 220, 233, 205, 372,
+ 291, 36, 37, 87, 88, 89, 90, 91, 92, 93,
+ 309, 311, 340, 341, 150, 388, 163, 350, 164, -219,
+ 352, 194, -219, -219, 219, 119, 376, 377, 403, 306,
+ 130, 131, 386, 118, 4, 5, 6, 171, 7, -219,
+ 218, 5, 6, 387, 188, 128, 129, 5, 6, 10,
+ 11, 8, 567, 12, 13, 138, 214, 14, 141, 142,
+ 143, 342, 5, 6, 144, 222, 221, 190, 191, 380,
+ 10, 11, 436, 562, 12, 13, 5, 6, 14, 317,
+ 110, 568, 225, 111, 112, 451, 571, 195, 73, 74,
+ 75, 76, 77, 78, 79, 9, 202, 173, 174, 203,
+ 147, 208, 546, 177, 178, 179, 180, 181, 182, 183,
+ 352, 185, 186, 557, 189, 209, 207, 10, 11, 231,
+ 524, 12, 13, 10, 11, 14, 232, 12, 13, 10,
+ 11, 14, 570, 12, 13, 234, 553, 14, 236, 117,
+ 5, 6, 215, 216, 10, 11, 238, 553, 12, 13,
+ 223, 224, 14, 240, 352, 553, 227, 228, 10, 11,
+ 553, 241, 12, 13, 551, 352, 14, 352, 431, 432,
+ 250, 251, 252, 265, 242, 555, 266, 277, 267, 247,
+ 248, 249, 500, 434, 258, 244, 260, 110, 262, 263,
+ 111, 112, 5, 6, 382, 253, 254, 516, 401, 402,
+ 255, 405, 5, 6, 480, 296, 151, 148, 196, 197,
+ 153, 297, 199, 200, 294, 198, 464, 465, 535, 201,
+ 229, 230, 10, 11, 277, 307, 12, 325, 286, 545,
+ 326, 467, 548, -242, 310, 312, 313, 314, 449, 450,
+ 110, 453, 558, 111, 112, 320, 560, 287, 298, 299,
+ 110, 300, 301, 111, 112, 566, 288, 289, 569, 5,
+ 6, 110, 295, 349, 111, 112, 315, 324, 343, 345,
+ 302, 346, 328, 328, 10, 11, 347, 352, 12, 13,
+ 373, 151, 14, 375, 10, 11, 385, 389, 12, 13,
+ 409, 379, 14, 381, 384, 429, 430, 348, 351, 433,
+ 435, 437, 250, 251, 252, 463, 110, 328, 328, 111,
+ 112, 400, 400, 400, 466, 400, 279, 280, 281, 282,
+ 283, 284, 285, 468, 328, 469, 153, 253, 254, 470,
+ 471, 110, 255, 483, 111, 112, 484, 485, 120, 121,
+ 122, 10, 11, 486, 487, 12, 13, 38, 86, 14,
+ 39, 226, 488, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 489, 50, 51, 52, 490, 448, 448,
+ 448, -219, 448, 246, -219, -219, 344, 457, 458, 459,
+ 460, 461, 462, 73, 74, 75, 76, 77, 78, 79,
+ 268, -219, 34, 35, 36, 37, 331, 269, 270, 271,
+ 272, 491, 332, 501, 273, 32, 33, 34, 35, 36,
+ 37, 472, 473, 474, 475, 476, 477, 478, 479, 482,
+ 503, 53, 504, 505, 506, 54, 33, 34, 35, 36,
+ 37, 492, 493, 494, 495, 482, 497, 498, 499, 333,
+ 334, 110, 335, 336, 111, 112, 507, 30, 509, 512,
+ 510, 513, 514, 515, 522, 517, 523, 518, 519, 520,
+ 525, 337, 526, 328, 527, 529, 537, 538, 540, 541,
+ 530, 531, 532, 533, 534, 543, 554, 536, 328, 556,
+ 563, 564, 316, 521, 550, 544, 542, 338, 547, 496,
+ 292, 549, 155, 156, 157, 158, 159, 160, 161, 328,
+ 256, 261, 559, 0, 561, 0, 0, 162, 0, 0,
+ 328, 565, 0, 328, 0, 391, 392, 393, 394, 395,
+ 396, 397, 398, 328, 0, 0, 0, 328, 406, 407,
+ 408, 0, 0, 0, 0, 0, 328, 0, 0, 328,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 408, 409, 410, 411,
+ 363, 364, 365, 366, 367, 368, 369, 370, 410, 411,
412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
- 422, 423, 424, 425, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 31,
- 32, 33, 34, 35, 36, 37, 369, 0, 0, 109,
- 0, 84, 437, 438, 439, 440, 441, 442, 443, 444,
- 0, 0, 0, 0, 426, 452, 453, 454, 73, 74,
- 75, 76, 77, 78, 79
+ 422, 423, 424, 425, 426, 427, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 31, 32, 33, 34, 35, 36, 37, 371, 0,
+ 0, 109, 0, 84, 439, 440, 441, 442, 443, 444,
+ 445, 446, 0, 0, 0, 127, 428, 454, 455, 456,
+ 132, 133, 0, 135, 136, 137, 0, 139, 140, 31,
+ 32, 33, 34, 35, 36, 37, 73, 74, 75, 76,
+ 77, 78, 79
};
static const short yycheck[] =
{
- 2, 6, 22, 172, 238, 6, 3, 4, 5, 301,
- 7, 41, 42, 0, 41, 60, 4, 5, 63, 64,
- 296, 23, 60, 20, 80, 63, 64, 276, 276, 81,
- 4, 5, 6, 276, 326, 13, 4, 5, 6, 7,
- 93, 93, 80, 335, 336, 4, 5, 6, 217, 93,
- 9, 81, 286, 287, 81, 331, 4, 5, 350, 308,
- 308, 4, 5, 6, 555, 308, 9, 64, 4, 5,
- 93, 76, 563, 6, 94, 76, 83, 568, 60, 99,
- 100, 63, 64, 85, 4, 5, 4, 5, 95, 86,
- 87, 537, 6, 90, 91, 97, 98, 94, 80, 47,
- 48, 49, 548, 91, 93, 107, 94, 81, 110, 111,
- 112, 345, 86, 87, 116, 6, 90, 91, 86, 87,
- 94, 567, 90, 91, 72, 73, 94, 93, 87, 77,
- 83, 51, 52, 53, 54, 55, 56, 57, 86, 87,
- 93, 83, 90, 91, 87, 6, 94, 149, 150, 419,
- 420, 93, 422, 155, 156, 157, 158, 159, 160, 161,
- 333, 163, 164, 81, 166, 185, 86, 87, 86, 87,
- 90, 91, 90, 91, 94, 6, 94, 83, 351, 83,
- 249, 250, 251, 252, 253, 254, 255, 93, 93, 93,
- 93, 364, 194, 195, 83, 60, 93, 489, 63, 64,
- 202, 203, 74, 75, 93, 93, 208, 209, 93, 81,
- 4, 5, 504, 7, 93, 80, 93, 386, 387, 4,
- 5, 6, 88, 89, 93, 4, 5, 6, 93, 231,
- 232, 233, 401, 525, 236, 408, 238, 93, 240, 241,
- 309, 93, 4, 5, 536, 4, 5, 539, 421, 74,
- 75, 47, 48, 49, 93, 76, 81, 549, 79, 60,
- 81, 553, 63, 64, 266, 434, 435, 93, 362, 363,
- 562, 365, 80, 565, 93, 277, 72, 73, 93, 80,
- 449, 77, 4, 5, 286, 287, 288, 289, 6, 7,
- 8, 93, 86, 87, 80, 297, 90, 91, 80, 6,
- 94, 86, 87, 6, 93, 90, 91, 86, 87, 94,
- 93, 90, 91, 93, 83, 94, 84, 85, 86, 87,
- 88, 89, 300, 301, 86, 87, 93, 93, 90, 91,
- 332, 544, 94, 51, 52, 53, 54, 55, 56, 57,
- 93, 343, 555, 345, 346, 15, 93, 325, 326, 60,
- 563, 21, 63, 64, 93, 568, 15, 335, 336, 361,
- 362, 363, 21, 365, 93, 93, 93, 4, 6, 80,
- 7, 6, 350, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 93, 21, 22, 23, 93, 58, 59,
- 60, 61, 62, 63, 64, 86, 87, 88, 89, 58,
- 59, 60, 61, 62, 63, 64, 93, 93, 6, 6,
- 80, 10, 11, 12, 93, 14, 418, 419, 420, 60,
- 422, 80, 63, 64, 93, 427, 428, 429, 430, 431,
- 432, 93, 31, 32, 33, 34, 35, 36, 37, 80,
- 93, 78, 93, 93, 93, 82, 93, 93, 60, 93,
- 93, 63, 64, 85, 86, 87, 88, 89, 18, 461,
- 462, 463, 464, 465, 466, 467, 468, 469, 80, 93,
- 93, 93, 65, 66, 67, 68, 69, 70, 71, 481,
- 482, 483, 484, 485, 486, 487, 488, 80, 83, 84,
- 85, 86, 87, 88, 89, 30, 228, 499, 295, 501,
- 502, 503, 93, 505, 96, 507, 508, 509, 93, 101,
- 102, 489, 104, 105, 106, 93, 108, 109, 520, 521,
- 522, 523, 524, 93, 93, 527, 504, 93, 93, 93,
- 93, 93, 93, 535, 36, 93, 538, 93, 93, 541,
- 93, 43, 44, 45, 46, 93, 93, 525, 50, 93,
- 552, 93, 554, 93, 93, 93, 93, 93, 536, 561,
- 511, 539, 308, 353, 354, 355, 356, 357, 358, 359,
- 360, 549, 532, 542, 485, 553, 366, 367, 368, 235,
- 264, 239, -1, -1, 562, -1, -1, 565, 23, 24,
+ 2, 13, 172, 22, 4, 5, 6, 0, 41, 9,
+ 41, 42, 238, 93, 296, 81, 83, 4, 5, 6,
+ 6, 23, 80, 4, 5, 6, 93, 93, 9, 93,
+ 276, 276, 10, 11, 12, 6, 14, 93, 4, 5,
+ 6, 7, 301, 4, 5, 333, 6, 217, 81, 331,
+ 81, 88, 89, 31, 32, 33, 34, 35, 36, 37,
+ 286, 287, 308, 308, 93, 353, 93, 326, 93, 60,
+ 83, 93, 63, 64, 6, 94, 335, 336, 366, 276,
+ 99, 100, 95, 85, 3, 4, 5, 87, 7, 80,
+ 76, 4, 5, 352, 81, 97, 98, 4, 5, 86,
+ 87, 20, 93, 90, 91, 107, 87, 94, 110, 111,
+ 112, 308, 4, 5, 116, 6, 76, 4, 5, 345,
+ 86, 87, 410, 557, 90, 91, 4, 5, 94, 7,
+ 60, 565, 6, 63, 64, 423, 570, 93, 51, 52,
+ 53, 54, 55, 56, 57, 64, 93, 149, 150, 93,
+ 80, 93, 539, 155, 156, 157, 158, 159, 160, 161,
+ 83, 163, 164, 550, 166, 93, 185, 86, 87, 93,
+ 93, 90, 91, 86, 87, 94, 93, 90, 91, 86,
+ 87, 94, 569, 90, 91, 93, 546, 94, 93, 81,
+ 4, 5, 194, 195, 86, 87, 93, 557, 90, 91,
+ 202, 203, 94, 93, 83, 565, 208, 209, 86, 87,
+ 570, 93, 90, 91, 93, 83, 94, 83, 388, 389,
+ 47, 48, 49, 76, 80, 93, 79, 93, 81, 231,
+ 232, 233, 491, 403, 236, 93, 238, 60, 240, 241,
+ 63, 64, 4, 5, 6, 72, 73, 506, 364, 365,
+ 77, 367, 4, 5, 6, 15, 80, 80, 74, 75,
+ 80, 21, 74, 75, 266, 81, 436, 437, 527, 81,
+ 4, 5, 86, 87, 93, 277, 90, 91, 93, 538,
+ 94, 451, 541, 93, 286, 287, 288, 289, 421, 422,
+ 60, 424, 551, 63, 64, 297, 555, 93, 58, 59,
+ 60, 61, 62, 63, 64, 564, 93, 93, 567, 4,
+ 5, 60, 93, 325, 63, 64, 6, 6, 93, 93,
+ 80, 93, 300, 301, 86, 87, 93, 83, 90, 91,
+ 332, 80, 94, 6, 86, 87, 6, 6, 90, 91,
+ 93, 343, 94, 345, 346, 93, 93, 325, 326, 93,
+ 6, 6, 47, 48, 49, 93, 60, 335, 336, 63,
+ 64, 363, 364, 365, 93, 367, 249, 250, 251, 252,
+ 253, 254, 255, 93, 352, 93, 80, 72, 73, 93,
+ 93, 60, 77, 93, 63, 64, 93, 93, 6, 7,
+ 8, 86, 87, 93, 93, 90, 91, 4, 30, 94,
+ 7, 80, 93, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 93, 21, 22, 23, 93, 420, 421,
+ 422, 60, 424, 228, 63, 64, 309, 429, 430, 431,
+ 432, 433, 434, 51, 52, 53, 54, 55, 56, 57,
+ 36, 80, 86, 87, 88, 89, 15, 43, 44, 45,
+ 46, 93, 21, 93, 50, 84, 85, 86, 87, 88,
+ 89, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 93, 78, 93, 93, 93, 82, 85, 86, 87, 88,
+ 89, 483, 484, 485, 486, 487, 488, 489, 490, 58,
+ 59, 60, 61, 62, 63, 64, 93, 18, 93, 501,
+ 93, 503, 504, 505, 93, 507, 93, 509, 510, 511,
+ 93, 80, 93, 491, 93, 93, 93, 93, 93, 93,
+ 522, 523, 524, 525, 526, 93, 93, 529, 506, 93,
+ 93, 93, 295, 513, 544, 537, 534, 308, 540, 487,
+ 264, 543, 65, 66, 67, 68, 69, 70, 71, 527,
+ 235, 239, 554, -1, 556, -1, -1, 80, -1, -1,
+ 538, 563, -1, 541, -1, 355, 356, 357, 358, 359,
+ 360, 361, 362, 551, -1, -1, -1, 555, 368, 369,
+ 370, -1, -1, -1, -1, -1, 564, -1, -1, 567,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 83,
- 84, 85, 86, 87, 88, 89, 81, -1, -1, 65,
- -1, 95, 410, 411, 412, 413, 414, 415, 416, 417,
- -1, -1, -1, -1, 81, 423, 424, 425, 51, 52,
- 53, 54, 55, 56, 57
+ 35, 36, 37, 38, 39, 40, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 83, 84, 85, 86, 87, 88, 89, 81, -1,
+ -1, 65, -1, 95, 412, 413, 414, 415, 416, 417,
+ 418, 419, -1, -1, -1, 96, 81, 425, 426, 427,
+ 101, 102, -1, 104, 105, 106, -1, 108, 109, 83,
+ 84, 85, 86, 87, 88, 89, 51, 52, 53, 54,
+ 55, 56, 57
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
42, 81, 159, 161, 176, 93, 15, 21, 58, 59,
61, 62, 80, 128, 169, 170, 171, 176, 134, 175,
176, 175, 176, 176, 176, 6, 120, 7, 102, 176,
- 176, 6, 102, 103, 6, 91, 94, 131, 178, 131,
+ 176, 6, 102, 103, 6, 91, 94, 131, 177, 131,
123, 15, 21, 58, 59, 61, 62, 80, 128, 141,
- 169, 170, 171, 93, 146, 93, 93, 93, 178, 131,
- 83, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 81,
- 102, 176, 103, 6, 131, 131, 135, 176, 175, 176,
- 6, 162, 176, 6, 95, 131, 103, 6, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 125, 176, 125,
- 125, 103, 127, 125, 124, 124, 124, 93, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 81, 93, 93, 155,
- 155, 93, 155, 6, 103, 6, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 138, 176, 138, 138, 103,
- 136, 138, 137, 137, 137, 176, 176, 176, 176, 176,
- 176, 93, 155, 155, 93, 155, 93, 93, 93, 93,
- 176, 176, 176, 176, 176, 176, 176, 176, 6, 132,
- 176, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 176, 176, 176, 176, 132, 176, 176, 176, 131, 93,
- 142, 93, 93, 93, 93, 93, 126, 93, 93, 93,
- 176, 176, 176, 176, 131, 176, 176, 176, 176, 126,
- 93, 93, 93, 93, 93, 93, 129, 93, 176, 176,
- 176, 176, 176, 131, 176, 93, 93, 130, 93, 93,
- 129, 93, 176, 131, 140, 176, 131, 176, 130, 93,
- 139, 172, 93, 93, 93, 140, 131, 176, 131, 176,
- 139, 93, 93, 176, 131, 93, 139, 131, 140, 139
+ 169, 170, 171, 93, 146, 93, 93, 93, 177, 178,
+ 131, 177, 83, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 81, 102, 176, 103, 6, 131, 131, 135, 176,
+ 175, 176, 6, 162, 176, 6, 95, 131, 103, 6,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
+ 176, 125, 125, 103, 127, 125, 124, 124, 124, 93,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 81, 93,
+ 93, 155, 155, 93, 155, 6, 103, 6, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 138, 176, 138,
+ 138, 103, 136, 138, 137, 137, 137, 176, 176, 176,
+ 176, 176, 176, 93, 155, 155, 93, 155, 93, 93,
+ 93, 93, 176, 176, 176, 176, 176, 176, 176, 176,
+ 6, 132, 176, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 176, 176, 176, 176, 132, 176, 176, 176,
+ 131, 93, 142, 93, 93, 93, 93, 93, 126, 93,
+ 93, 93, 176, 176, 176, 176, 131, 176, 176, 176,
+ 176, 126, 93, 93, 93, 93, 93, 93, 129, 93,
+ 176, 176, 176, 176, 176, 131, 176, 93, 93, 130,
+ 93, 93, 129, 93, 176, 131, 140, 176, 131, 176,
+ 130, 93, 139, 172, 93, 93, 93, 140, 131, 176,
+ 131, 176, 139, 93, 93, 176, 131, 93, 139, 131,
+ 140, 139
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
}
/* Line 999 of yacc.c. */
-#line 4129 "y.tab.c"
+#line 4136 "y.tab.c"
\f
yyvsp -= yylen;
yyssp -= yylen;
static event_t *add_string_event(string_t *key, int id, int flags, event_t *prev)
{
- int keycode = 0;
+ int keycode = 0, keysym = 0;
event_t *ev = new_event();
- if(key->type != str_char)
- yyerror("Key code must be an ascii string");
+ if(key->type == str_char)
+ keysym = key->str.cstr[0];
+ else
+ keysym = key->str.wstr[0];
- if((flags & WRC_AF_VIRTKEY) && (!isupper(key->str.cstr[0] & 0xff) && !isdigit(key->str.cstr[0] & 0xff)))
+ if((flags & WRC_AF_VIRTKEY) && (!isupper(keysym & 0xff) && !isdigit(keysym & 0xff)))
yyerror("VIRTKEY code is not equal to ascii value");
- if(key->str.cstr[0] == '^' && (flags & WRC_AF_CONTROL) != 0)
+ if(keysym == '^' && (flags & WRC_AF_CONTROL) != 0)
{
yyerror("Cannot use both '^' and CONTROL modifier");
}
- else if(key->str.cstr[0] == '^')
+ else if(keysym == '^')
{
- keycode = toupper(key->str.cstr[1]) - '@';
+ if(key->type == str_char)
+ keycode = toupper(key->str.cstr[1]) - '@';
+ else
+ keycode = toupper(key->str.wstr[1]) - '@';
if(keycode >= ' ')
yyerror("Control-code out of range");
}
else
- keycode = key->str.cstr[0];
+ keycode = keysym;
ev->key = keycode;
ev->id = id;
ev->flags = flags & ~WRC_AF_ASCII;