From b7e937a2d54a86a168c755570ccbd9a8f9462dbf Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 23 Jan 2017 19:27:09 +0100 Subject: DIRECTOR: Lingo: Fix macro grammar parcing. Removes 2 more reduce/reduce --- engines/director/lingo/lingo-gr.cpp | 643 ++++++++++++++++++------------------ engines/director/lingo/lingo-gr.y | 4 +- 2 files changed, 329 insertions(+), 318 deletions(-) diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index 327183868d..e82270e0de 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -520,7 +520,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 112 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1548 +#define YYLAST 1601 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 96 @@ -596,8 +596,8 @@ static const yytype_uint16 yyprhs[] = 436, 441, 448, 453, 456, 460, 462, 466, 468, 472, 475, 478, 481, 484, 488, 491, 494, 496, 500, 503, 506, 509, 513, 516, 517, 521, 522, 531, 534, 535, - 544, 545, 546, 557, 558, 560, 564, 569, 570, 574, - 575, 577 + 544, 545, 546, 557, 558, 560, 564, 569, 570, 573, + 574, 576 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -660,8 +660,7 @@ static const yytype_int16 yyrhs[] = 98, 133, 116, -1, -1, -1, 79, 21, 130, 114, 131, 132, 98, 133, 116, 25, -1, -1, 21, -1, 132, 95, 21, -1, 132, 98, 95, 21, -1, -1, - 21, 114, 135, -1, -1, 118, -1, 135, 95, 118, - -1 + 21, 135, -1, -1, 118, -1, 135, 95, 118, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -771,7 +770,7 @@ static const yytype_uint8 yyr2[] = 4, 6, 4, 2, 3, 1, 3, 1, 3, 2, 2, 2, 2, 3, 2, 2, 1, 3, 2, 2, 2, 3, 2, 0, 3, 0, 8, 2, 0, 8, - 0, 0, 10, 0, 1, 3, 4, 0, 3, 0, + 0, 0, 10, 0, 1, 3, 4, 0, 2, 0, 1, 3 }; @@ -781,20 +780,20 @@ static const yytype_uint8 yyr2[] = static const yytype_uint8 yydefact[] = { 0, 0, 57, 64, 0, 58, 61, 107, 0, 149, - 0, 51, 60, 59, 133, 102, 0, 0, 49, 0, + 0, 63, 60, 59, 133, 102, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 3, 66, 23, 11, 24, 0, 0, 0, 0, 21, 8, 99, 100, 7, 9, 5, 4, 63, 0, 66, 65, 106, 105, 149, 150, 109, 149, 149, - 149, 149, 101, 115, 103, 0, 119, 0, 120, 0, + 148, 149, 101, 115, 103, 0, 119, 0, 120, 0, 121, 126, 122, 124, 135, 98, 0, 47, 0, 0, 0, 0, 137, 138, 113, 129, 130, 132, 117, 104, 79, 0, 0, 0, 0, 0, 140, 0, 84, 85, 0, 0, 1, 6, 0, 0, 0, 0, 44, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 114, 0, 148, 134, 0, 125, 128, 0, 123, 51, + 0, 0, 0, 0, 0, 0, 149, 0, 150, 0, + 0, 114, 0, 134, 0, 125, 128, 0, 123, 51, 0, 0, 0, 48, 0, 0, 0, 0, 0, 56, 51, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 86, 87, 2, 0, @@ -820,382 +819,394 @@ static const yytype_uint8 yydefact[] = static const yytype_int16 yydefgoto[] = { -1, 41, 265, 42, 61, 44, 266, 46, 312, 295, - 296, 286, 297, 117, 47, 48, 49, 287, 70, 185, + 296, 286, 297, 117, 47, 48, 49, 287, 207, 185, 250, 50, 51, 255, 74, 99, 53, 82, 83, 54, - 71, 55, 149, 160, 174, 248, 240, 274, 56, 67 + 71, 55, 149, 160, 174, 248, 240, 274, 56, 142 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -271 +#define YYPACT_NINF -240 static const yytype_int16 yypact[] = { - 320, -65, -271, -271, 218, -271, -271, 218, 218, 910, - 8, 1456, -271, -271, -271, 51, 35, 809, -271, 76, - 218, 96, 75, 86, 89, 97, 218, 875, 118, 218, - 218, 218, 218, 218, 218, 120, 60, 218, 218, 218, - 218, 3, -271, 13, -271, -271, -271, 61, 70, 976, - 218, 1425, -271, -271, -271, -271, -271, -271, -271, 65, - 218, -271, 1425, 1425, 1425, 218, 1425, 62, 218, 218, - 218, 218, -271, -271, 66, 218, -271, 218, -271, 122, - -271, 1425, 27, -271, -271, 944, 142, -271, -32, 218, - -26, 131, -271, -271, 1270, -271, 27, -271, -271, 82, - -10, 1015, 1047, 1079, 1111, 1301, -271, 158, -10, -10, - 1363, 52, -271, 403, 976, 218, 976, 135, 1394, 1425, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 944, 1363, 5, 218, - 62, 19, 62, 62, 160, 1425, 1425, 218, -271, -271, - 162, 218, 218, -271, 218, 218, 712, 218, 218, -271, - -271, 218, -271, 163, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, -271, 47, -271, -271, -271, 98, - 1425, 99, 1332, -65, 218, -271, 20, 20, 20, -10, - -10, -10, 1425, 20, 20, 133, 172, 172, -10, -10, - 1425, 1425, -271, 1425, -271, -271, 1425, 166, -271, 1425, - 1425, 1425, 1425, 218, 218, 1425, 1425, 166, 1425, -271, - 1425, 1143, 1425, 1175, 1425, 1207, 1425, 1239, 1425, 1425, - -271, -271, 218, -271, -2, -271, -271, 735, 1425, -271, - 4, 1425, 1425, 4, 218, 218, 218, 218, 166, 48, - 569, 144, 218, 569, -271, -271, 170, 100, 100, 1425, - 1425, 1425, 1425, 4, -271, -271, -271, 167, 218, 1425, - -14, -13, -271, 177, -271, -271, 100, -271, 1425, -271, - -271, -271, 164, -271, -271, 164, -271, 976, -271, 569, - 569, -271, -271, 569, 569, 164, 164, -271, 976, 735, - -271, 150, 156, 486, 569, 178, 179, -271, 181, 165, - -271, -271, -271, -271, -271, 183, -271, -271, -271, -271, - -271, 735, -271, 652, -271, 652, -271, -271, 569, -271, - -271 + 326, -69, -240, -240, 1001, -240, -240, 1001, 1001, 1067, + 44, 409, -240, -240, -240, -20, 46, 900, -240, 62, + 1001, 58, 74, 67, 73, 75, 1001, 966, 80, 1001, + 1001, 1001, 1001, 1001, 1001, 87, -10, 1001, 1001, 1001, + 1001, 14, -240, 16, -240, -240, -240, 29, 33, 1092, + 1001, 1509, -240, -240, -240, -240, -240, -240, -240, 30, + 1001, -240, 1509, 1509, 1509, 1001, 1509, 45, 1001, 1001, + 45, 1001, -240, -240, 47, 1001, -240, 1001, -240, 82, + -240, 1509, 9, -240, -240, 377, 123, -240, -39, 1001, + -24, 100, -240, -240, 1354, -240, 9, -240, -240, 51, + -11, 1131, 1163, 1195, 1227, 1385, -240, 126, -11, -11, + 1447, 17, -240, 494, 1092, 1001, 1092, 104, 1478, 1509, + 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, + 1001, 1001, 1001, 1001, 1001, 1001, 1001, 377, 1447, -35, + 1001, 45, -31, 45, 129, 1509, 1509, 1001, -240, -240, + 130, 1001, 1001, -240, 1001, 1001, 803, 1001, 1001, -240, + -240, 1001, -240, 133, 1001, 1001, 1001, 1001, 1001, 1001, + 1001, 1001, 1001, 1001, -240, 8, -240, -240, -240, 70, + 1509, 71, 1416, -69, 1001, -240, 863, 863, 863, -11, + -11, -11, 1509, 863, 863, 1061, 173, 173, -11, -11, + 1509, 1509, -240, 1509, -240, -240, 1509, 136, -240, 1509, + 1509, 1509, 1509, 1001, 1001, 1509, 1509, 136, 1509, -240, + 1509, 140, 1509, 1259, 1509, 1291, 1509, 1323, 1509, 1509, + -240, -240, 1001, -240, 2, -240, -240, 826, 1509, -240, + -43, 1509, 1509, -43, 1001, 1001, 1001, 1001, 136, 10, + 660, 117, 1001, 660, -240, -240, 143, 81, 81, 1509, + 1509, 1509, 1509, -43, -240, -240, -240, 152, 1001, 1509, + -14, -26, -240, 158, -240, -240, 81, -240, 1509, -240, + -240, -240, 153, -240, -240, 153, -240, 1092, -240, 660, + 660, -240, -240, 660, 660, 153, 153, -240, 1092, 826, + -240, 131, 138, 577, 660, 159, 163, -240, 164, 145, + -240, -240, -240, -240, -240, 166, -240, -240, -240, -240, + -240, 826, -240, 743, -240, 743, -240, -240, 660, -240, + -240 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -271, -271, 11, 107, 6, -236, 0, -271, -271, -271, - -60, -270, -83, -112, -271, -271, -271, -222, -106, 2, - -217, -271, 1, 7, -271, -271, -271, 194, -3, -271, - -271, -271, -271, -271, -271, -271, -195, -178, -271, -23 + -240, -240, 12, 83, 25, -236, 0, -240, -240, -240, + -78, -212, -101, -112, -240, -240, -240, -239, -92, 7, + -182, -240, 1, 26, -240, -240, -240, 172, -7, -240, + -240, -240, -240, -240, -240, -240, -211, -214, -240, 6 }; /* 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 -64 +#define YYTABLE_NINF -150 static const yytype_int16 yytable[] = { - 45, 254, 179, 112, 181, 62, 43, 52, 63, 64, - 66, 280, 58, -10, 154, 300, 283, 111, 81, 253, - 157, 85, 243, 57, 97, 251, 300, 94, 81, 68, - 100, 101, 102, 103, 104, 105, 281, 284, 108, 109, - 110, 66, 138, 207, 252, 140, 141, 142, 143, 155, - 118, 119, 113, 263, 217, 158, 73, 289, 290, 126, - 298, 136, 293, 310, 294, 77, 137, 79, 230, 66, - 66, 66, 66, 298, 303, 304, 145, 237, 146, 148, - 275, 134, 135, 123, 124, 326, 125, 88, 89, 126, - 156, 57, 57, 162, 72, 202, 90, 84, 291, 256, - 139, -10, 129, 130, 131, 132, 133, 91, 328, 204, - 92, 134, 135, 45, 139, 118, 180, 182, 93, 43, - 52, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 231, 264, 98, - 203, 106, 232, 139, 86, 87, 177, 139, 206, 107, - 114, 115, 209, 210, 69, 211, 212, 139, 215, 216, - 147, 144, 218, 153, 282, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 302, 159, 163, 299, 175, - 183, 205, 234, 208, 219, 238, 309, 239, 233, 235, - 268, 272, 277, 283, 236, 273, 123, 124, 288, 125, - 311, 313, 126, 316, 317, 321, 318, 323, 324, 249, - 319, 285, 307, 325, 241, 242, 130, 131, 132, 133, - 178, 96, 0, 0, 134, 135, 0, 0, 0, 2, - 3, 4, 5, 66, 6, 123, 124, 0, 125, 59, - 12, 126, 13, 0, 0, 259, 260, 261, 262, 0, - 0, 257, 267, 269, 258, 270, 271, 132, 133, 0, - 60, 0, 22, 134, 135, 0, 0, 0, 0, 278, - 0, 279, 0, 0, 276, 0, 0, 0, 0, 0, - 292, 0, 0, 29, 0, 0, 0, 301, 118, 0, - 30, 31, 32, 33, 34, 305, 306, 308, 0, 118, - 0, 37, 38, 0, 0, 0, 315, 39, 0, 0, - 0, 40, 320, 0, 322, 0, 0, 0, 0, 0, - -6, 1, 0, 327, 0, 327, 0, 0, 0, 329, - 330, 2, 3, 4, 5, 0, 6, 7, 8, 9, - 10, 11, 12, 0, 13, 0, 14, 0, 0, 0, - 15, 0, 16, 17, 18, 0, 0, 19, 0, 0, + 45, 254, 179, 283, 181, 62, 243, 154, 63, 64, + 66, 280, 66, 58, 112, 67, -10, 70, 81, 57, + 97, 85, 157, 72, 284, 43, 52, 94, 81, 251, + 100, 101, 102, 103, 104, 105, 281, 263, 108, 109, + 110, 66, 155, 298, 275, 57, 111, 77, 252, 79, + 118, 119, 256, 113, 253, 202, 298, 158, 126, 204, + 140, 137, 291, 310, 140, 68, 138, 73, 217, 66, + 138, 139, 66, 300, 141, 148, 145, 143, 146, 107, + 134, 135, 230, 84, 300, 326, 88, 89, 91, 162, + 156, 237, 289, 290, 92, 90, 93, 293, 231, 294, + 264, 98, 57, 232, -10, 140, 86, 87, 106, 303, + 304, 177, 140, 45, 115, 118, 180, 182, 114, 136, + 147, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 66, 43, 52, + 140, 203, 144, 328, 153, 159, 163, 175, 206, 183, + 205, 208, 209, 210, 219, 211, 212, 239, 215, 216, + 233, 235, 218, 268, 272, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 302, 273, 277, 282, 288, + 244, 311, 283, 313, 316, 238, 309, 234, 317, 318, + 319, 324, 299, 285, 307, 236, 178, 120, 121, 96, + 0, 0, 122, 123, 124, 0, 125, 0, 0, 126, + 127, 128, 0, 0, 241, 242, 0, 0, 0, 321, + 0, 323, 129, 130, 131, 132, 133, 325, 0, 0, + 0, 134, 135, 66, 0, 0, 123, 124, 249, 125, + 0, 0, 126, 0, 0, 259, 260, 261, 262, 0, + 0, 0, 257, 269, 0, 258, 0, 267, 132, 133, + 270, 271, 0, 0, 134, 135, 0, 0, 0, 278, + 0, 0, 0, 0, 0, 276, 279, 0, 0, 0, + 0, 0, 0, 0, 0, 292, 0, 0, 118, 0, + 0, 0, 301, 0, 0, 0, 0, 0, 0, 118, + 305, 306, 308, 0, 0, 0, 0, 0, 0, 0, + 0, 315, 0, 0, 0, 0, 0, 320, 0, 322, + 0, 0, 0, 327, 0, 327, -6, 1, 0, 0, + 0, 0, 0, 0, 329, 330, 0, 2, 3, 4, + 5, 0, 6, 7, 8, 9, 10, 11, 12, 0, + 13, 0, 14, 0, 0, 0, 15, 0, 16, 17, + 18, 0, 0, 19, 0, 0, 0, 0, 20, 21, + 22, 0, 0, 23, 0, 0, 0, 24, 25, 26, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 0, 0, 35, 36, 0, 0, 37, + 38, 0, 150, 0, -6, 39, 0, 0, 0, 40, + 2, 3, 4, 5, 0, 6, 0, 0, 0, 0, + 59, 12, 0, 13, 120, 121, 0, 0, 0, 122, + 123, 124, 0, 125, 151, 152, 126, 127, 128, 0, + 0, 60, 0, 22, 0, 0, 0, 0, 0, 129, + 130, 131, 132, 133, 0, 0, 0, 0, 134, 135, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 0, 0, 0, 0, + 0, 0, 37, 38, 0, 0, 0, 0, 69, 0, + 0, 0, 40, 0, -149, 2, 3, 4, 5, 0, + 6, 7, 8, 9, 10, 11, 12, 0, 13, 0, + 14, 0, 0, 0, 15, 0, 16, 17, 18, 0, + 0, 19, 0, 0, 0, 0, 20, 21, 22, 0, + 0, 23, 0, 0, 0, 24, 25, 26, 27, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 34, 0, 0, 35, 36, 0, 0, 37, 38, 0, + 0, 0, 0, 39, 0, 0, 0, 40, 2, 3, + 4, 5, 0, 6, 7, 8, 9, 10, 59, 12, + 0, 13, 314, 14, 0, 0, 0, 15, 0, 16, + 17, 18, 0, 0, 0, 0, 0, 0, 0, 20, + 21, 22, 0, 0, 23, 0, 0, 0, 0, 0, + 26, 27, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 33, 34, 0, 0, 0, 36, 0, 0, + 37, 38, 0, 0, 0, 57, 39, 0, 0, 0, + 40, 2, 3, 4, 5, 0, 6, 7, 8, 9, + 10, 59, 12, 0, 13, 0, 14, 0, 0, 0, + 15, 0, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 23, 0, 0, - 0, 24, 25, 26, 27, 0, 28, 0, 0, 0, + 0, 0, 0, 26, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 0, 0, 35, - 36, 0, 0, 37, 38, 0, 0, 0, -6, 39, + 0, 0, 30, 31, 32, 33, 34, 0, 0, 0, + 36, 0, 0, 37, 38, 0, 0, 0, 57, 39, 0, 0, 0, 40, 2, 3, 4, 5, 0, 6, - 7, 8, 9, 10, 11, 12, 0, 13, 0, 14, + 7, 8, 9, 10, 59, 12, 0, 13, 0, 14, 0, 0, 0, 15, 0, 16, 17, 18, 0, 0, - 19, 0, 0, 0, 0, 20, 21, 22, 0, 0, - 23, 0, 0, 0, 24, 25, 26, 27, 0, 28, + 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, + 23, 0, 0, 0, 0, 0, 26, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, - 0, 0, 35, 36, 0, 0, 37, 38, 0, 0, + 0, 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, 0, 39, 0, 0, 0, 40, 2, 3, 4, - 5, 0, 6, 7, 8, 9, 10, 59, 12, 0, - 13, 314, 14, 0, 0, 0, 15, 0, 16, 17, - 18, 0, 0, 0, 0, 0, 0, 0, 20, 21, - 22, 0, 0, 23, 0, 0, 0, 0, 0, 26, - 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 5, 0, 6, 7, 8, 9, 10, 59, 12, 213, + 13, 0, 14, 0, 0, 0, 15, 0, 16, 17, + 120, 121, 0, 0, 0, 122, 123, 124, 20, 125, + 22, 0, 126, 127, 128, 0, 0, 0, 0, 26, + 27, 0, 28, 0, 214, 129, 130, 131, 132, 133, + 0, 29, 0, 0, 134, 135, 0, 0, 30, 31, 32, 33, 34, 0, 0, 0, 36, 0, 0, 37, - 38, 0, 0, 0, 57, 39, 0, 0, 0, 40, - 2, 3, 4, 5, 0, 6, 7, 8, 9, 10, - 59, 12, 0, 13, 0, 14, 0, 0, 0, 15, - 0, 16, 17, 18, 0, 0, 0, 0, 0, 0, - 0, 20, 21, 22, 0, 0, 23, 0, 0, 0, - 0, 0, 26, 27, 0, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 0, 0, 0, 36, - 0, 0, 37, 38, 0, 0, 0, 57, 39, 0, - 0, 0, 40, 2, 3, 4, 5, 0, 6, 7, - 8, 9, 10, 59, 12, 0, 13, 0, 14, 0, - 0, 0, 15, 0, 16, 17, 18, 0, 0, 0, - 0, 0, 0, 0, 20, 21, 22, 0, 0, 23, - 0, 0, 0, 0, 0, 26, 27, 0, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 0, - 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, - 0, 39, 0, 0, 0, 40, 2, 3, 4, 5, - 0, 6, 7, 8, 9, 10, 59, 12, 213, 13, - 0, 14, 0, 0, 0, 15, 0, 16, 17, 120, - 121, 0, 0, 0, 122, 123, 124, 20, 125, 22, - 0, 126, 127, 128, 0, 0, 0, 0, 26, 27, - 0, 28, 0, 214, 129, 130, 131, 132, 133, 0, - 29, 0, 0, 134, 135, 0, 0, 30, 31, 32, - 33, 34, 0, 0, 0, 36, 0, 0, 37, 38, - 2, 3, 4, 5, 39, 6, 0, 0, 40, 0, - 59, 12, 0, 13, 0, 0, 0, 0, 0, 0, - 75, 0, 0, 0, 0, 76, 0, 77, 78, 79, - 80, 60, 0, 22, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 2, 3, 4, 5, - 0, 6, 37, 38, 0, 0, 59, 12, 39, 13, - 0, 0, 40, 0, 0, 0, 75, 0, 0, 0, - 0, 0, 0, 77, 0, 79, 0, 60, 0, 22, - 0, 2, 3, 4, 5, 0, 6, 0, 0, 0, - 95, 59, 12, 0, 13, 0, 0, 0, 0, 0, - 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 33, 34, 60, 0, 22, 0, 0, 0, 37, 38, - 0, 0, 0, 0, 39, 0, 0, 0, 40, 0, - 0, 0, 0, 0, 0, 29, 0, 0, 0, 150, + 38, 2, 3, 4, 5, 39, 6, 0, 0, 40, + 0, 59, 12, 0, 13, 0, 123, 124, 0, 125, + 0, 75, 126, 0, 0, 0, 76, 0, 77, 78, + 79, 80, 60, 0, 22, 129, 130, 131, 132, 133, + 0, 0, 0, 0, 134, 135, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 2, 3, 4, - 5, 0, 6, 37, 38, 0, 0, 59, 12, 65, - 13, 120, 121, 40, 0, 0, 122, 123, 124, 0, - 125, 151, 152, 126, 127, 128, 0, 0, 60, 0, - 22, 0, 0, 0, 0, 0, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 134, 135, 0, 0, 0, + 5, 0, 6, 37, 38, 0, 0, 59, 12, 39, + 13, 0, 0, 40, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 77, 0, 79, 0, 60, 0, + 22, 0, 2, 3, 4, 5, 0, 6, 0, 0, + 0, 95, 59, 12, 0, 13, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 0, 0, 164, 0, 0, 0, 37, - 38, 165, 0, 0, 0, 116, 0, 0, 0, 40, - 0, 0, 120, 121, 0, 0, 0, 122, 123, 124, - 0, 125, 0, 0, 126, 127, 128, 166, 0, 0, - 0, 0, 0, 167, 0, 0, 0, 129, 130, 131, - 132, 133, 0, 0, 120, 121, 134, 135, 0, 122, - 123, 124, 0, 125, 0, 0, 126, 127, 128, 168, - 0, 0, 0, 0, 0, 169, 0, 0, 0, 129, - 130, 131, 132, 133, 0, 0, 120, 121, 134, 135, - 0, 122, 123, 124, 0, 125, 0, 0, 126, 127, - 128, 170, 0, 0, 0, 0, 0, 171, 0, 0, - 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, - 134, 135, 0, 122, 123, 124, 0, 125, 0, 0, - 126, 127, 128, 244, 0, 0, 0, 0, 0, 0, + 32, 33, 34, 60, 0, 22, 0, 0, 0, 37, + 38, 0, 0, 0, 0, 39, 0, 0, 0, 40, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 34, 2, 3, + 4, 5, 0, 6, 37, 38, 0, 0, 59, 12, + 39, 13, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 3, 4, 5, 0, 6, 60, + 0, 22, 0, 59, 12, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 123, 124, 0, 125, 0, 0, + 126, 0, 29, 0, 60, 0, 22, 0, 0, 30, + 31, 32, 33, 34, 130, 131, 132, 133, 0, 0, + 37, 38, 134, 135, 0, 0, 65, 29, 0, 0, + 40, 0, 0, 0, 30, 31, 32, 33, 34, 0, + 0, 164, 0, 0, 0, 37, 38, 165, 0, 0, + 0, 116, 0, 0, 0, 40, 0, 0, 120, 121, + 0, 0, 0, 122, 123, 124, 0, 125, 0, 0, + 126, 127, 128, 166, 0, 0, 0, 0, 0, 167, 0, 0, 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, 134, 135, 0, 122, 123, 124, 0, 125, - 0, 0, 126, 127, 128, 245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 0, 0, 126, 127, 128, 168, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, 134, 135, 0, 122, 123, 124, - 0, 125, 0, 0, 126, 127, 128, 246, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, + 0, 125, 0, 0, 126, 127, 128, 170, 0, 0, + 0, 0, 0, 171, 0, 0, 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, 134, 135, 0, 122, - 123, 124, 0, 125, 0, 0, 126, 127, 128, 247, + 123, 124, 0, 125, 0, 0, 126, 127, 128, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, 134, 135, 0, 122, 123, 124, 0, 125, 0, 0, 126, 127, - 128, 0, 0, 0, 0, 0, 0, 0, 161, 0, - 0, 129, 130, 131, 132, 133, 0, 120, 121, 0, - 134, 135, 122, 123, 124, 0, 125, 0, 0, 126, - 127, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 131, 132, 133, 0, 120, 121, - 0, 134, 135, 122, 123, 124, 0, 125, 0, 0, - 126, 127, 128, 0, 0, 0, 0, 0, 172, 173, - 0, 0, 0, 129, 130, 131, 132, 133, 0, 120, - 121, 0, 134, 135, 122, 123, 124, 0, 125, 0, - 0, 126, 127, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 184, 129, 130, 131, 132, 133, 0, - 120, 121, 176, 134, 135, 122, 123, 124, 0, 125, + 128, 246, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 131, 132, 133, 0, 0, 120, 121, + 134, 135, 0, 122, 123, 124, 0, 125, 0, 0, + 126, 127, 128, 247, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 131, 132, 133, 0, 0, + 120, 121, 134, 135, 0, 122, 123, 124, 0, 125, 0, 0, 126, 127, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, - 0, 120, 121, 176, 134, 135, 122, 123, 124, 0, + 0, 0, 161, 0, 0, 129, 130, 131, 132, 133, + 0, 120, 121, 0, 134, 135, 122, 123, 124, 0, 125, 0, 0, 126, 127, 128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 184, 129, 130, 131, 132, + 0, 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, 0, 120, 121, 0, 134, 135, 122, 123, 124, 0, 125, 0, 0, 126, 127, 128, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, - 132, 133, 0, -63, -63, 0, 134, 135, -63, -63, - -63, 0, -63, 0, 0, -63, -63, -63, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, - 0, -63, -63, 0, 0, 69, 0, -63, -63 + 0, 0, 172, 173, 0, 0, 0, 129, 130, 131, + 132, 133, 0, 120, 121, 0, 134, 135, 122, 123, + 124, 0, 125, 0, 0, 126, 127, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 184, 129, 130, + 131, 132, 133, 0, 120, 121, 176, 134, 135, 122, + 123, 124, 0, 125, 0, 0, 126, 127, 128, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 131, 132, 133, 0, 120, 121, 176, 134, 135, + 122, 123, 124, 0, 125, 0, 0, 126, 127, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, + 129, 130, 131, 132, 133, 0, 120, 121, 0, 134, + 135, 122, 123, 124, 0, 125, 0, 0, 126, 127, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 131, 132, 133, 0, 0, 0, 0, + 134, 135 }; static const yytype_int16 yycheck[] = { - 0, 237, 114, 0, 116, 4, 0, 0, 7, 8, - 9, 25, 1, 0, 46, 285, 29, 40, 17, 236, - 46, 20, 217, 88, 27, 27, 296, 26, 27, 21, - 29, 30, 31, 32, 33, 34, 50, 50, 37, 38, - 39, 40, 65, 149, 46, 68, 69, 70, 71, 81, - 49, 50, 41, 248, 160, 81, 21, 274, 275, 69, - 282, 60, 279, 299, 281, 38, 65, 40, 174, 68, - 69, 70, 71, 295, 291, 292, 75, 183, 77, 82, - 258, 91, 92, 63, 64, 321, 66, 12, 13, 69, - 89, 88, 88, 96, 43, 90, 21, 21, 276, 95, - 95, 88, 82, 83, 84, 85, 86, 21, 325, 90, - 21, 91, 92, 113, 95, 114, 115, 116, 21, 113, - 113, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 90, 90, 21, - 139, 21, 95, 95, 48, 49, 94, 95, 147, 89, - 89, 81, 151, 152, 89, 154, 155, 95, 157, 158, - 38, 95, 161, 21, 270, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 287, 45, 95, 284, 21, - 45, 21, 180, 21, 21, 184, 298, 21, 90, 90, - 46, 21, 25, 29, 183, 95, 63, 64, 21, 66, - 50, 45, 69, 25, 25, 311, 25, 313, 25, 232, - 45, 271, 295, 319, 213, 214, 83, 84, 85, 86, - 113, 27, -1, -1, 91, 92, -1, -1, -1, 11, - 12, 13, 14, 232, 16, 63, 64, -1, 66, 21, - 22, 69, 24, -1, -1, 244, 245, 246, 247, -1, - -1, 240, 250, 252, 243, 253, 254, 85, 86, -1, - 42, -1, 44, 91, 92, -1, -1, -1, -1, 268, - -1, 269, -1, -1, 263, -1, -1, -1, -1, -1, - 278, -1, -1, 65, -1, -1, -1, 285, 287, -1, - 72, 73, 74, 75, 76, 293, 294, 295, -1, 298, - -1, 83, 84, -1, -1, -1, 304, 89, -1, -1, - -1, 93, 310, -1, 312, -1, -1, -1, -1, -1, - 0, 1, -1, 323, -1, 325, -1, -1, -1, 327, - 328, 11, 12, 13, 14, -1, 16, 17, 18, 19, + 0, 237, 114, 29, 116, 4, 217, 46, 7, 8, + 9, 25, 11, 1, 0, 9, 0, 11, 17, 88, + 27, 20, 46, 43, 50, 0, 0, 26, 27, 27, + 29, 30, 31, 32, 33, 34, 50, 248, 37, 38, + 39, 40, 81, 282, 258, 88, 40, 38, 46, 40, + 49, 50, 95, 41, 236, 90, 295, 81, 69, 90, + 95, 60, 276, 299, 95, 21, 65, 21, 160, 68, + 69, 65, 71, 285, 68, 82, 75, 71, 77, 89, + 91, 92, 174, 21, 296, 321, 12, 13, 21, 96, + 89, 183, 274, 275, 21, 21, 21, 279, 90, 281, + 90, 21, 88, 95, 88, 95, 48, 49, 21, 291, + 292, 94, 95, 113, 81, 114, 115, 116, 89, 89, + 38, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 113, 113, + 95, 140, 95, 325, 21, 45, 95, 21, 147, 45, + 21, 21, 151, 152, 21, 154, 155, 21, 157, 158, + 90, 90, 161, 46, 21, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 287, 95, 25, 270, 21, + 40, 50, 29, 45, 25, 184, 298, 180, 25, 25, + 45, 25, 284, 271, 295, 183, 113, 57, 58, 27, + -1, -1, 62, 63, 64, -1, 66, -1, -1, 69, + 70, 71, -1, -1, 213, 214, -1, -1, -1, 311, + -1, 313, 82, 83, 84, 85, 86, 319, -1, -1, + -1, 91, 92, 232, -1, -1, 63, 64, 232, 66, + -1, -1, 69, -1, -1, 244, 245, 246, 247, -1, + -1, -1, 240, 252, -1, 243, -1, 250, 85, 86, + 253, 254, -1, -1, 91, 92, -1, -1, -1, 268, + -1, -1, -1, -1, -1, 263, 269, -1, -1, -1, + -1, -1, -1, -1, -1, 278, -1, -1, 287, -1, + -1, -1, 285, -1, -1, -1, -1, -1, -1, 298, + 293, 294, 295, -1, -1, -1, -1, -1, -1, -1, + -1, 304, -1, -1, -1, -1, -1, 310, -1, 312, + -1, -1, -1, 323, -1, 325, 0, 1, -1, -1, + -1, -1, -1, -1, 327, 328, -1, 11, 12, 13, + 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, + 24, -1, 26, -1, -1, -1, 30, -1, 32, 33, + 34, -1, -1, 37, -1, -1, -1, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, 51, 52, 53, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, -1, -1, 79, 80, -1, -1, 83, + 84, -1, 35, -1, 88, 89, -1, -1, -1, 93, + 11, 12, 13, 14, -1, 16, -1, -1, -1, -1, + 21, 22, -1, 24, 57, 58, -1, -1, -1, 62, + 63, 64, -1, 66, 67, 68, 69, 70, 71, -1, + -1, 42, -1, 44, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, -1, -1, -1, -1, 91, 92, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, + -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, + -1, -1, 93, -1, 95, 11, 12, 13, 14, -1, + 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, + 26, -1, -1, -1, 30, -1, 32, 33, 34, -1, + -1, 37, -1, -1, -1, -1, 42, 43, 44, -1, + -1, 47, -1, -1, -1, 51, 52, 53, 54, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, + -1, -1, -1, 89, -1, -1, -1, 93, 11, 12, + 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, + -1, 24, 25, 26, -1, -1, -1, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, -1, 47, -1, -1, -1, -1, -1, + 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, + 83, 84, -1, -1, -1, 88, 89, -1, -1, -1, + 93, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, -1, -1, -1, - 30, -1, 32, 33, 34, -1, -1, 37, -1, -1, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, 52, 53, 54, -1, 56, -1, -1, -1, + -1, -1, -1, 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, + -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, -1, -1, 88, 89, -1, -1, -1, 93, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, -1, -1, -1, 30, -1, 32, 33, 34, -1, -1, - 37, -1, -1, -1, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, 52, 53, 54, -1, 56, + -1, -1, -1, -1, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, - -1, -1, 79, 80, -1, -1, 83, 84, -1, -1, + -1, -1, -1, 80, -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, 11, 12, 13, - 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, - 24, 25, 26, -1, -1, -1, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, -1, -1, 53, - 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, + 14, -1, 16, 17, 18, 19, 20, 21, 22, 46, + 24, -1, 26, -1, -1, -1, 30, -1, 32, 33, + 57, 58, -1, -1, -1, 62, 63, 64, 42, 66, + 44, -1, 69, 70, 71, -1, -1, -1, -1, 53, + 54, -1, 56, -1, 81, 82, 83, 84, 85, 86, + -1, 65, -1, -1, 91, 92, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, - 84, -1, -1, -1, 88, 89, -1, -1, -1, 93, - 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, - 21, 22, -1, 24, -1, 26, -1, -1, -1, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - -1, -1, 53, 54, -1, 56, -1, -1, -1, -1, - -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, - -1, -1, 83, 84, -1, -1, -1, 88, 89, -1, - -1, -1, 93, 11, 12, 13, 14, -1, 16, 17, - 18, 19, 20, 21, 22, -1, 24, -1, 26, -1, - -1, -1, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, -1, 47, - -1, -1, -1, -1, -1, 53, 54, -1, 56, -1, - -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, - -1, -1, 80, -1, -1, 83, 84, -1, -1, -1, - -1, 89, -1, -1, -1, 93, 11, 12, 13, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 46, 24, - -1, 26, -1, -1, -1, 30, -1, 32, 33, 57, - 58, -1, -1, -1, 62, 63, 64, 42, 66, 44, - -1, 69, 70, 71, -1, -1, -1, -1, 53, 54, - -1, 56, -1, 81, 82, 83, 84, 85, 86, -1, - 65, -1, -1, 91, 92, -1, -1, 72, 73, 74, - 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, - 11, 12, 13, 14, 89, 16, -1, -1, 93, -1, - 21, 22, -1, 24, -1, -1, -1, -1, -1, -1, - 31, -1, -1, -1, -1, 36, -1, 38, 39, 40, - 41, 42, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, 11, 12, 13, 14, - -1, 16, 83, 84, -1, -1, 21, 22, 89, 24, - -1, -1, 93, -1, -1, -1, 31, -1, -1, -1, - -1, -1, -1, 38, -1, 40, -1, 42, -1, 44, - -1, 11, 12, 13, 14, -1, 16, -1, -1, -1, - 55, 21, 22, -1, 24, -1, -1, -1, -1, -1, - 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, 76, 42, -1, 44, -1, -1, -1, 83, 84, - -1, -1, -1, -1, 89, -1, -1, -1, 93, -1, - -1, -1, -1, -1, -1, 65, -1, -1, -1, 35, + 84, 11, 12, 13, 14, 89, 16, -1, -1, 93, + -1, 21, 22, -1, 24, -1, 63, 64, -1, 66, + -1, 31, 69, -1, -1, -1, 36, -1, 38, 39, + 40, 41, 42, -1, 44, 82, 83, 84, 85, 86, + -1, -1, -1, -1, 91, 92, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 11, 12, 13, 14, -1, 16, 83, 84, -1, -1, 21, 22, 89, - 24, 57, 58, 93, -1, -1, 62, 63, 64, -1, - 66, 67, 68, 69, 70, 71, -1, -1, 42, -1, - 44, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, -1, -1, -1, -1, 91, 92, -1, -1, -1, + 24, -1, -1, 93, -1, -1, -1, 31, -1, -1, + -1, -1, -1, -1, 38, -1, 40, -1, 42, -1, + 44, -1, 11, 12, 13, 14, -1, 16, -1, -1, + -1, 55, 21, 22, -1, 24, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, -1, -1, 40, -1, -1, -1, 83, - 84, 46, -1, -1, -1, 89, -1, -1, -1, 93, - -1, -1, 57, 58, -1, -1, -1, 62, 63, 64, + 74, 75, 76, 42, -1, 44, -1, -1, -1, 83, + 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, + -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 11, 12, + 13, 14, -1, 16, 83, 84, -1, -1, 21, 22, + 89, 24, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, -1, 11, 12, 13, 14, -1, 16, 42, + -1, 44, -1, 21, 22, -1, 24, -1, -1, -1, + -1, -1, -1, -1, 63, 64, -1, 66, -1, -1, + 69, -1, 65, -1, 42, -1, 44, -1, -1, 72, + 73, 74, 75, 76, 83, 84, 85, 86, -1, -1, + 83, 84, 91, 92, -1, -1, 89, 65, -1, -1, + 93, -1, -1, -1, 72, 73, 74, 75, 76, -1, + -1, 40, -1, -1, -1, 83, 84, 46, -1, -1, + -1, 89, -1, -1, -1, 93, -1, -1, 57, 58, + -1, -1, -1, 62, 63, 64, -1, 66, -1, -1, + 69, 70, 71, 40, -1, -1, -1, -1, -1, 46, + -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, + 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, + -1, -1, 69, 70, 71, 40, -1, -1, -1, -1, + -1, 46, -1, -1, -1, 82, 83, 84, 85, 86, + -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, 40, -1, -1, -1, -1, -1, 46, -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, 40, - -1, -1, -1, -1, -1, 46, -1, -1, -1, 82, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, - 71, 40, -1, -1, -1, -1, -1, 46, -1, -1, + 71, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, - -1, -1, 69, 70, 71, 40, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, - -1, 66, -1, -1, 69, 70, 71, 40, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, - 63, 64, -1, 66, -1, -1, 69, 70, 71, 40, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, - -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, 48, -1, - -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, - 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, - -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, - 69, 70, 71, -1, -1, -1, -1, -1, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, - 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, 84, 85, 86, -1, - 57, 58, 90, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - -1, 57, 58, 90, 91, 92, 62, 63, 64, -1, + -1, -1, 48, -1, -1, 82, 83, 84, 85, 86, + -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, 82, 83, 84, 85, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + -1, -1, 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, - -1, 85, 86, -1, -1, 89, -1, 91, 92 + -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 84, 85, 86, -1, 57, 58, 90, 91, 92, 62, + 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, -1, 57, 58, 90, 91, 92, + 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, + 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, + 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, -1, -1, -1, -1, + 91, 92 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1209,14 +1220,14 @@ static const yytype_uint8 yystos[] = 93, 97, 99, 100, 101, 102, 103, 110, 111, 112, 117, 118, 119, 122, 125, 127, 134, 88, 98, 21, 42, 100, 118, 118, 118, 89, 118, 135, 21, 89, - 114, 126, 43, 21, 120, 31, 36, 38, 39, 40, + 135, 126, 43, 21, 120, 31, 36, 38, 39, 40, 41, 118, 123, 124, 21, 118, 48, 49, 12, 13, 21, 21, 21, 21, 118, 55, 123, 124, 21, 121, 118, 118, 118, 118, 118, 118, 21, 89, 118, 118, 118, 135, 0, 98, 89, 81, 89, 109, 118, 118, 57, 58, 62, 63, 64, 66, 69, 70, 71, 82, - 83, 84, 85, 86, 91, 92, 118, 118, 135, 95, - 135, 135, 135, 135, 95, 118, 118, 38, 124, 128, + 83, 84, 85, 86, 91, 92, 89, 118, 118, 135, + 95, 135, 135, 135, 95, 118, 118, 38, 124, 128, 35, 67, 68, 21, 46, 81, 118, 46, 81, 45, 129, 48, 124, 95, 40, 46, 40, 46, 40, 46, 40, 46, 77, 78, 130, 21, 90, 94, 99, 109, @@ -2879,9 +2890,9 @@ yyreduce: #line 589 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); - g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); + g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str()); inst numpar = 0; - WRITE_UINT32(&numpar, (yyvsp[(3) - (3)].narg)); + WRITE_UINT32(&numpar, (yyvsp[(2) - (2)].narg)); g_lingo->code1(numpar); ;} break; @@ -2902,7 +2913,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2906 "engines/director/lingo/lingo-gr.cpp" +#line 2917 "engines/director/lingo/lingo-gr.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y index a6f7e08865..d6fe5cd7b6 100644 --- a/engines/director/lingo/lingo-gr.y +++ b/engines/director/lingo/lingo-gr.y @@ -586,11 +586,11 @@ argstore: /* nothing */ { g_lingo->codeArgStore(); } ; -macro: ID begin arglist { +macro: ID arglist { g_lingo->code1(g_lingo->c_call); g_lingo->codeString($1->c_str()); inst numpar = 0; - WRITE_UINT32(&numpar, $3); + WRITE_UINT32(&numpar, $2); g_lingo->code1(numpar); } ; -- cgit v1.2.3