aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2017-01-23 19:34:53 +0100
committerEugene Sandulenko2017-01-23 19:39:50 +0100
commit6d4bbc15860f41fdef5964e102d4a323164c1c0c (patch)
tree29a458e3d8fac13fa4b9d8c684bc9288aca943d2
parentb7e937a2d54a86a168c755570ccbd9a8f9462dbf (diff)
downloadscummvm-rg350-6d4bbc15860f41fdef5964e102d4a323164c1c0c.tar.gz
scummvm-rg350-6d4bbc15860f41fdef5964e102d4a323164c1c0c.tar.bz2
scummvm-rg350-6d4bbc15860f41fdef5964e102d4a323164c1c0c.zip
DIRECTOR: Lingo: Clarified macro grammar.
Two reduce/reduce conflicts less. 4 to go.
-rw-r--r--engines/director/lingo/lingo-gr.cpp803
-rw-r--r--engines/director/lingo/lingo-gr.y8
2 files changed, 417 insertions, 394 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index e82270e0de..5b1db0e762 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -518,18 +518,18 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 112
+#define YYFINAL 114
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1601
+#define YYLAST 1635
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 40
+#define YYNNTS 41
/* YYNRULES -- Number of rules. */
-#define YYNRULES 151
+#define YYNRULES 153
/* YYNRULES -- Number of states. */
-#define YYNSTATES 331
+#define YYNSTATES 335
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -597,7 +597,7 @@ static const yytype_uint16 yyprhs[] =
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, 573,
- 574, 576
+ 574, 576, 580, 582
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -660,7 +660,8 @@ 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, 135, -1, -1, 118, -1, 135, 95, 118, -1
+ 21, 136, -1, -1, 118, -1, 135, 95, 118, -1,
+ 118, -1, 135, 95, 118, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -681,7 +682,7 @@ static const yytype_uint16 yyrline[] =
494, 495, 496, 499, 502, 507, 508, 511, 512, 515,
516, 519, 522, 525, 525, 555, 555, 561, 564, 564,
569, 570, 569, 580, 581, 582, 583, 585, 589, 597,
- 598, 599
+ 598, 599, 602, 603
};
#endif
@@ -710,7 +711,7 @@ static const char *const yytname[] =
"repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when", "expr",
"func", "globallist", "instancelist", "gotofunc", "gotoframe",
"gotomovie", "playfunc", "@1", "defn", "@2", "@3", "@4", "@5", "argdef",
- "argstore", "macro", "arglist", 0
+ "argstore", "macro", "arglist", "nonemptyarglist", 0
};
#endif
@@ -750,7 +751,7 @@ static const yytype_uint8 yyr1[] =
122, 122, 122, 122, 122, 123, 123, 124, 124, 125,
125, 125, 125, 126, 125, 128, 127, 127, 129, 127,
130, 131, 127, 132, 132, 132, 132, 133, 134, 135,
- 135, 135
+ 135, 135, 136, 136
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -771,7 +772,7 @@ static const yytype_uint8 yyr2[] =
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, 2, 0,
- 1, 3
+ 1, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -786,135 +787,150 @@ static const yytype_uint8 yydefact[] =
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,
- 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, 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,
- 52, 0, 0, 51, 0, 28, 75, 76, 74, 77,
- 78, 71, 81, 82, 83, 80, 67, 68, 69, 70,
- 72, 73, 108, 151, 62, 116, 127, 143, 12, 13,
- 14, 19, 16, 0, 0, 18, 15, 143, 112, 118,
- 90, 0, 92, 0, 94, 0, 96, 0, 88, 89,
- 141, 110, 149, 53, 0, 46, 53, 0, 45, 144,
- 0, 20, 17, 0, 0, 0, 0, 0, 143, 0,
- 52, 0, 0, 52, 52, 22, 0, 147, 147, 91,
- 93, 95, 97, 0, 111, 54, 55, 0, 0, 52,
- 51, 32, 145, 0, 53, 53, 147, 25, 52, 53,
- 29, 53, 0, 50, 51, 52, 40, 0, 146, 136,
- 139, 53, 53, 52, 52, 52, 42, 38, 0, 0,
- 39, 35, 0, 0, 52, 0, 0, 37, 0, 0,
- 52, 51, 52, 51, 142, 0, 26, 30, 31, 51,
- 33, 0, 34, 0, 27, 53, 36, 52, 52, 41,
- 43
+ 152, 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, 149, 0,
+ 150, 0, 0, 114, 0, 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, 52, 0, 0, 51, 0, 28, 75,
+ 76, 74, 77, 78, 71, 81, 82, 83, 80, 67,
+ 68, 69, 70, 72, 73, 108, 151, 62, 153, 116,
+ 127, 143, 12, 13, 14, 19, 16, 0, 0, 18,
+ 15, 143, 112, 118, 90, 0, 92, 0, 94, 0,
+ 96, 0, 88, 89, 141, 110, 149, 53, 0, 46,
+ 53, 0, 45, 144, 0, 20, 17, 0, 0, 0,
+ 0, 0, 143, 0, 52, 0, 0, 52, 52, 22,
+ 0, 147, 147, 91, 93, 95, 97, 0, 111, 54,
+ 55, 0, 0, 52, 51, 32, 145, 0, 53, 53,
+ 147, 25, 52, 53, 29, 53, 0, 50, 51, 52,
+ 40, 0, 146, 136, 139, 53, 53, 52, 52, 52,
+ 42, 38, 0, 0, 39, 35, 0, 0, 52, 0,
+ 0, 37, 0, 0, 52, 51, 52, 51, 142, 0,
+ 26, 30, 31, 51, 33, 0, 34, 0, 27, 53,
+ 36, 52, 52, 41, 43
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 41, 265, 42, 61, 44, 266, 46, 312, 295,
- 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, 142
+ -1, 41, 269, 42, 61, 44, 270, 46, 316, 299,
+ 300, 290, 301, 119, 47, 48, 49, 291, 211, 188,
+ 254, 50, 51, 259, 76, 101, 53, 84, 85, 54,
+ 73, 55, 152, 163, 177, 252, 244, 278, 56, 144,
+ 72
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -240
+#define YYPACT_NINF -241
static const yytype_int16 yypact[] =
{
- 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
+ 288, -17, -241, -241, 963, -241, -241, 963, 963, 1029,
+ 35, 371, -241, -241, -241, 21, 54, 862, -241, 68,
+ 963, 58, 74, 76, 81, 87, 963, 928, 88, 963,
+ 963, 963, 963, 963, 963, 91, -10, 963, 963, 963,
+ 963, 2, -241, 3, -241, -241, -241, 24, 33, 1054,
+ 963, 1543, -241, -241, -241, -241, -241, -241, -241, 27,
+ 963, -241, 1543, 1543, 1543, 963, 1543, 25, 963, 963,
+ 1347, 47, -241, 963, -241, -241, 50, 963, -241, 963,
+ -241, 83, -241, 1543, 65, -241, -241, 143, 126, -241,
+ -32, 963, -24, 103, -241, -241, 1316, -241, 65, -241,
+ -241, 55, -33, 340, 1093, 1125, 1157, 1419, -241, 131,
+ -33, -33, 1481, -70, -241, 456, 1054, 963, 1054, 108,
+ 1512, 1543, 963, 963, 963, 963, 963, 963, 963, 963,
+ 963, 963, 963, 963, 963, 963, 963, 963, 963, 143,
+ 1481, -23, 963, 25, -7, 963, 25, 136, 1543, 1543,
+ 963, -241, -241, 139, 963, 963, -241, 963, 963, 765,
+ 963, 963, -241, -241, 963, -241, 142, 963, 963, 963,
+ 963, 963, 963, 963, 963, 963, 963, -241, 6, -241,
+ -241, -241, 77, 1543, 90, 1450, -17, 963, -241, 825,
+ 825, 825, -33, -33, -33, 1543, 825, 825, 1023, 130,
+ 130, -33, -33, 1543, 1543, -241, 1543, -241, 1383, -241,
+ 1543, 145, -241, 1543, 1543, 1543, 1543, 963, 963, 1543,
+ 1543, 145, 1543, -241, 1543, 1189, 1543, 1221, 1543, 1253,
+ 1543, 1285, 1543, 1543, -241, -241, 963, -241, -4, -241,
+ -241, 788, 1543, -241, -11, 1543, 1543, -11, 963, 963,
+ 963, 963, 145, 9, 622, 118, 963, 622, -241, -241,
+ 161, 89, 89, 1543, 1543, 1543, 1543, -11, -241, -241,
+ -241, 160, 963, 1543, -5, -13, -241, 165, -241, -241,
+ 89, -241, 1543, -241, -241, -241, 158, -241, -241, 158,
+ -241, 1054, -241, 622, 622, -241, -241, 622, 622, 158,
+ 158, -241, 1054, 788, -241, 141, 147, 539, 622, 170,
+ 172, -241, 177, 159, -241, -241, -241, -241, -241, 178,
+ -241, -241, -241, -241, -241, 788, -241, 705, -241, 705,
+ -241, -241, 622, -241, -241
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -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
+ -241, -241, 12, 93, 7, -240, 0, -241, -241, -241,
+ -58, -235, -69, -112, -241, -241, -241, -239, -134, -34,
+ -185, -241, 1, 26, -241, -241, -241, 204, -16, -241,
+ -241, -241, -241, -241, -241, -241, -206, -218, -241, 8,
+ -241
};
/* 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 -150
+#define YYTABLE_NINF -152
static const yytype_int16 yytable[] =
{
- 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,
+ 45, 258, 114, -10, 182, 62, 184, 43, 63, 64,
+ 66, 99, 70, 58, 157, 247, 287, 67, 83, 71,
+ 284, 87, 160, 255, 180, 142, 52, 96, 83, 221,
+ 102, 103, 104, 105, 106, 107, 128, 288, 110, 111,
+ 112, 66, 256, 234, 279, 285, 267, 302, 113, 158,
+ 120, 121, 241, 115, 304, 257, 68, 161, 136, 137,
+ 302, 139, 295, 314, 74, 304, 140, 205, 151, 66,
+ 140, 57, 142, 141, 66, 75, 143, 57, 148, 109,
+ 149, 146, 165, 207, 260, 330, 90, 91, 142, 86,
+ 57, -10, 159, 293, 294, 92, 235, 93, 297, 268,
+ 298, 236, 94, 79, 142, 81, 88, 89, 95, 100,
+ 307, 308, 108, 116, 117, 45, 138, 120, 183, 185,
+ 142, 150, 43, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 66,
+ 286, 52, 145, 206, 332, 147, 208, 156, 162, 238,
+ 166, 210, 178, 186, 303, 213, 214, 209, 215, 216,
+ 212, 219, 220, 223, 272, 222, 243, 237, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 153, 306,
+ 239, 325, 276, 327, 277, 281, 292, 287, 242, 329,
+ 313, 315, 317, 125, 126, 320, 127, 321, 240, 128,
+ 122, 123, 322, 328, 323, 124, 125, 126, 181, 127,
+ 154, 155, 128, 129, 130, 134, 135, 289, 245, 246,
+ 271, 136, 137, 274, 275, 131, 132, 133, 134, 135,
+ 311, 98, 0, 0, 136, 137, 0, 66, 0, 283,
+ 0, 0, 0, 0, 253, 0, 0, 0, 296, 263,
+ 264, 265, 266, 0, 0, 305, 261, 273, 0, 262,
+ 0, 0, 0, 309, 310, 312, 0, 0, 0, 0,
+ 0, 0, 0, 282, 319, 0, 0, 0, 0, 280,
+ 324, 0, 326, 0, 0, 0, 0, 0, -6, 1,
+ 0, 0, 120, 0, 0, 0, 0, 333, 334, 2,
+ 3, 4, 5, 120, 6, 7, 8, 9, 10, 11,
+ 12, 0, 13, 0, 14, 0, 0, 0, 15, 0,
+ 16, 17, 18, 0, 0, 19, 0, 331, 0, 331,
+ 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, -6, 39, 0, 0,
+ 167, 40, 2, 3, 4, 5, 168, 6, 0, 0,
+ 0, 0, 59, 12, 0, 13, 0, 122, 123, 0,
+ 0, 0, 124, 125, 126, 0, 127, 0, 0, 128,
+ 129, 130, 0, 60, 0, 22, 0, 0, 0, 0,
+ 0, 0, 131, 132, 133, 134, 135, 0, 0, 0,
+ 0, 136, 137, 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,
@@ -922,164 +938,167 @@ static const yytype_int16 yytable[] =
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,
+ 38, 0, 0, 0, 0, 39, 0, 0, 0, 40,
+ 2, 3, 4, 5, 0, 6, 7, 8, 9, 10,
+ 59, 12, 0, 13, 318, 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, 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, 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, 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, 217, 13, 0, 14, 0, 0, 0, 15, 0,
+ 16, 17, 122, 123, 0, 0, 0, 124, 125, 126,
+ 20, 127, 22, 0, 128, 129, 130, 0, 0, 0,
+ 0, 26, 27, 0, 28, 0, 218, 131, 132, 133,
+ 134, 135, 0, 29, 0, 0, 136, 137, 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, 125, 126,
+ 0, 127, 0, 77, 128, 0, 0, 0, 78, 0,
+ 79, 80, 81, 82, 60, 0, 22, 131, 132, 133,
+ 134, 135, 0, 0, 0, 0, 136, 137, 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, 77,
+ 0, 0, 0, 0, 0, 0, 79, 0, 81, 0,
+ 60, 0, 22, 0, 2, 3, 4, 5, 0, 6,
+ 0, 0, 0, 97, 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, 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, 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, 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,
- 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, 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, 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, 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, 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, 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
+ 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, 125, 126, 0, 127,
+ 0, 0, 128, 0, 29, 0, 60, 0, 22, 0,
+ 0, 30, 31, 32, 33, 34, 132, 133, 134, 135,
+ 0, 0, 37, 38, 136, 137, 0, 0, 65, 29,
+ 0, 0, 40, 0, 0, 0, 30, 31, 32, 33,
+ 34, 0, 0, 169, 0, 0, 0, 37, 38, 170,
+ 0, 0, 0, 118, 0, 0, 0, 40, 0, 0,
+ 122, 123, 0, 0, 0, 124, 125, 126, 0, 127,
+ 0, 0, 128, 129, 130, 171, 0, 0, 0, 0,
+ 0, 172, 0, 0, 0, 131, 132, 133, 134, 135,
+ 0, 0, 122, 123, 136, 137, 0, 124, 125, 126,
+ 0, 127, 0, 0, 128, 129, 130, 173, 0, 0,
+ 0, 0, 0, 174, 0, 0, 0, 131, 132, 133,
+ 134, 135, 0, 0, 122, 123, 136, 137, 0, 124,
+ 125, 126, 0, 127, 0, 0, 128, 129, 130, 248,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 131,
+ 132, 133, 134, 135, 0, 0, 122, 123, 136, 137,
+ 0, 124, 125, 126, 0, 127, 0, 0, 128, 129,
+ 130, 249, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 131, 132, 133, 134, 135, 0, 0, 122, 123,
+ 136, 137, 0, 124, 125, 126, 0, 127, 0, 0,
+ 128, 129, 130, 250, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 131, 132, 133, 134, 135, 0, 0,
+ 122, 123, 136, 137, 0, 124, 125, 126, 0, 127,
+ 0, 0, 128, 129, 130, 251, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
+ 0, 0, 122, 123, 136, 137, 0, 124, 125, 126,
+ 0, 127, 0, 0, 128, 129, 130, 0, 0, 0,
+ 0, 0, 0, 0, 164, 0, 0, 131, 132, 133,
+ 134, 135, 0, 122, 123, 0, 136, 137, 124, 125,
+ 126, 0, 127, 0, 0, 128, 129, 130, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 131, 132,
+ 133, 134, 135, 0, 122, 123, 0, 136, 137, 124,
+ 125, 126, 0, 127, 0, 0, 128, 129, 130, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 131,
+ 132, 133, 134, 135, 0, 0, 0, 0, 136, 137,
+ 122, 123, -150, 0, 0, 124, 125, 126, 0, 127,
+ 0, 0, 128, 129, 130, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
+ 0, 0, 0, 0, 136, 137, 122, 123, -151, 0,
+ 0, 124, 125, 126, 0, 127, 0, 0, 128, 129,
+ 130, 0, 0, 0, 0, 0, 175, 176, 0, 0,
+ 0, 131, 132, 133, 134, 135, 0, 122, 123, 0,
+ 136, 137, 124, 125, 126, 0, 127, 0, 0, 128,
+ 129, 130, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 187, 131, 132, 133, 134, 135, 0, 122, 123,
+ 179, 136, 137, 124, 125, 126, 0, 127, 0, 0,
+ 128, 129, 130, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 131, 132, 133, 134, 135, 0, 122,
+ 123, 179, 136, 137, 124, 125, 126, 0, 127, 0,
+ 0, 128, 129, 130, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 187, 131, 132, 133, 134, 135, 0,
+ 122, 123, 0, 136, 137, 124, 125, 126, 0, 127,
+ 0, 0, 128, 129, 130, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
+ 0, 0, 0, 0, 136, 137
};
static const yytype_int16 yycheck[] =
{
- 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,
+ 0, 241, 0, 0, 116, 4, 118, 0, 7, 8,
+ 9, 27, 11, 1, 46, 221, 29, 9, 17, 11,
+ 25, 20, 46, 27, 94, 95, 0, 26, 27, 163,
+ 29, 30, 31, 32, 33, 34, 69, 50, 37, 38,
+ 39, 40, 46, 177, 262, 50, 252, 286, 40, 81,
+ 49, 50, 186, 41, 289, 240, 21, 81, 91, 92,
+ 299, 60, 280, 303, 43, 300, 65, 90, 84, 68,
+ 69, 88, 95, 65, 73, 21, 68, 88, 77, 89,
+ 79, 73, 98, 90, 95, 325, 12, 13, 95, 21,
+ 88, 88, 91, 278, 279, 21, 90, 21, 283, 90,
+ 285, 95, 21, 38, 95, 40, 48, 49, 21, 21,
+ 295, 296, 21, 89, 81, 115, 89, 116, 117, 118,
+ 95, 38, 115, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 274, 115, 95, 142, 329, 95, 145, 21, 45, 183,
+ 95, 150, 21, 45, 288, 154, 155, 21, 157, 158,
+ 21, 160, 161, 21, 46, 164, 21, 90, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 35, 291,
+ 90, 315, 21, 317, 95, 25, 21, 29, 187, 323,
+ 302, 50, 45, 63, 64, 25, 66, 25, 186, 69,
+ 57, 58, 25, 25, 45, 62, 63, 64, 115, 66,
+ 67, 68, 69, 70, 71, 85, 86, 275, 217, 218,
+ 254, 91, 92, 257, 258, 82, 83, 84, 85, 86,
+ 299, 27, -1, -1, 91, 92, -1, 236, -1, 273,
+ -1, -1, -1, -1, 236, -1, -1, -1, 282, 248,
+ 249, 250, 251, -1, -1, 289, 244, 256, -1, 247,
+ -1, -1, -1, 297, 298, 299, -1, -1, -1, -1,
+ -1, -1, -1, 272, 308, -1, -1, -1, -1, 267,
+ 314, -1, 316, -1, -1, -1, -1, -1, 0, 1,
+ -1, -1, 291, -1, -1, -1, -1, 331, 332, 11,
+ 12, 13, 14, 302, 16, 17, 18, 19, 20, 21,
+ 22, -1, 24, -1, 26, -1, -1, -1, 30, -1,
+ 32, 33, 34, -1, -1, 37, -1, 327, -1, 329,
+ 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, 88, 89, -1, -1,
+ 40, 93, 11, 12, 13, 14, 46, 16, -1, -1,
+ -1, -1, 21, 22, -1, 24, -1, 57, 58, -1,
-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,
+ 70, 71, -1, 42, -1, 44, -1, -1, -1, -1,
+ -1, -1, 82, 83, 84, 85, 86, -1, -1, -1,
+ -1, 91, 92, -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,
@@ -1087,88 +1106,68 @@ static const yytype_int16 yycheck[] =
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,
+ 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, -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, -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, 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, 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, -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, -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, 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, -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,
- -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,
+ 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,
@@ -1185,28 +1184,38 @@ static const yytype_int16 yycheck[] =
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, -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, 77, 78, -1, -1, -1, 82, 83, 84,
+ -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, 81, 82, 83,
- 84, 85, 86, -1, 57, 58, 90, 91, 92, 62,
+ -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, -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
+ 83, 84, 85, 86, -1, -1, -1, -1, 91, 92,
+ 57, 58, 95, -1, -1, 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, 57, 58, 95, -1,
+ -1, 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, 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
@@ -1220,33 +1229,33 @@ 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,
- 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, 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,
- 118, 109, 118, 45, 81, 115, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 90, 118, 90, 21, 118, 114, 21, 118,
- 118, 118, 118, 46, 81, 118, 118, 114, 118, 21,
+ 118, 135, 136, 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, 89, 118,
+ 118, 135, 95, 135, 135, 95, 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, 118, 109, 118, 45, 81, 115, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 114, 90, 95, 90, 115, 90, 98, 114, 118, 21,
- 132, 118, 118, 132, 40, 40, 40, 40, 131, 135,
- 116, 27, 46, 116, 101, 119, 95, 98, 98, 118,
- 118, 118, 118, 132, 90, 98, 102, 115, 46, 118,
- 115, 115, 21, 95, 133, 133, 98, 25, 118, 115,
- 25, 50, 114, 29, 50, 106, 107, 113, 21, 116,
- 116, 133, 115, 116, 116, 105, 106, 108, 113, 114,
- 107, 115, 109, 116, 116, 115, 115, 108, 115, 109,
- 101, 50, 104, 45, 25, 115, 25, 25, 25, 45,
- 115, 114, 115, 114, 25, 114, 101, 102, 116, 115,
- 115
+ 118, 118, 118, 118, 118, 90, 118, 90, 118, 21,
+ 118, 114, 21, 118, 118, 118, 118, 46, 81, 118,
+ 118, 114, 118, 21, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 114, 90, 95, 90, 115, 90,
+ 98, 114, 118, 21, 132, 118, 118, 132, 40, 40,
+ 40, 40, 131, 135, 116, 27, 46, 116, 101, 119,
+ 95, 98, 98, 118, 118, 118, 118, 132, 90, 98,
+ 102, 115, 46, 118, 115, 115, 21, 95, 133, 133,
+ 98, 25, 118, 115, 25, 50, 114, 29, 50, 106,
+ 107, 113, 21, 116, 116, 133, 115, 116, 116, 105,
+ 106, 108, 113, 114, 107, 115, 109, 116, 116, 115,
+ 115, 108, 115, 109, 101, 50, 104, 45, 25, 115,
+ 25, 25, 25, 45, 115, 114, 115, 114, 25, 114,
+ 101, 102, 116, 115, 115
};
#define yyerrok (yyerrstatus = 0)
@@ -2911,9 +2920,19 @@ yyreduce:
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
+ case 152:
+#line 602 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; ;}
+ break;
+
+ case 153:
+#line 603 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
+ break;
+
/* Line 1267 of yacc.c. */
-#line 2917 "engines/director/lingo/lingo-gr.cpp"
+#line 2936 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3127,6 +3146,6 @@ yyreturn:
}
-#line 602 "engines/director/lingo/lingo-gr.y"
+#line 606 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index d6fe5cd7b6..e2e874b97f 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -103,7 +103,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token tON tME
%type<code> asgn begin elseif elsestmtoneliner end expr if when repeatwhile repeatwith stmtlist
-%type<narg> argdef arglist
+%type<narg> argdef arglist nonemptyarglist
%right '='
%left tLT tLE tGT tGE tNEQ tCONTAINS tSTARTS
@@ -586,7 +586,7 @@ argstore: /* nothing */ { g_lingo->codeArgStore(); }
;
-macro: ID arglist {
+macro: ID nonemptyarglist {
g_lingo->code1(g_lingo->c_call);
g_lingo->codeString($1->c_str());
inst numpar = 0;
@@ -599,4 +599,8 @@ arglist: /* nothing */ { $$ = 0; }
| arglist ',' expr { $$ = $1 + 1; }
;
+nonemptyarglist: expr { $$ = 1; }
+ | arglist ',' expr { $$ = $1 + 1; }
+ ;
+
%%