diff options
author | Eugene Sandulenko | 2019-12-23 13:11:20 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2019-12-23 13:14:54 +0100 |
commit | b2ce2231a1c14a124a0f6727c5689637e70c6c12 (patch) | |
tree | 5c467b72c3e385f9f5b0f623697ca8fe48342083 | |
parent | e0340374c889a77e7747bf5435105bd91e89fe60 (diff) | |
download | scummvm-rg350-b2ce2231a1c14a124a0f6727c5689637e70c6c12.tar.gz scummvm-rg350-b2ce2231a1c14a124a0f6727c5689637e70c6c12.tar.bz2 scummvm-rg350-b2ce2231a1c14a124a0f6727c5689637e70c6c12.zip |
DIRECTOR: LINGO: Fix regression in 'go' keyword grammar
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 306 | ||||
-rw-r--r-- | engines/director/lingo/lingo-gr.y | 8 |
2 files changed, 171 insertions, 143 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index f8c2c50c1a..d343a14166 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -542,7 +542,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 124 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1368 +#define YYLAST 1504 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 106 @@ -671,9 +671,9 @@ static const yytype_int16 yyrhs[] = -1, 23, 30, 143, -1, 30, -1, 128, 105, 30, -1, 30, -1, 129, 105, 30, -1, 30, -1, 130, 105, 30, -1, 42, 45, -1, 42, 48, -1, 42, - 50, -1, 42, 124, -1, 42, 124, 132, -1, 42, + 50, -1, 42, 125, -1, 42, 125, 132, -1, 42, 132, -1, 49, 47, 125, -1, 47, 125, -1, 62, - 63, -1, 62, 124, -1, 62, 124, 132, -1, 62, + 63, -1, 62, 125, -1, 62, 125, 132, -1, 62, 132, -1, -1, 35, 134, 143, -1, -1, 46, 30, 136, 119, 139, 100, 141, 121, -1, 60, 30, -1, -1, 36, 137, 119, 139, 100, 141, 121, -1, 138, @@ -850,51 +850,51 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -240 +#define YYPACT_NINF -207 static const yytype_int16 yypact[] = { - 281, -80, -240, -240, 723, -240, -240, 723, 723, 723, - 16, -240, 723, 723, 73, 756, -240, -240, -240, -240, - 25, 53, 184, -240, 57, 723, -2, 78, 69, 71, - 723, 33, 77, 723, 723, 723, 723, 723, 723, -240, - 87, 88, 18, 723, 723, 723, 723, 2, -240, -240, - -240, -240, -240, 723, 54, 723, 641, 723, -240, 1257, - -240, -240, -240, -240, -240, -240, -240, -240, 21, 723, - 1257, 1257, 1257, 1257, 15, 723, 1257, 15, -240, -240, - 723, 15, 723, -240, -240, -240, 20, -240, 723, -240, - 79, -240, -31, -240, -240, 795, 94, -240, -42, 723, - 7, 95, -240, 1151, -240, -31, -240, -240, 43, -240, - 829, 863, 897, 931, 1223, -240, 45, -240, 121, -240, - -240, 1185, 1257, -7, -240, 371, 1257, 723, 1257, -240, - 1101, 723, 723, 723, 723, 723, 723, 723, 723, 723, - 723, 723, 723, 723, 723, 723, 723, 723, 122, 723, - 795, 723, 49, 1185, -78, 49, 122, 126, 1257, 723, - -240, -240, 82, 723, 723, -240, 723, 723, 90, 1137, - 723, 723, -240, 723, -240, 128, 723, 723, 723, 723, - 723, 723, 723, 723, 723, 723, 131, -30, -240, -240, - 723, -240, -240, 1257, 110, -240, 723, -240, -37, -37, - -37, -37, 1270, 1270, -240, -28, -37, -37, -37, -37, - -28, -50, -50, -240, -240, -240, 0, 1257, -240, 9, - -240, 1257, 122, -240, -240, 1257, 1257, 1257, -37, 723, - 723, 1257, -37, 1257, -240, 1257, 965, 1257, 999, 1257, - 1033, 1257, 1067, 1257, 1257, -240, -240, 723, 1257, 551, - -27, -240, 1257, 551, 60, 141, 60, 10, -37, 1257, - 723, 723, 723, 723, 11, -240, -240, 92, 129, 723, - 551, 97, 153, -240, -240, -240, 60, 1257, 1257, 1257, - 1257, -240, -240, 723, 1257, 150, -240, -240, 461, 551, - -240, 1257, -240, -240, 152, 150, 723, 161, 551, -240, - 551, -240, 104, -240, 1257, -240, 93, 551, 105, -240, - -240, 143, 169, 112, -240, 551, -240, -240, -240, 111, - 551, -240, -240 + 281, -83, -207, -207, 843, -207, -207, 843, 843, 843, + 26, -207, 843, 843, 52, 876, -207, -207, -207, -207, + 16, 51, 723, -207, 64, 843, 17, 8, 68, 73, + 843, 783, 74, 843, 843, 843, 843, 843, 843, -207, + 77, 78, 9, 843, 843, 843, 843, 2, -207, -207, + -207, -207, -207, 843, 42, 843, 641, 843, -207, 1393, + -207, -207, -207, -207, -207, -207, -207, -207, 10, 843, + 1393, 1393, 1393, 1393, 7, 843, 1393, 7, -207, -207, + 843, 7, 843, -207, -207, -207, 11, -207, 843, -207, + 66, -207, 929, -207, -207, 915, 85, -207, -1, 843, + 0, 60, -207, 1287, -207, 929, -207, -207, 12, -207, + 965, 999, 1033, 1067, 1359, -207, 13, -207, 89, -207, + -207, 1321, 1393, 1, -207, 371, 1393, 843, 1393, -207, + 1237, 843, 843, 843, 843, 843, 843, 843, 843, 843, + 843, 843, 843, 843, 843, 843, 843, 843, 90, 843, + 915, 843, 20, 1321, -89, 20, 90, 91, 1393, 843, + -207, -207, 71, 843, 843, -207, 843, 843, 55, 1273, + 843, 843, -207, 843, -207, 94, 843, 843, 843, 843, + 843, 843, 843, 843, 843, 843, 96, -15, -207, -207, + 843, -207, -207, 1393, 95, -207, 843, -207, -50, -50, + -50, -50, 1406, 1406, -207, -37, -50, -50, -50, -50, + -37, -35, -35, -207, -207, -207, -85, 1393, -207, -48, + -207, 1393, 90, -207, -207, 1393, 1393, 1393, -50, 843, + 843, 1393, -50, 1393, -207, 1393, 1101, 1393, 1135, 1393, + 1169, 1393, 1203, 1393, 1393, -207, -207, 843, 1393, 551, + -27, -207, 1393, 551, 43, 120, 43, -28, -50, 1393, + 843, 843, 843, 843, -9, -207, -207, 61, 97, 843, + 551, 63, 126, -207, -207, -207, 43, 1393, 1393, 1393, + 1393, -207, -207, 843, 1393, 118, -207, -207, 461, 551, + -207, 1393, -207, -207, 123, 118, 843, 128, 551, -207, + 551, -207, 75, -207, 1393, -207, 79, 551, 81, -207, + -207, 111, 152, 93, -207, 551, -207, -207, -207, 99, + 551, -207, -207 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -240, -240, 80, -240, 147, 19, -240, -89, -240, -240, - -240, -240, -240, -82, -40, -105, -240, -240, -8, -4, - 48, -240, -240, -240, -240, -240, -19, -240, -240, -240, - -240, -240, -240, -141, -240, -239, -240, -39, 39 + -207, -207, 65, -207, 133, 19, -207, -104, -207, -207, + -207, -207, -207, -82, -40, -105, -207, -207, -8, -4, + 31, -207, -207, -207, -207, -207, -19, -207, -207, -207, + -207, -207, -207, -142, -207, -206, -207, -39, 84 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -905,29 +905,29 @@ static const yytype_int16 yypgoto[] = static const yytype_int16 yytable[] = { 70, 156, 124, 71, 72, 73, 79, 123, 76, 73, - 268, 73, 106, 166, 92, 219, 88, 275, 90, 51, - 67, 95, 137, 105, 218, 167, 103, 190, 269, 109, - 110, 111, 112, 113, 114, 137, 152, 290, 138, 119, - 120, 121, 122, 155, 137, 2, 75, 146, 147, 126, - 5, 128, 77, 130, 81, 96, 97, 143, 144, 145, - 146, 147, 170, 78, 16, 150, 17, 144, 145, 146, - 147, 122, 246, 160, 171, 247, 153, 84, 122, 222, - 88, 257, 90, 85, 158, 2, 174, 94, 194, 195, - 5, 168, 253, 98, 99, 169, 104, 189, 190, 101, - 254, 102, 125, 78, 16, 255, 17, 107, 100, 256, - 276, 14, 223, 281, 255, 255, 190, 115, 117, 118, - 151, 127, 149, 193, 165, 157, 159, 198, 199, 200, + 268, 73, 106, 218, 219, 254, 190, 67, 92, 51, + 255, 95, 137, 98, 99, 138, 103, 105, 269, 109, + 110, 111, 112, 113, 114, 137, 152, 137, 100, 119, + 120, 121, 122, 155, 143, 144, 145, 146, 147, 126, + 275, 128, 256, 130, 166, 170, 75, 255, 144, 145, + 146, 147, 146, 147, 2, 150, 167, 171, 84, 5, + 290, 122, 276, 160, 96, 97, 153, 255, 122, 222, + 257, 85, 78, 16, 158, 17, 174, 246, 194, 195, + 247, 168, 253, 281, 94, 169, 190, 77, 101, 81, + 14, 223, 125, 102, 107, 189, 190, 115, 117, 127, + 118, 149, 151, 159, 172, 165, 157, 175, 186, 187, + 215, 220, 229, 193, 234, 190, 245, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 51, 122, 270, 217, 175, 172, - 186, 187, 215, 250, 190, 221, 220, 229, 234, 225, - 226, 245, 227, 228, 251, 272, 231, 232, 288, 233, - 289, 274, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 282, 287, 283, 298, 248, 300, 286, 293, - 301, 305, 252, 310, 307, 314, 2, 316, 312, 317, - 321, 5, 318, 129, 315, 191, 303, 0, 264, 267, - 224, 320, 0, 271, 78, 16, 0, 17, 0, 309, - 0, 0, 0, 0, 0, 258, 259, 0, 0, 87, - 285, 88, 89, 90, 91, 0, 0, 0, 0, 0, + 211, 212, 213, 214, 51, 122, 270, 217, 272, 251, + 274, 282, 283, 250, 286, 221, 287, 293, 305, 225, + 226, 301, 227, 228, 310, 316, 231, 232, 288, 233, + 289, 314, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 317, 318, 312, 298, 248, 300, 321, 129, + 191, 303, 252, 224, 307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 315, 0, 0, 0, 264, 267, + 0, 320, 0, 271, 0, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 258, 259, 0, 0, 0, + 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 292, 0, 0, 0, 0, 0, 0, 299, 0, 0, 302, 0, 277, 278, 279, 280, 308, 0, 0, 0, 311, 284, 0, 313, 0, 0, @@ -980,7 +980,19 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 2, 43, 44, 3, 4, 5, 0, 45, 0, 46, 0, 0, 0, 11, 12, 13, 0, 14, 68, 16, 0, 17, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, + 88, 89, 90, 91, 69, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 2, 0, 0, 3, 4, + 5, 34, 35, 36, 37, 38, 0, 0, 11, 12, + 13, 42, 14, 68, 16, 0, 17, 0, 43, 44, + 0, 0, 0, 0, 45, 0, 46, 0, 0, 0, + 88, 0, 90, 0, 69, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, + 0, 0, 0, 0, 33, 2, 0, 0, 3, 4, + 5, 34, 35, 36, 37, 38, 0, 0, 11, 12, + 13, 42, 14, 68, 16, 0, 17, 0, 43, 44, + 0, 0, 0, 0, 45, 0, 46, 0, 2, 0, 0, 3, 4, 5, 69, 0, 27, 0, 0, 0, 0, 11, 12, 13, 0, 14, 68, 16, 0, 17, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, @@ -989,86 +1001,88 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 45, 0, 46, 33, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 162, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 43, 44, 0, 0, 0, 0, 80, 0, 46, + 0, 43, 44, 0, 0, 0, 88, 80, 90, 46, 131, 132, 133, 134, 135, 136, 0, 137, 163, 164, - 138, 139, 140, 0, 0, 0, 0, 0, 176, 0, - 0, 0, 0, 0, 177, 0, 0, 141, 142, 143, + 138, 139, 140, 0, 131, 132, 133, 134, 135, 136, + 0, 137, 0, 0, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 176, 0, 0, 0, 0, 0, + 177, 141, 142, 143, 144, 145, 146, 147, 0, 0, + 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, + 138, 139, 140, 0, 0, 0, 0, 0, 178, 0, + 0, 0, 0, 0, 179, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 0, 0, 179, 0, + 0, 0, 180, 0, 0, 0, 0, 0, 181, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, - 140, 0, 0, 0, 0, 0, 180, 0, 0, 0, - 0, 0, 181, 0, 0, 141, 142, 143, 144, 145, + 140, 0, 0, 0, 0, 0, 182, 0, 0, 0, + 0, 0, 183, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, 0, 0, - 182, 0, 0, 0, 0, 0, 183, 0, 0, 141, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, - 138, 139, 140, 0, 0, 0, 0, 0, 261, 0, + 138, 139, 140, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, - 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, - 140, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 196, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 196, 0, 0, 141, + 0, 0, 0, 0, 0, 0, 0, 0, 230, 141, + 142, 143, 144, 145, 146, 147, 0, 197, 131, 132, + 133, 134, 135, 136, 173, 137, 0, 0, 138, 139, + 140, 0, 131, 132, 133, 134, 135, 136, 0, 137, + 0, 0, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 230, 141, 142, 143, 144, 145, 146, 147, - 0, 197, 131, 132, 133, 134, 135, 136, 173, 137, - 0, 0, 138, 139, 140, 0, 131, 132, 133, 134, - 135, 136, 0, 137, 0, 0, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, - 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, - 138, 139, 140, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, - 144, 145, 146, 147, 0, 0, 0, 188, 131, 132, + 0, 0, 0, 188, 131, 132, 133, 134, 135, 136, + 0, 137, 0, 0, 138, 139, 140, 0, 0, 0, + 0, 0, 184, 185, 0, 0, 0, 0, 0, 0, + 0, 141, 142, 143, 144, 145, 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, 0, 0, 138, 139, - 140, 0, 0, 0, 0, 0, 184, 185, 0, 0, - 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, - 146, 147, 131, 132, 133, 134, 135, 136, 0, 137, - 0, 0, 138, 139, 140, 131, 132, 133, 134, 0, - 0, 0, 137, 0, 0, 138, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 147, 0, 0, 0, 0, - 0, 0, 141, 142, 143, 144, 145, 146, 147 + 140, 131, 132, 133, 134, 0, 0, 0, 137, 0, + 0, 138, 139, 140, 0, 141, 142, 143, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 141, 142, + 143, 144, 145, 146, 147 }; static const yytype_int16 yycheck[] = { 4, 83, 0, 7, 8, 9, 14, 46, 12, 13, - 37, 15, 31, 55, 22, 156, 47, 256, 49, 0, - 100, 25, 72, 31, 102, 67, 30, 105, 55, 33, - 34, 35, 36, 37, 38, 72, 75, 276, 75, 43, - 44, 45, 46, 82, 72, 12, 30, 97, 98, 53, - 17, 55, 13, 57, 15, 57, 58, 94, 95, 96, - 97, 98, 55, 30, 31, 69, 33, 95, 96, 97, - 98, 75, 102, 92, 67, 105, 80, 52, 82, 161, - 47, 222, 49, 30, 88, 12, 105, 30, 128, 129, - 17, 99, 197, 15, 16, 99, 63, 104, 105, 30, - 100, 30, 100, 30, 31, 105, 33, 30, 30, 100, - 100, 29, 30, 102, 105, 105, 105, 30, 30, 101, - 105, 67, 101, 127, 30, 105, 47, 131, 132, 133, + 37, 15, 31, 102, 156, 100, 105, 100, 22, 0, + 105, 25, 72, 15, 16, 75, 30, 31, 55, 33, + 34, 35, 36, 37, 38, 72, 75, 72, 30, 43, + 44, 45, 46, 82, 94, 95, 96, 97, 98, 53, + 256, 55, 100, 57, 55, 55, 30, 105, 95, 96, + 97, 98, 97, 98, 12, 69, 67, 67, 52, 17, + 276, 75, 100, 92, 57, 58, 80, 105, 82, 161, + 222, 30, 30, 31, 88, 33, 105, 102, 128, 129, + 105, 99, 197, 102, 30, 99, 105, 13, 30, 15, + 29, 30, 100, 30, 30, 104, 105, 30, 30, 67, + 101, 101, 105, 47, 54, 30, 105, 105, 105, 30, + 30, 30, 67, 127, 30, 105, 30, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 125, 149, 251, 151, 105, 54, - 105, 30, 30, 193, 105, 159, 30, 67, 30, 163, - 164, 30, 166, 167, 54, 105, 170, 171, 273, 173, - 275, 30, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 90, 30, 55, 290, 190, 292, 91, 39, - 38, 30, 196, 89, 299, 90, 12, 54, 105, 30, - 89, 17, 90, 56, 309, 125, 295, -1, 247, 249, - 162, 316, -1, 253, 30, 31, -1, 33, -1, 301, - -1, -1, -1, -1, -1, 229, 230, -1, -1, 45, - 270, 47, 48, 49, 50, -1, -1, -1, -1, -1, + 30, 90, 55, 193, 91, 159, 30, 39, 30, 163, + 164, 38, 166, 167, 89, 54, 170, 171, 273, 173, + 275, 90, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 30, 90, 105, 290, 190, 292, 89, 56, + 125, 295, 196, 162, 299, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 309, -1, -1, -1, 247, 249, + -1, 316, -1, 253, -1, -1, -1, -1, -1, 301, + -1, -1, -1, -1, -1, 229, 230, -1, -1, -1, + 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, 294, -1, 260, 261, 262, 263, 300, -1, -1, -1, 304, 269, -1, 307, -1, -1, @@ -1121,7 +1135,19 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 12, 95, 96, 15, 16, 17, -1, 101, -1, 103, -1, -1, -1, 25, 26, 27, -1, 29, 30, 31, -1, 33, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, + 47, 48, 49, 50, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 71, 12, -1, -1, 15, 16, + 17, 78, 79, 80, 81, 82, -1, -1, 25, 26, + 27, 88, 29, 30, 31, -1, 33, -1, 95, 96, + -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, + 47, -1, 49, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, + -1, -1, -1, -1, 71, 12, -1, -1, 15, 16, + 17, 78, 79, 80, 81, 82, -1, -1, 25, 26, + 27, 88, 29, 30, 31, -1, 33, -1, 95, 96, + -1, -1, -1, -1, 101, -1, 103, -1, 12, -1, -1, 15, 16, 17, 51, -1, 53, -1, -1, -1, -1, 25, 26, 27, -1, 29, 30, 31, -1, 33, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, @@ -1130,8 +1156,13 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, 101, -1, 103, 71, -1, -1, -1, -1, -1, -1, 78, 79, 80, 81, 82, 44, -1, -1, -1, -1, 88, -1, -1, -1, -1, -1, - -1, 95, 96, -1, -1, -1, -1, 101, -1, 103, + -1, 95, 96, -1, -1, -1, 47, 101, 49, 103, 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, + 75, 76, 77, -1, 65, 66, 67, 68, 69, 70, + -1, 72, -1, -1, 75, 76, 77, 92, 93, 94, + 95, 96, 97, 98, 49, -1, -1, -1, -1, -1, + 55, 92, 93, 94, 95, 96, 97, 98, -1, -1, + 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, 55, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, @@ -1143,7 +1174,7 @@ static const yytype_int16 yycheck[] = -1, -1, 55, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, -1, -1, - 49, -1, -1, -1, -1, -1, 55, -1, -1, 92, + 49, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, @@ -1156,32 +1187,29 @@ static const yytype_int16 yycheck[] = -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, - 77, -1, -1, -1, -1, -1, 49, -1, -1, -1, - -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 55, -1, -1, 92, + -1, -1, -1, -1, -1, -1, -1, -1, 55, 92, + 93, 94, 95, 96, 97, 98, -1, 100, 65, 66, + 67, 68, 69, 70, 57, 72, -1, -1, 75, 76, + 77, -1, 65, 66, 67, 68, 69, 70, -1, 72, + -1, -1, 75, 76, 77, 92, 93, 94, 95, 96, + 97, 98, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 92, 93, 94, 95, 96, 97, 98, - -1, 100, 65, 66, 67, 68, 69, 70, 57, 72, - -1, -1, 75, 76, 77, -1, 65, 66, 67, 68, - 69, 70, -1, 72, -1, -1, 75, 76, 77, 92, - 93, 94, 95, 96, 97, 98, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, - 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, - 95, 96, 97, 98, -1, -1, -1, 102, 65, 66, + -1, -1, -1, 102, 65, 66, 67, 68, 69, 70, + -1, 72, -1, -1, 75, 76, 77, -1, -1, -1, + -1, -1, 83, 84, -1, -1, -1, -1, -1, -1, + -1, 92, 93, 94, 95, 96, 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, -1, -1, 75, 76, - 77, -1, -1, -1, -1, -1, 83, 84, -1, -1, - -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, - 97, 98, 65, 66, 67, 68, 69, 70, -1, 72, - -1, -1, 75, 76, 77, 65, 66, 67, 68, -1, - -1, -1, 72, -1, -1, 75, 76, 77, -1, 92, - 93, 94, 95, 96, 97, 98, -1, -1, -1, -1, - -1, -1, 92, 93, 94, 95, 96, 97, 98 + 77, 65, 66, 67, 68, -1, -1, -1, 72, -1, + -1, 75, 76, 77, -1, 92, 93, 94, 95, 96, + 97, 98, -1, -1, -1, -1, -1, -1, 92, 93, + 94, 95, 96, 97, 98 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1197,8 +1225,8 @@ static const yytype_uint8 yystos[] = 126, 127, 131, 133, 135, 138, 142, 100, 30, 51, 125, 125, 125, 125, 144, 30, 125, 144, 30, 124, 101, 144, 134, 137, 52, 30, 128, 45, 47, 48, - 49, 50, 124, 132, 30, 125, 57, 58, 15, 16, - 30, 30, 30, 125, 63, 124, 132, 30, 130, 125, + 49, 50, 125, 132, 30, 125, 57, 58, 15, 16, + 30, 30, 30, 125, 63, 125, 132, 30, 130, 125, 125, 125, 125, 125, 125, 30, 129, 30, 101, 125, 125, 125, 125, 143, 0, 100, 125, 67, 125, 110, 125, 65, 66, 67, 68, 69, 70, 72, 75, 76, @@ -2861,7 +2889,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2865 "engines/director/lingo/lingo-gr.cpp" +#line 2893 "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 bd1d0a4f1e..72c4d931e9 100644 --- a/engines/director/lingo/lingo-gr.y +++ b/engines/director/lingo/lingo-gr.y @@ -461,11 +461,11 @@ instancelist: ID { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString($ gotofunc: tGO tLOOP { g_lingo->code1(g_lingo->c_gotoloop); } | tGO tNEXT { g_lingo->code1(g_lingo->c_gotonext); } | tGO tPREVIOUS { g_lingo->code1(g_lingo->c_gotoprevious); } - | tGO simpleexpr { + | tGO expr { g_lingo->code1(g_lingo->c_intpush); g_lingo->codeInt(1); g_lingo->code1(g_lingo->c_goto); } - | tGO simpleexpr gotomovie { + | tGO expr gotomovie { g_lingo->code1(g_lingo->c_intpush); g_lingo->codeInt(3); g_lingo->code1(g_lingo->c_goto); } @@ -480,11 +480,11 @@ gotomovie: tOF tMOVIE expr ; playfunc: tPLAY tDONE { g_lingo->code1(g_lingo->c_playdone); } - | tPLAY simpleexpr { + | tPLAY expr { g_lingo->code1(g_lingo->c_intpush); g_lingo->codeInt(1); g_lingo->code1(g_lingo->c_play); } - | tPLAY simpleexpr gotomovie { + | tPLAY expr gotomovie { g_lingo->code1(g_lingo->c_intpush); g_lingo->codeInt(3); g_lingo->code1(g_lingo->c_play); } |