aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-09 21:11:36 +0100
committerEugene Sandulenko2019-12-10 00:32:54 +0100
commit3d86a5c09d4caa6ba3aaaa77cdc9400d5a7ff847 (patch)
treedd7998cbd91f7ee9b0497afa53c724f0a87406c5 /engines/director
parent2d90392ba52867334d30853d061514028bf5b633 (diff)
downloadscummvm-rg350-3d86a5c09d4caa6ba3aaaa77cdc9400d5a7ff847.tar.gz
scummvm-rg350-3d86a5c09d4caa6ba3aaaa77cdc9400d5a7ff847.tar.bz2
scummvm-rg350-3d86a5c09d4caa6ba3aaaa77cdc9400d5a7ff847.zip
DIRECTOR: LINGO: Specified precedence for '&&' operation
Diffstat (limited to 'engines/director')
-rw-r--r--engines/director/lingo/lingo-gr.cpp148
-rw-r--r--engines/director/lingo/lingo-gr.y2
2 files changed, 75 insertions, 75 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index b6eec20650..14902d00d1 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -852,51 +852,51 @@ static const yytype_int16 yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -163
+#define YYPACT_NINF -170
static const yytype_int16 yypact[] =
{
- 271, -57, -163, -163, 819, -163, -163, 819, 819, 819,
- 22, -163, 819, 819, 819, 880, -163, -163, -163, 4,
- 40, 718, -163, 45, 819, -42, -2, 55, 57, 59,
- 819, 779, 84, 819, 819, 819, 819, 819, 819, -163,
- 86, 94, 44, 819, 819, 819, 819, 2, -163, -163,
- -163, -163, -163, 819, 85, 819, 635, 819, -163, 1346,
- -163, -163, -163, -163, -163, -163, -163, -163, 50, 819,
- -163, 1346, 1346, 1346, 1346, 48, 819, 1346, 48, 1346,
- 819, 48, 819, -163, -163, 49, 819, -163, 819, -163,
- 109, -163, 1346, 32, -163, -163, 24, 128, -163, -5,
- 819, -1, 105, -163, -163, 1261, -163, 32, -163, -163,
- 60, 87, 919, 953, 987, 1021, 1312, -163, 64, -163,
- 143, 87, 87, 1274, 1346, 21, -163, 362, 1346, 819,
- 1346, -163, 1191, 819, 819, 819, 819, 819, 819, 819,
+ 271, -80, -170, -170, 819, -170, -170, 819, 819, 819,
+ 26, -170, 819, 819, 819, 880, -170, -170, -170, 10,
+ 37, 718, -170, 49, 819, -42, -2, 55, 57, 59,
+ 819, 779, 78, 819, 819, 819, 819, 819, 819, -170,
+ 80, 83, 14, 819, 819, 819, 819, 2, -170, -170,
+ -170, -170, -170, 819, 56, 819, 635, 819, -170, 1346,
+ -170, -170, -170, -170, -170, -170, -170, -170, 44, 819,
+ -170, 1346, 1346, 1346, 1346, 46, 819, 1346, 46, 1346,
+ 819, 46, 819, -170, -170, 47, 819, -170, 819, -170,
+ 107, -170, 1346, 5, -170, -170, 24, 125, -170, -32,
+ 819, -5, 102, -170, -170, 1261, -170, 5, -170, -170,
+ 52, -170, 919, 953, 987, 1021, 1312, -170, 53, -170,
+ 133, -170, -170, 1274, 1346, 9, -170, 362, 1346, 819,
+ 1346, -170, 1191, 819, 819, 819, 819, 819, 819, 819,
819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
- 144, 819, 24, 819, 79, 1274, -26, 79, 156, 1346,
- 1346, 819, -163, -163, 75, 819, 819, -163, 819, 819,
- 119, 1227, 819, 819, -163, -163, 819, -163, 160, 819,
- 819, 819, 819, 819, 819, 819, 819, 819, 819, 161,
- 7, -163, -163, 819, -163, -163, 1346, 138, -163, 819,
- -163, -38, -38, -38, -38, 851, 851, 87, 1346, -38,
- -38, -38, -38, 10, -51, -51, 87, 87, -163, -82,
- 1346, -163, -163, 1346, 144, -163, -163, 1346, 1346, 1346,
- -38, 819, 819, 1346, -38, 144, 1346, -163, 1346, 1055,
- 1346, 1089, 1346, 1123, 1346, 1157, 1346, 1346, -163, -163,
- 819, 1346, 544, 0, -163, 1346, 544, 88, 163, -37,
- -38, 1346, -35, 819, 819, 819, 819, 9, -163, -163,
- 106, 141, 819, 544, 107, 168, -163, -163, 88, 88,
- 1346, 1346, 1346, 1346, -163, -163, 819, 1346, 162, -163,
- -163, 453, -163, -163, 1346, -163, -163, 164, 162, 819,
- 173, 544, 544, -163, 544, -163, 114, -163, 1346, -163,
- 99, 544, 115, -163, -163, 153, 178, 122, -163, 544,
- -163, -163, -163, 120, 544, -163, -163
+ 136, 819, 24, 819, 64, 1274, -26, 64, 143, 1346,
+ 1346, 819, -170, -170, 97, 819, 819, -170, 819, 819,
+ 106, 1227, 819, 819, -170, -170, 819, -170, 155, 819,
+ 819, 819, 819, 819, 819, 819, 819, 819, 819, 156,
+ -20, -170, -170, 819, -170, -170, 1346, 137, -170, 819,
+ -170, -38, -38, -38, -38, 851, 851, -170, 8, -38,
+ -38, -38, -38, 8, -51, -51, -170, -170, -170, -82,
+ 1346, -170, -170, 1346, 136, -170, -170, 1346, 1346, 1346,
+ -38, 819, 819, 1346, -38, 136, 1346, -170, 1346, 1055,
+ 1346, 1089, 1346, 1123, 1346, 1157, 1346, 1346, -170, -170,
+ 819, 1346, 544, -11, -170, 1346, 544, 81, 160, -37,
+ -38, 1346, -31, 819, 819, 819, 819, 6, -170, -170,
+ 101, 138, 819, 544, 104, 164, -170, -170, 81, 81,
+ 1346, 1346, 1346, 1346, -170, -170, 819, 1346, 159, -170,
+ -170, 453, -170, -170, 1346, -170, -170, 161, 159, 819,
+ 169, 544, 544, -170, 544, -170, 110, -170, 1346, -170,
+ 95, 544, 112, -170, -170, 150, 175, 115, -170, 544,
+ -170, -170, -170, 117, 544, -170, -170
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -163, -163, 89, -163, 159, 1, -163, -81, -163, -163,
- -163, -163, -163, -157, -85, -40, -163, -163, 118, -4,
- 56, -163, -163, -163, -163, -163, 190, -19, -163, -163,
- -163, -163, -163, -163, -162, -163, -128, -163, -39, 8
+ -170, -170, 86, -170, 152, 1, -170, -88, -170, -170,
+ -170, -170, -170, -157, -85, -40, -170, -170, 116, -4,
+ 51, -170, -170, -170, -170, -170, 186, -19, -170, -170,
+ -170, -170, -170, -170, -169, -170, -128, -170, -39, 58
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -908,27 +908,27 @@ static const yytype_int16 yytable[] =
{
71, 51, 126, 72, 73, 74, 224, 125, 77, 74,
79, 74, 108, 99, 100, 97, 98, 92, 235, 257,
- 96, 78, 139, 81, 258, 140, 105, 92, 101, 111,
- 112, 113, 114, 115, 116, 139, 271, 154, 140, 121,
- 122, 123, 124, 157, 67, 197, 198, 148, 149, 128,
- 168, 130, 76, 132, 172, 272, 83, 145, 146, 147,
- 148, 149, 259, 169, 278, 152, 279, 173, 164, 258,
- 84, 258, 124, 262, 162, 95, 155, 221, 124, 88,
- 193, 90, 159, 139, 160, 102, 140, 103, 177, 104,
+ 96, 67, 139, 168, 258, 271, 105, 92, 101, 111,
+ 112, 113, 114, 115, 116, 139, 169, 154, 140, 121,
+ 122, 123, 124, 157, 272, 197, 198, 148, 149, 128,
+ 172, 130, 88, 132, 90, 259, 76, 145, 146, 147,
+ 148, 149, 83, 173, 278, 152, 262, 84, 164, 258,
+ 279, 78, 124, 81, 162, 258, 155, 221, 124, 95,
+ 193, 139, 159, 249, 160, 102, 250, 103, 177, 104,
133, 134, 135, 136, 137, 138, 171, 139, 165, 166,
- 140, 141, 142, 127, 14, 225, 146, 147, 148, 149,
- 249, 253, 284, 250, 109, 193, 117, 143, 144, 145,
- 146, 147, 148, 149, 119, 196, 192, 193, 51, 201,
+ 140, 141, 142, 127, 146, 147, 148, 149, 109, 284,
+ 117, 253, 193, 119, 192, 193, 120, 143, 144, 145,
+ 146, 147, 148, 149, 129, 196, 14, 225, 51, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 120, 124, 313, 220,
- 292, 293, 151, 129, 153, 158, 161, 223, 167, 174,
- 256, 227, 228, 140, 229, 230, 178, 270, 233, 234,
- 189, 274, 236, 190, 218, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 193, 222, 231, 288, 251,
- 237, 248, 254, 277, 275, 255, 286, 285, 290, 289,
- 296, 305, 295, 309, 314, 316, 318, 320, 321, 303,
- 325, 267, 306, 322, 273, 131, 194, 307, 170, 312,
- 226, 107, 0, 315, 0, 0, 317, 260, 261, 0,
+ 212, 213, 214, 215, 216, 217, 151, 124, 313, 220,
+ 292, 293, 153, 158, 161, 167, 174, 223, 178, 189,
+ 256, 227, 228, 190, 229, 230, 218, 270, 233, 234,
+ 193, 274, 236, 222, 231, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 237, 248, 275, 288, 251,
+ 277, 254, 285, 286, 290, 255, 289, 296, 305, 309,
+ 314, 316, 295, 318, 320, 321, 322, 325, 131, 303,
+ 307, 267, 306, 194, 273, 226, 170, 107, 0, 312,
+ 0, 0, 0, 315, 0, 0, 317, 260, 261, 0,
0, 0, 0, 0, 323, 0, 291, 0, 0, 326,
0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
0, 0, 301, 302, 0, 304, 0, 0, 0, 280,
@@ -1057,27 +1057,27 @@ static const yytype_int16 yycheck[] =
{
4, 0, 0, 7, 8, 9, 163, 46, 12, 13,
14, 15, 31, 15, 16, 57, 58, 21, 175, 101,
- 24, 13, 73, 15, 106, 76, 30, 31, 30, 33,
- 34, 35, 36, 37, 38, 73, 36, 76, 76, 43,
- 44, 45, 46, 82, 101, 130, 131, 98, 99, 53,
- 55, 55, 30, 57, 55, 55, 52, 95, 96, 97,
- 98, 99, 224, 68, 101, 69, 101, 68, 44, 106,
- 30, 106, 76, 235, 93, 30, 80, 103, 82, 47,
- 106, 49, 86, 73, 88, 30, 76, 30, 107, 30,
+ 24, 101, 73, 55, 106, 36, 30, 31, 30, 33,
+ 34, 35, 36, 37, 38, 73, 68, 76, 76, 43,
+ 44, 45, 46, 82, 55, 130, 131, 98, 99, 53,
+ 55, 55, 47, 57, 49, 224, 30, 95, 96, 97,
+ 98, 99, 52, 68, 101, 69, 235, 30, 44, 106,
+ 101, 13, 76, 15, 93, 106, 80, 103, 82, 30,
+ 106, 73, 86, 103, 88, 30, 106, 30, 107, 30,
66, 67, 68, 69, 70, 71, 100, 73, 74, 75,
- 76, 77, 78, 101, 29, 30, 96, 97, 98, 99,
- 103, 196, 103, 106, 30, 106, 30, 93, 94, 95,
- 96, 97, 98, 99, 30, 129, 105, 106, 127, 133,
+ 76, 77, 78, 101, 96, 97, 98, 99, 30, 103,
+ 30, 196, 106, 30, 105, 106, 102, 93, 94, 95,
+ 96, 97, 98, 99, 68, 129, 29, 30, 127, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 102, 151, 305, 153,
- 278, 279, 102, 68, 106, 106, 47, 161, 30, 54,
- 200, 165, 166, 76, 168, 169, 106, 252, 172, 173,
- 106, 256, 176, 30, 30, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 106, 30, 68, 273, 193,
- 30, 30, 54, 30, 106, 199, 55, 91, 30, 92,
- 38, 37, 287, 30, 90, 106, 91, 54, 30, 294,
- 90, 250, 297, 91, 254, 56, 127, 298, 100, 304,
- 164, 31, -1, 308, -1, -1, 311, 231, 232, -1,
+ 278, 279, 106, 106, 47, 30, 54, 161, 106, 106,
+ 200, 165, 166, 30, 168, 169, 30, 252, 172, 173,
+ 106, 256, 176, 30, 68, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 30, 30, 106, 273, 193,
+ 30, 54, 91, 55, 30, 199, 92, 38, 37, 30,
+ 90, 106, 287, 91, 54, 30, 91, 90, 56, 294,
+ 298, 250, 297, 127, 254, 164, 100, 31, -1, 304,
+ -1, -1, -1, 308, -1, -1, 311, 231, 232, -1,
-1, -1, -1, -1, 319, -1, 276, -1, -1, 324,
-1, -1, -1, -1, -1, -1, 250, -1, -1, -1,
-1, -1, 292, 293, -1, 295, -1, -1, -1, 263,
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 5f1e9a8e29..cf8cad97c6 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -110,7 +110,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%left tAND tOR
%left '<' tLE '>' tGE tEQ tNEQ tCONTAINS tSTARTS
-%left '&'
+%left '&' tCONCAT
%left '+' '-'
%left '*' '/' '%' tMOD
%right UNARY