aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/lingo/lingo-builtins.cpp22
-rw-r--r--engines/director/lingo/lingo-code.cpp9
-rw-r--r--engines/director/lingo/lingo-gr.cpp1250
-rw-r--r--engines/director/lingo/lingo-gr.h12
-rw-r--r--engines/director/lingo/lingo-gr.y11
-rw-r--r--engines/director/lingo/lingo-lex.cpp506
-rw-r--r--engines/director/lingo/lingo-lex.l1
-rw-r--r--engines/director/lingo/lingo.h4
8 files changed, 949 insertions, 866 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 0172f92556..9e95fcbd33 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -127,6 +127,7 @@ static struct BuiltinProto {
{ "symbolp", Lingo::b_symbolp, 1, 1, true }, // D2 f
// Misc
{ "alert", Lingo::b_alert, 1, 1, false }, // D2 c
+ { "birth", Lingo::b_birth, -1,0, false }, // D4 f
{ "cursor", Lingo::b_cursor, 1, 1, false }, // D2 c
{ "framesToHMS", Lingo::b_framesToHMS, 4, 4, false }, // D3
{ "HMStoFrames", Lingo::b_HMStoFrames, 4, 4, false }, // D3
@@ -182,6 +183,7 @@ static struct BuiltinProto {
{ "moveToBack", Lingo::b_moveToBack, 1, 1, false }, // D4 c
{ "moveToFront", Lingo::b_moveToFront, 1, 1, false }, // D4 c
// Constants
+ { "ancestor", Lingo::b_ancestor, 0, 0, false }, // D4
{ "backspace", Lingo::b_backspace, 0, 0, false }, // D2
{ "empty", Lingo::b_empty, 0, 0, false }, // D2
{ "enter", Lingo::b_enter, 0, 0, false }, // D2
@@ -195,6 +197,7 @@ static struct BuiltinProto {
{ "cast", Lingo::b_cast, 1, 1, false }, // D4 f
{ "field", Lingo::b_field, 1, 1, false }, // D3 f
{ "me", Lingo::b_me, -1,0, false }, // D3
+ { "script", Lingo::b_script, 1, 1, false }, // D4 f
{ "window", Lingo::b_window, 1, 1, false }, // D4 f
{ 0, 0, 0, 0, false }
@@ -211,6 +214,7 @@ static const char *builtinFunctions[] = {
"abs",
"atan",
"backspace",
+ "birth",
"cast",
"cos",
"count",
@@ -250,6 +254,7 @@ static const char *builtinFunctions[] = {
"rollOver",
"quote",
"return",
+ "script",
"sin",
"sqrt",
"soundBusy",
@@ -964,6 +969,14 @@ void Lingo::b_alert(int nargs) {
delete d.u.s;
}
+void Lingo::b_birth(int nargs) {
+ g_lingo->printSTUBWithArglist("b_birth", nargs);
+
+ g_lingo->dropStack(nargs);
+
+ g_lingo->push(Datum(0));
+}
+
void Lingo::b_cursor(int nargs) {
Datum d = g_lingo->pop();
d.toInt();
@@ -1263,6 +1276,11 @@ void Lingo::b_soundStop(int nargs) {
///////////////////
// Constants
///////////////////
+void Lingo::b_ancestor(int nargs) {
+ warning("STUB: b_ancestor");
+ g_lingo->push(Datum(0));
+}
+
void Lingo::b_backspace(int nargs) {
g_lingo->push(Datum(new Common::String("\b")));
}
@@ -1366,6 +1384,10 @@ void Lingo::b_me(int nargs) {
g_lingo->dropStack(nargs);
}
+void Lingo::b_script(int nargs) {
+ warning("STUB: b_script");
+}
+
void Lingo::b_window(int nargs) {
g_lingo->printSTUBWithArglist("b_window", nargs);
g_lingo->dropStack(nargs);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 9e737176a8..04310d9e71 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -115,6 +115,7 @@ static struct FuncDescr {
{ Lingo::c_call, "c_call", "si" },
{ Lingo::c_procret, "c_procret", "" },
{ Lingo::c_global, "c_global", "s" },
+ { Lingo::c_property, "c_property", "s" },
{ Lingo::c_instance, "c_instance", "s" },
{ Lingo::c_open, "c_open", "" },
{ 0, 0, 0 }
@@ -1140,6 +1141,14 @@ void Lingo::c_global() {
delete s;
}
+void Lingo::c_property() {
+ Common::String name((char *)&(*g_lingo->_currentScript)[g_lingo->_pc]);
+
+ g_lingo->_pc += g_lingo->calcStringAlignment(name.c_str());
+
+ warning("STUB: c_property()");
+}
+
void Lingo::c_instance() {
Common::String name((char *)&(*g_lingo->_currentScript)[g_lingo->_pc]);
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 2bafc1e513..f59cae743a 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -146,8 +146,9 @@
tINTERSECTS = 335,
tWITHIN = 336,
tTELL = 337,
- tON = 338,
- tME = 339
+ tPROPERTY = 338,
+ tON = 339,
+ tME = 340
};
#endif
/* Tokens. */
@@ -231,8 +232,9 @@
#define tINTERSECTS 335
#define tWITHIN 336
#define tTELL 337
-#define tON 338
-#define tME 339
+#define tPROPERTY 338
+#define tON 339
+#define tME 340
@@ -300,7 +302,7 @@ typedef union YYSTYPE
Common::Array<double> *arr;
}
/* Line 193 of yacc.c. */
-#line 304 "engines/director/lingo/lingo-gr.cpp"
+#line 306 "engines/director/lingo/lingo-gr.cpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -313,7 +315,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 317 "engines/director/lingo/lingo-gr.cpp"
+#line 319 "engines/director/lingo/lingo-gr.cpp"
#ifdef short
# undef short
@@ -526,22 +528,22 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 116
+#define YYFINAL 119
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1602
+#define YYLAST 1668
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 100
+#define YYNTOKENS 101
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 42
+#define YYNNTS 43
/* YYNRULES -- Number of rules. */
-#define YYNRULES 155
+#define YYNRULES 158
/* YYNRULES -- Number of states. */
-#define YYNSTATES 341
+#define YYNSTATES 346
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 339
+#define YYMAXUTOK 340
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -550,15 +552,15 @@ union yyalloc
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 92, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 93, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 91, 86, 2,
- 93, 94, 89, 87, 99, 88, 2, 90, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 92, 87, 2,
+ 94, 95, 90, 88, 100, 89, 2, 91, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 96, 85, 95, 2, 2, 2, 2, 2, 2, 2,
+ 97, 86, 96, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 97, 2, 98, 2, 2, 2, 2, 2, 2,
+ 2, 98, 2, 99, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -582,7 +584,8 @@ static const yytype_uint8 yytranslate[] =
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85
};
#if YYDEBUG
@@ -600,77 +603,78 @@ static const yytype_uint16 yyprhs[] =
280, 284, 288, 292, 296, 300, 304, 308, 312, 316,
320, 324, 327, 331, 335, 339, 343, 346, 349, 353,
357, 362, 367, 372, 379, 384, 391, 396, 403, 408,
- 415, 418, 420, 422, 425, 427, 430, 433, 435, 438,
- 441, 443, 446, 451, 458, 463, 466, 470, 472, 476,
- 478, 482, 485, 488, 491, 494, 498, 501, 504, 506,
- 510, 513, 516, 519, 523, 526, 527, 531, 532, 541,
- 544, 545, 554, 555, 556, 567, 568, 570, 574, 579,
- 580, 583, 584, 586, 590, 592
+ 415, 418, 420, 422, 425, 427, 430, 433, 436, 438,
+ 441, 444, 446, 449, 454, 461, 466, 469, 473, 475,
+ 479, 481, 485, 487, 491, 494, 497, 500, 503, 507,
+ 510, 513, 515, 519, 522, 525, 528, 532, 535, 536,
+ 540, 541, 550, 553, 554, 563, 564, 565, 576, 577,
+ 579, 583, 588, 589, 592, 593, 595, 599, 601
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 101, 0, -1, 101, 102, 103, -1, 103, -1, 1,
- 102, -1, 92, -1, -1, 132, -1, 139, -1, 106,
- -1, 45, 123, 38, 24, -1, 45, 123, 70, 123,
- -1, 45, 123, 71, 123, -1, 47, 24, 85, 123,
- -1, 47, 12, 85, 123, -1, 47, 13, 123, 85,
- 123, -1, 47, 24, 49, 123, -1, 47, 12, 49,
- 123, -1, 47, 13, 123, 49, 123, -1, 123, -1,
- 124, -1, 105, -1, 107, -1, 114, 93, 113, 94,
- 120, 119, 28, -1, 115, 85, 123, 119, 49, 123,
- 119, 120, 119, 28, -1, 115, 85, 123, 119, 30,
- 49, 123, 119, 120, 119, 28, -1, 121, 105, 119,
- -1, 122, 123, 102, 120, 119, 28, -1, 122, 123,
- 49, 123, -1, 116, 113, 48, 102, 120, 119, 28,
- -1, 116, 113, 48, 102, 120, 119, 53, 120, 119,
- 28, -1, 116, 113, 48, 102, 120, 119, 118, 109,
- 119, 28, -1, 116, 113, 48, 118, 105, 119, -1,
- 116, 113, 48, 118, 105, 119, 53, 118, 105, 119,
- -1, 116, 113, 48, 118, 105, 119, 110, 119, 108,
- 119, -1, -1, 53, 118, 105, -1, 109, 112, -1,
- 112, -1, 110, 111, -1, 111, -1, 117, 113, 48,
- 118, 106, 119, -1, 110, -1, 117, 113, 48, 118,
- 120, 119, -1, 123, -1, 123, 85, 123, -1, 93,
- 113, 94, -1, 46, 52, -1, 46, 51, 24, -1,
- 37, -1, 32, -1, -1, -1, -1, 120, 102, -1,
- 120, 106, -1, 50, 24, 48, -1, 82, -1, 11,
+ 102, 0, -1, 102, 103, 104, -1, 104, -1, 1,
+ 103, -1, 93, -1, -1, 134, -1, 141, -1, 107,
+ -1, 45, 124, 38, 24, -1, 45, 124, 70, 124,
+ -1, 45, 124, 71, 124, -1, 47, 24, 86, 124,
+ -1, 47, 12, 86, 124, -1, 47, 13, 124, 86,
+ 124, -1, 47, 24, 49, 124, -1, 47, 12, 49,
+ 124, -1, 47, 13, 124, 49, 124, -1, 124, -1,
+ 125, -1, 106, -1, 108, -1, 115, 94, 114, 95,
+ 121, 120, 28, -1, 116, 86, 124, 120, 49, 124,
+ 120, 121, 120, 28, -1, 116, 86, 124, 120, 30,
+ 49, 124, 120, 121, 120, 28, -1, 122, 106, 120,
+ -1, 123, 124, 103, 121, 120, 28, -1, 123, 124,
+ 49, 124, -1, 117, 114, 48, 103, 121, 120, 28,
+ -1, 117, 114, 48, 103, 121, 120, 53, 121, 120,
+ 28, -1, 117, 114, 48, 103, 121, 120, 119, 110,
+ 120, 28, -1, 117, 114, 48, 119, 106, 120, -1,
+ 117, 114, 48, 119, 106, 120, 53, 119, 106, 120,
+ -1, 117, 114, 48, 119, 106, 120, 111, 120, 109,
+ 120, -1, -1, 53, 119, 106, -1, 110, 113, -1,
+ 113, -1, 111, 112, -1, 112, -1, 118, 114, 48,
+ 119, 107, 120, -1, 111, -1, 118, 114, 48, 119,
+ 121, 120, -1, 124, -1, 124, 86, 124, -1, 94,
+ 114, 95, -1, 46, 52, -1, 46, 51, 24, -1,
+ 37, -1, 32, -1, -1, -1, -1, 121, 103, -1,
+ 121, 107, -1, 50, 24, 48, -1, 82, -1, 11,
-1, 14, -1, 27, -1, 25, -1, 22, -1, 23,
- 123, -1, 24, 93, 140, 94, -1, 24, -1, 12,
- -1, 13, 123, -1, 104, -1, 123, 87, 123, -1,
- 123, 88, 123, -1, 123, 89, 123, -1, 123, 90,
- 123, -1, 123, 69, 123, -1, 123, 95, 123, -1,
- 123, 96, 123, -1, 123, 65, 123, -1, 123, 60,
- 123, -1, 123, 61, 123, -1, 123, 66, 123, -1,
- 123, 67, 123, -1, 68, 123, -1, 123, 86, 123,
- -1, 123, 72, 123, -1, 123, 73, 123, -1, 123,
- 74, 123, -1, 87, 123, -1, 88, 123, -1, 93,
- 123, 94, -1, 97, 140, 98, -1, 79, 123, 80,
- 123, -1, 79, 123, 81, 123, -1, 75, 123, 43,
- 123, -1, 75, 123, 49, 123, 43, 123, -1, 76,
- 123, 43, 123, -1, 76, 123, 49, 123, 43, 123,
- -1, 77, 123, 43, 123, -1, 77, 123, 49, 123,
- 43, 123, -1, 78, 123, 43, 123, -1, 78, 123,
- 49, 123, 43, 123, -1, 45, 123, -1, 127, -1,
- 130, -1, 33, 46, -1, 33, -1, 35, 125, -1,
- 59, 126, -1, 16, -1, 18, 123, -1, 17, 123,
- -1, 17, -1, 19, 141, -1, 84, 93, 24, 94,
- -1, 84, 93, 24, 99, 140, 94, -1, 56, 123,
- 51, 123, -1, 56, 123, -1, 20, 24, 140, -1,
- 24, -1, 125, 99, 24, -1, 24, -1, 126, 99,
- 24, -1, 36, 39, -1, 36, 42, -1, 36, 44,
- -1, 36, 128, -1, 36, 128, 129, -1, 36, 129,
- -1, 34, 123, -1, 123, -1, 43, 41, 123, -1,
- 41, 123, -1, 57, 58, -1, 57, 128, -1, 57,
- 128, 129, -1, 57, 129, -1, -1, 29, 131, 140,
- -1, -1, 40, 24, 133, 118, 137, 102, 138, 120,
- -1, 54, 24, -1, -1, 55, 24, 134, 118, 137,
- 102, 138, 120, -1, -1, -1, 83, 24, 135, 118,
- 136, 137, 102, 138, 120, 28, -1, -1, 24, -1,
- 137, 99, 24, -1, 137, 102, 99, 24, -1, -1,
- 24, 141, -1, -1, 123, -1, 140, 99, 123, -1,
- 123, -1, 141, 99, 123, -1
+ 124, -1, 24, 94, 142, 95, -1, 24, -1, 12,
+ -1, 13, 124, -1, 105, -1, 124, 88, 124, -1,
+ 124, 89, 124, -1, 124, 90, 124, -1, 124, 91,
+ 124, -1, 124, 69, 124, -1, 124, 96, 124, -1,
+ 124, 97, 124, -1, 124, 65, 124, -1, 124, 60,
+ 124, -1, 124, 61, 124, -1, 124, 66, 124, -1,
+ 124, 67, 124, -1, 68, 124, -1, 124, 87, 124,
+ -1, 124, 72, 124, -1, 124, 73, 124, -1, 124,
+ 74, 124, -1, 88, 124, -1, 89, 124, -1, 94,
+ 124, 95, -1, 98, 142, 99, -1, 79, 124, 80,
+ 124, -1, 79, 124, 81, 124, -1, 75, 124, 43,
+ 124, -1, 75, 124, 49, 124, 43, 124, -1, 76,
+ 124, 43, 124, -1, 76, 124, 49, 124, 43, 124,
+ -1, 77, 124, 43, 124, -1, 77, 124, 49, 124,
+ 43, 124, -1, 78, 124, 43, 124, -1, 78, 124,
+ 49, 124, 43, 124, -1, 45, 124, -1, 129, -1,
+ 132, -1, 33, 46, -1, 33, -1, 35, 126, -1,
+ 83, 127, -1, 59, 128, -1, 16, -1, 18, 124,
+ -1, 17, 124, -1, 17, -1, 19, 143, -1, 85,
+ 94, 24, 95, -1, 85, 94, 24, 100, 142, 95,
+ -1, 56, 124, 51, 124, -1, 56, 124, -1, 20,
+ 24, 142, -1, 24, -1, 126, 100, 24, -1, 24,
+ -1, 127, 100, 24, -1, 24, -1, 128, 100, 24,
+ -1, 36, 39, -1, 36, 42, -1, 36, 44, -1,
+ 36, 130, -1, 36, 130, 131, -1, 36, 131, -1,
+ 34, 124, -1, 124, -1, 43, 41, 124, -1, 41,
+ 124, -1, 57, 58, -1, 57, 130, -1, 57, 130,
+ 131, -1, 57, 131, -1, -1, 29, 133, 142, -1,
+ -1, 40, 24, 135, 119, 139, 103, 140, 121, -1,
+ 54, 24, -1, -1, 55, 24, 136, 119, 139, 103,
+ 140, 121, -1, -1, -1, 84, 24, 137, 119, 138,
+ 139, 103, 140, 121, 28, -1, -1, 24, -1, 139,
+ 100, 24, -1, 139, 103, 100, 24, -1, -1, 24,
+ 143, -1, -1, 124, -1, 142, 100, 124, -1, 124,
+ -1, 143, 100, 124, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -686,12 +690,12 @@ static const yytype_uint16 yyrline[] =
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
- 473, 474, 475, 476, 477, 479, 480, 481, 484, 487,
- 490, 493, 494, 495, 496, 497, 498, 501, 502, 505,
- 506, 517, 518, 519, 520, 523, 526, 531, 532, 535,
- 536, 539, 540, 543, 546, 549, 549, 579, 579, 585,
- 588, 588, 593, 594, 593, 604, 605, 606, 607, 610,
- 614, 622, 623, 624, 627, 628
+ 473, 474, 475, 476, 477, 479, 480, 481, 482, 485,
+ 488, 491, 494, 495, 496, 497, 498, 499, 502, 503,
+ 506, 507, 510, 511, 522, 523, 524, 525, 528, 531,
+ 536, 537, 540, 541, 544, 545, 548, 551, 554, 554,
+ 584, 584, 590, 593, 593, 598, 599, 598, 609, 610,
+ 611, 612, 615, 619, 627, 628, 629, 632, 633
};
#endif
@@ -712,15 +716,16 @@ static const char *const yytname[] =
"tPLAY", "tDONE", "tINSTANCE", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ",
"tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
"tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
- "tINTERSECTS", "tWITHIN", "tTELL", "tON", "tME", "'='", "'&'", "'+'",
- "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "'>'", "'<'", "'['",
- "']'", "','", "$accept", "program", "nl", "programline", "asgn",
- "stmtoneliner", "stmt", "ifstmt", "elsestmtoneliner", "elseifstmt",
- "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1", "cond",
- "repeatwhile", "repeatwith", "if", "elseif", "begin", "end", "stmtlist",
- "when", "tell", "expr", "proc", "globallist", "instancelist", "gotofunc",
- "gotoframe", "gotomovie", "playfunc", "@1", "defn", "@2", "@3", "@4",
- "@5", "argdef", "argstore", "macro", "arglist", "nonemptyarglist", 0
+ "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tME", "'='",
+ "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "'>'",
+ "'<'", "'['", "']'", "','", "$accept", "program", "nl", "programline",
+ "asgn", "stmtoneliner", "stmt", "ifstmt", "elsestmtoneliner",
+ "elseifstmt", "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1",
+ "cond", "repeatwhile", "repeatwith", "if", "elseif", "begin", "end",
+ "stmtlist", "when", "tell", "expr", "proc", "globallist", "propertylist",
+ "instancelist", "gotofunc", "gotoframe", "gotomovie", "playfunc", "@1",
+ "defn", "@2", "@3", "@4", "@5", "argdef", "argstore", "macro", "arglist",
+ "nonemptyarglist", 0
};
#endif
@@ -737,30 +742,31 @@ static const yytype_uint16 yytoknum[] =
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 61, 38, 43, 45, 42,
- 47, 37, 10, 40, 41, 62, 60, 91, 93, 44
+ 335, 336, 337, 338, 339, 340, 61, 38, 43, 45,
+ 42, 47, 37, 10, 40, 41, 62, 60, 91, 93,
+ 44
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 100, 101, 101, 101, 102, 103, 103, 103, 103,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
- 105, 106, 106, 106, 106, 106, 106, 106, 106, 107,
- 107, 107, 107, 107, 107, 108, 108, 109, 109, 110,
- 110, 111, 112, 112, 113, 113, 113, 114, 115, 116,
- 117, 118, 119, 120, 120, 120, 121, 122, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 0, 101, 102, 102, 102, 103, 104, 104, 104, 104,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 106,
+ 106, 107, 107, 107, 107, 107, 107, 107, 107, 108,
+ 108, 108, 108, 108, 108, 109, 109, 110, 110, 111,
+ 111, 112, 113, 113, 114, 114, 114, 115, 116, 117,
+ 118, 119, 120, 121, 121, 121, 122, 123, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 125, 125, 126,
- 126, 127, 127, 127, 127, 127, 127, 128, 128, 129,
- 129, 130, 130, 130, 130, 131, 130, 133, 132, 132,
- 134, 132, 135, 136, 132, 137, 137, 137, 137, 138,
- 139, 140, 140, 140, 141, 141
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
+ 125, 125, 125, 125, 125, 125, 125, 125, 126, 126,
+ 127, 127, 128, 128, 129, 129, 129, 129, 129, 129,
+ 130, 130, 131, 131, 132, 132, 132, 132, 133, 132,
+ 135, 134, 134, 136, 134, 137, 138, 134, 139, 139,
+ 139, 139, 140, 141, 142, 142, 142, 143, 143
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -776,12 +782,12 @@ static const yytype_uint8 yyr2[] =
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 2, 3, 3, 3, 3, 2, 2, 3, 3,
4, 4, 4, 6, 4, 6, 4, 6, 4, 6,
- 2, 1, 1, 2, 1, 2, 2, 1, 2, 2,
- 1, 2, 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,
- 2, 0, 1, 3, 1, 3
+ 2, 1, 1, 2, 1, 2, 2, 2, 1, 2,
+ 2, 1, 2, 4, 6, 4, 2, 3, 1, 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, 2, 0, 1, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -789,103 +795,103 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 58, 66, 0, 59, 107, 110, 0, 0,
- 0, 62, 0, 65, 61, 60, 135, 104, 0, 0,
+ 0, 0, 58, 66, 0, 59, 108, 111, 0, 0,
+ 0, 62, 0, 65, 61, 60, 138, 104, 0, 0,
49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 57, 0, 0,
- 0, 0, 0, 151, 0, 3, 68, 21, 9, 22,
- 0, 0, 0, 0, 0, 19, 20, 101, 102, 7,
- 8, 5, 4, 65, 0, 67, 109, 108, 154, 111,
- 151, 63, 151, 150, 151, 103, 117, 105, 0, 121,
- 0, 122, 0, 123, 128, 124, 126, 137, 100, 0,
- 47, 0, 0, 0, 0, 139, 140, 115, 131, 132,
- 134, 119, 106, 81, 0, 0, 0, 0, 0, 142,
- 0, 86, 87, 0, 152, 0, 1, 6, 0, 0,
- 0, 0, 44, 52, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 154, 0, 3, 68, 21, 9,
+ 22, 0, 0, 0, 0, 0, 19, 20, 101, 102,
+ 7, 8, 5, 4, 65, 0, 67, 110, 109, 157,
+ 112, 154, 63, 154, 153, 154, 103, 118, 105, 0,
+ 124, 0, 125, 0, 126, 131, 127, 129, 140, 100,
+ 0, 47, 0, 0, 0, 0, 142, 143, 116, 134,
+ 135, 137, 122, 107, 81, 0, 0, 0, 0, 0,
+ 120, 106, 145, 0, 86, 87, 0, 155, 0, 1,
+ 6, 0, 0, 0, 0, 44, 52, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 151, 0, 0, 116, 152, 0, 136, 0, 127,
- 130, 0, 125, 51, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 56, 51, 0, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 51, 0,
- 88, 89, 0, 2, 0, 52, 0, 0, 51, 0,
- 26, 0, 53, 77, 78, 76, 79, 80, 73, 83,
- 84, 85, 82, 69, 70, 71, 72, 74, 75, 155,
- 64, 118, 129, 145, 10, 11, 12, 17, 14, 0,
- 0, 16, 13, 145, 114, 120, 92, 0, 94, 0,
- 96, 0, 98, 0, 90, 91, 143, 112, 151, 153,
- 53, 0, 46, 53, 0, 45, 28, 52, 146, 0,
- 18, 15, 0, 0, 0, 0, 0, 145, 0, 52,
- 0, 0, 52, 52, 54, 55, 0, 0, 149, 149,
- 93, 95, 97, 99, 0, 113, 0, 0, 52, 51,
- 32, 27, 147, 0, 53, 53, 149, 23, 52, 53,
- 29, 53, 0, 50, 51, 52, 40, 0, 148, 138,
- 141, 53, 53, 52, 52, 52, 42, 38, 0, 0,
- 39, 35, 0, 0, 52, 0, 0, 37, 0, 0,
- 52, 51, 52, 51, 144, 0, 24, 30, 31, 51,
- 33, 0, 34, 0, 25, 53, 36, 52, 52, 41,
- 43
+ 0, 0, 0, 0, 154, 0, 0, 117, 155, 0,
+ 139, 0, 130, 133, 0, 128, 51, 0, 0, 0,
+ 48, 0, 0, 0, 0, 0, 56, 51, 0, 136,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 0, 88, 89, 0, 2, 0, 52,
+ 0, 0, 51, 0, 26, 0, 53, 77, 78, 76,
+ 79, 80, 73, 83, 84, 85, 82, 69, 70, 71,
+ 72, 74, 75, 158, 64, 119, 132, 148, 10, 11,
+ 12, 17, 14, 0, 0, 16, 13, 148, 115, 123,
+ 92, 0, 94, 0, 96, 0, 98, 0, 90, 91,
+ 121, 146, 113, 154, 156, 53, 0, 46, 53, 0,
+ 45, 28, 52, 149, 0, 18, 15, 0, 0, 0,
+ 0, 0, 148, 0, 52, 0, 0, 52, 52, 54,
+ 55, 0, 0, 152, 152, 93, 95, 97, 99, 0,
+ 114, 0, 0, 52, 51, 32, 27, 150, 0, 53,
+ 53, 152, 23, 52, 53, 29, 53, 0, 50, 51,
+ 52, 40, 0, 151, 141, 144, 53, 53, 52, 52,
+ 52, 42, 38, 0, 0, 39, 35, 0, 0, 52,
+ 0, 0, 37, 0, 0, 52, 51, 52, 51, 147,
+ 0, 24, 30, 31, 51, 33, 0, 34, 0, 25,
+ 53, 36, 52, 52, 41, 43
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 44, 264, 45, 46, 47, 265, 49, 322, 305,
- 306, 296, 307, 121, 50, 51, 52, 297, 213, 190,
- 247, 53, 54, 55, 56, 77, 102, 57, 85, 86,
- 58, 74, 59, 153, 164, 178, 257, 249, 284, 60,
- 146, 69
+ -1, 45, 269, 46, 47, 48, 270, 50, 327, 310,
+ 311, 301, 312, 124, 51, 52, 53, 302, 217, 194,
+ 252, 54, 55, 56, 57, 78, 111, 103, 58, 86,
+ 87, 59, 75, 60, 156, 167, 182, 262, 254, 289,
+ 61, 149, 70
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -278
+#define YYPACT_NINF -264
static const yytype_int16 yypact[] =
{
- 294, -36, -278, -278, 902, -278, -278, 902, 902, 902,
- 7, -278, 902, 960, -278, -278, -278, 18, 46, 807,
- -278, 54, 902, 52, 48, 63, 66, 68, 902, 865,
- 70, 902, 902, 902, 902, 902, 902, -278, 73, -17,
- 902, 902, 902, 902, 6, -278, -278, -278, -278, -278,
- 8, 14, 997, 729, 902, 1506, -278, -278, -278, -278,
- -278, -278, -278, 29, 902, 1506, 1506, 1506, 1506, 17,
- 902, 1506, 902, 17, 902, -278, -278, 24, 902, -278,
- 902, -278, 77, -278, 1506, 25, -278, -278, 1026, 101,
- -278, -45, 902, -38, 95, -278, -278, 1346, -278, 25,
- -278, -278, 49, -13, 1058, 1090, 1122, 1154, 1378, -278,
- 121, -13, -13, 1442, 1506, 12, -278, 381, 997, 902,
- 997, 102, 1474, -278, 706, 902, 902, 902, 902, 902,
- 902, 902, 902, 902, 902, 902, 902, 902, 902, 902,
- 902, 902, 1026, 902, 50, 1442, -78, 50, 127, 1506,
- 1506, 902, -278, -278, 130, 902, 902, -278, 902, 902,
- 1314, 902, 902, -278, -278, 902, -278, 131, 902, 902,
- 902, 902, 902, 902, 902, 902, 902, 902, -278, -77,
- -278, -278, 902, -278, 64, 1506, 67, 1410, -36, 902,
- -278, 902, -278, 19, 19, 19, -13, -13, -13, 1506,
- 19, 19, 197, 140, 140, -13, -13, 1506, 1506, 1506,
- -278, -278, 1506, 141, -278, 1506, 1506, 1506, 1506, 902,
- 902, 1506, 1506, 141, 1506, -278, 1506, 1186, 1506, 1218,
- 1506, 1250, 1506, 1282, 1506, 1506, -278, -278, 902, 1506,
- -278, 9, -278, -278, 729, 1506, 1506, 555, -278, -73,
- 1506, 1506, -73, 902, 902, 902, 902, 141, -10, 555,
- 115, 902, 555, -278, -278, -278, 139, 155, 82, 82,
- 1506, 1506, 1506, 1506, -73, -278, 154, 902, 1506, -3,
- -5, -278, -278, 160, -278, -278, 82, -278, 1506, -278,
- -278, -278, 153, -278, -278, 153, -278, 997, -278, 555,
- 555, -278, -278, 555, 555, 153, 153, -278, 997, 729,
- -278, 134, 146, 468, 555, 161, 168, -278, 171, 152,
- -278, -278, -278, -278, -278, 176, -278, -278, -278, -278,
- -278, 729, -278, 642, -278, 642, -278, -278, 555, -278,
- -278
+ 330, -86, -264, -264, 928, -264, -264, 928, 928, 928,
+ -3, -264, 928, 967, -264, -264, -264, -21, 7, 849,
+ -264, 31, 928, 38, 40, 37, 43, 59, 928, 888,
+ 61, 928, 928, 928, 928, 928, 928, -264, 63, 69,
+ 3, 928, 928, 928, 928, 2, -264, -264, -264, -264,
+ -264, 4, 13, 1007, 770, 928, 1571, -264, -264, -264,
+ -264, -264, -264, -264, 6, 928, 1571, 1571, 1571, 1571,
+ 5, 928, 1571, 928, 5, 928, -264, -264, 9, 928,
+ -264, 928, -264, 62, -264, 1571, 32, -264, -264, 1042,
+ 80, -264, -48, 928, -45, 64, -264, -264, 1406, -264,
+ 32, -264, -264, 10, -57, 1075, 1108, 1141, 1174, 1439,
+ -264, 11, -264, 83, -57, -57, 1505, 1571, -8, -264,
+ 418, 1007, 928, 1007, 65, 1538, -264, 1339, 928, 928,
+ 928, 928, 928, 928, 928, 928, 928, 928, 928, 928,
+ 928, 928, 928, 928, 928, 1042, 928, 14, 1505, -78,
+ 14, 91, 1571, 1571, 928, -264, -264, 92, 928, 928,
+ -264, 928, 928, 1373, 928, 928, -264, -264, 928, -264,
+ 93, 928, 928, 928, 928, 928, 928, 928, 928, 928,
+ 928, 97, -264, -30, -264, -264, 928, -264, 30, 1571,
+ 33, 1472, -86, 928, -264, 928, -264, 123, 123, 123,
+ -57, -57, -57, 1571, 123, 123, 229, 238, 238, -57,
+ -57, 1571, 1571, 1571, -264, -264, 1571, 102, -264, 1571,
+ 1571, 1571, 1571, 928, 928, 1571, 1571, 102, 1571, -264,
+ 1571, 1207, 1571, 1240, 1571, 1273, 1571, 1306, 1571, 1571,
+ -264, -264, -264, 928, 1571, -264, 29, -264, -264, 770,
+ 1571, 1571, 594, -264, -12, 1571, 1571, -12, 928, 928,
+ 928, 928, 102, -16, 594, 78, 928, 594, -264, -264,
+ -264, 118, 124, 49, 49, 1571, 1571, 1571, 1571, -12,
+ -264, 125, 928, 1571, -2, -5, -264, -264, 127, -264,
+ -264, 49, -264, 1571, -264, -264, -264, 122, -264, -264,
+ 122, -264, 1007, -264, 594, 594, -264, -264, 594, 594,
+ 122, 122, -264, 1007, 770, -264, 103, 109, 506, 594,
+ 130, 133, -264, 136, 119, -264, -264, -264, -264, -264,
+ 140, -264, -264, -264, -264, -264, 770, -264, 682, -264,
+ 682, -264, -264, 594, -264, -264
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -278, -278, 23, 71, -278, -51, 0, -278, -278, -278,
- -75, -226, -97, -117, -278, -278, -278, -277, -126, -61,
- -189, -278, -278, 1, -278, -278, -278, -278, 181, -22,
- -278, -278, -278, -278, -278, -278, -278, -211, -212, -278,
- -25, 201
+ -264, -264, 23, 51, -264, -51, 0, -264, -264, -264,
+ -103, -242, -127, -105, -264, -264, -264, -248, -96, -19,
+ -188, -264, -264, 1, -264, -264, -264, -264, -264, 155,
+ -23, -264, -264, -264, -264, -264, -264, -264, -215, -263,
+ -264, -25, 172
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -895,332 +901,344 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -7
static const yytype_int16 yytable[] =
{
- 48, 184, 123, 186, 158, 65, 116, 100, 66, 67,
- 68, 161, 252, 71, 68, 308, 210, 237, 115, 61,
- 84, 182, 238, 88, 62, 290, 267, 293, 308, 97,
- 84, 70, 103, 104, 105, 106, 107, 108, 223, 260,
- 159, 111, 112, 113, 114, 144, 274, 162, 294, 147,
- 291, 259, 236, 122, 262, 124, 61, 285, 261, 131,
- 91, 92, 244, 152, 75, 142, 80, 117, 82, 310,
- 76, 114, 93, 145, 301, 114, 110, 166, 87, 149,
- 310, 150, 139, 140, 275, 128, 129, 94, 130, 182,
- 95, 131, 96, 160, 101, 299, 300, 109, 61, 119,
- 303, 118, 304, 89, 90, 134, 135, 136, 137, 138,
- 181, 182, 313, 314, 139, 140, 143, 48, 151, 122,
- 185, 187, 141, 148, 241, 157, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 114, 163, 209, 179, 338, 192, 167, 182,
- 188, 211, 212, 292, 214, 225, 215, 216, 240, 217,
- 218, 242, 221, 222, 277, 248, 224, 281, 309, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 282,
- 312, 283, 287, 239, 298, 293, 266, 321, 183, 326,
- 245, 319, 246, 263, 323, 331, 327, 333, 276, 328,
- 329, 279, 280, 335, 334, 295, 128, 129, 317, 130,
- 99, 243, 131, 258, 73, 0, 0, 289, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 302, 0, 137,
- 138, 0, 0, 0, 311, 139, 140, 0, 0, 114,
- 0, 0, 315, 316, 318, 0, 0, 0, 0, 0,
- 0, 0, 0, 325, 270, 271, 272, 273, 320, 330,
- 0, 332, 278, 128, 129, 0, 130, 0, 0, 131,
- 0, 0, 268, 0, 0, 269, 339, 340, 288, 0,
- 336, 0, 0, 0, 135, 136, 137, 138, 0, 0,
- 0, 0, 139, 140, -6, 1, 0, 286, 122, 0,
- 0, 0, 0, 0, 0, 2, 3, 4, 5, 122,
- 6, 7, 8, 9, 10, 0, 11, 12, 13, 14,
- 0, 15, 0, 16, 0, 0, 0, 17, 0, 18,
- 19, 20, 0, 337, 21, 337, 0, 0, 0, 22,
- 23, 24, 0, 0, 25, 0, 0, 0, 26, 27,
- 28, 29, 0, 30, 0, 0, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 32,
- 33, 34, 35, 36, 0, 0, 37, 38, 39, 0,
- 0, 40, 41, 0, 0, 0, -6, 42, 0, 0,
- 0, 43, 2, 3, 4, 5, 0, 6, 7, 8,
- 9, 10, 0, 11, 12, 13, 14, 0, 15, 0,
- 16, 0, 0, 0, 17, 0, 18, 19, 20, 0,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 0,
- 0, 25, 0, 0, 0, 26, 27, 28, 29, 0,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 31,
- 0, 0, 0, 0, 0, 0, 32, 33, 34, 35,
- 36, 0, 0, 37, 38, 39, 0, 0, 40, 41,
- 0, 0, 0, 0, 42, 0, 0, 0, 43, 2,
+ 49, 161, 119, 126, 164, 66, 101, 62, 67, 68,
+ 69, 290, 257, 72, 69, 134, 188, 214, 190, 118,
+ 85, 71, 186, 89, 63, 76, 295, 298, 306, 98,
+ 85, 77, 104, 105, 106, 107, 108, 109, 162, 142,
+ 143, 165, 114, 115, 116, 117, 147, 279, 299, 313,
+ 150, 296, 92, 93, 125, 88, 127, 264, 315, 265,
+ 267, 95, 313, 155, 94, 242, 145, 96, 120, 315,
+ 243, 227, 117, 81, 148, 83, 117, 169, 266, 280,
+ 152, 62, 153, 97, 186, 102, 241, 110, 272, 90,
+ 91, 185, 186, 112, 163, 62, 249, 113, 121, 122,
+ 144, 304, 305, 154, 160, 146, 308, 183, 309, 151,
+ 170, 181, 166, 192, 186, 215, 218, 229, 318, 319,
+ 49, 240, 125, 189, 191, 245, 253, 282, 247, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 117, 286, 213, 287, 288,
+ 196, 303, 343, 292, 298, 216, 326, 328, 331, 219,
+ 220, 332, 221, 222, 333, 225, 226, 334, 339, 228,
+ 246, 187, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 300, 322, 100, 74, 0, 244, 297, 131,
+ 132, 0, 133, 0, 250, 134, 251, 317, 268, 0,
+ 0, 0, 0, 314, 0, 0, 0, 0, 324, 0,
+ 137, 138, 139, 140, 141, 248, 0, 0, 263, 142,
+ 143, 0, 0, 0, 255, 256, 0, 0, 0, 0,
+ 336, 0, 338, 271, 0, 0, 0, 0, 340, 0,
+ 0, 0, 0, 0, 117, 281, 0, 0, 284, 285,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 276, 277, 278, 325, 294, 0, 0, 283, 0, 0,
+ 0, 0, 0, 0, 307, 0, 0, 273, 0, 0,
+ 274, 316, 0, 293, 0, 341, 0, 0, 0, 320,
+ 321, 323, 0, 0, 0, 131, 132, 0, 133, 0,
+ 330, 134, 291, 125, 131, 132, 335, 133, 337, 0,
+ 134, 0, 0, 0, 125, 0, 0, 138, 139, 140,
+ 141, 0, 0, 344, 345, 142, 143, 0, 140, 141,
+ -6, 1, 0, 0, 142, 143, 0, 0, 342, 0,
+ 342, 2, 3, 4, 5, 0, 6, 7, 8, 9,
+ 10, 0, 11, 12, 13, 14, 0, 15, 0, 16,
+ 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
+ 21, 0, 0, 0, 0, 22, 23, 24, 0, 0,
+ 25, 0, 0, 0, 26, 27, 28, 29, 0, 30,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 0, 32, 33, 34, 35, 36,
+ 0, 0, 37, 38, 39, 40, 0, 0, 41, 42,
+ 0, 0, 0, -6, 43, 0, 0, 0, 44, 2,
3, 4, 5, 0, 6, 7, 8, 9, 10, 0,
- 11, 12, 63, 14, 0, 15, 324, 16, 0, 0,
- 0, 17, 0, 18, 19, 20, 0, 0, 0, 0,
+ 11, 12, 13, 14, 0, 15, 0, 16, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 0, 21, 0,
0, 0, 0, 22, 23, 24, 0, 0, 25, 0,
- 0, 0, 0, 0, 28, 29, 0, 30, 0, 0,
+ 0, 0, 26, 27, 28, 29, 0, 30, 0, 0,
0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
0, 0, 0, 32, 33, 34, 35, 36, 0, 0,
- 37, 0, 39, 0, 0, 40, 41, 0, 0, 0,
- 61, 42, 0, 0, 0, 43, 2, 3, 4, 5,
- 0, 6, 7, 8, 9, 10, 0, 11, 12, 63,
- 14, 0, 15, 0, 16, 0, 0, 0, 17, 0,
- 18, 19, 20, 0, 0, 0, 0, 0, 0, 0,
- 22, 23, 24, 0, 0, 25, 0, 0, 0, 0,
- 0, 28, 29, 0, 30, 0, 0, 0, 0, 0,
- 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 32, 33, 34, 35, 36, 0, 0, 37, 0, 39,
- 0, 0, 40, 41, 0, 0, 0, 61, 42, 0,
- 0, 0, 43, 2, 3, 4, 5, 0, 6, 7,
- 8, 9, 10, 0, 11, 12, 63, 14, 0, 15,
+ 37, 38, 39, 40, 0, 0, 41, 42, 0, 0,
+ 0, 0, 43, 0, 0, 0, 44, 2, 3, 4,
+ 5, 0, 6, 7, 8, 9, 10, 0, 11, 12,
+ 64, 14, 0, 15, 329, 16, 0, 0, 0, 17,
+ 0, 18, 19, 20, 0, 0, 0, 0, 0, 0,
+ 0, 22, 23, 24, 0, 0, 25, 0, 0, 0,
+ 0, 0, 28, 29, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
+ 0, 32, 33, 34, 35, 36, 0, 0, 37, 38,
+ 0, 40, 0, 0, 41, 42, 0, 0, 0, 62,
+ 43, 0, 0, 0, 44, 2, 3, 4, 5, 0,
+ 6, 7, 8, 9, 10, 0, 11, 12, 64, 14,
+ 0, 15, 0, 16, 0, 0, 0, 17, 0, 18,
+ 19, 20, 0, 0, 0, 0, 0, 0, 0, 22,
+ 23, 24, 0, 0, 25, 0, 0, 0, 0, 0,
+ 28, 29, 0, 30, 0, 0, 0, 0, 0, 0,
+ 0, 0, 31, 0, 0, 0, 0, 0, 0, 32,
+ 33, 34, 35, 36, 0, 0, 37, 38, 0, 40,
+ 0, 0, 41, 42, 0, 0, 0, 62, 43, 0,
+ 0, 0, 44, 2, 3, 4, 5, 0, 6, 7,
+ 8, 9, 10, 0, 11, 12, 64, 14, 0, 15,
0, 16, 0, 0, 0, 17, 0, 18, 19, 20,
0, 0, 0, 0, 0, 0, 0, 22, 23, 24,
0, 0, 25, 0, 0, 0, 0, 0, 28, 29,
0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 0, 0, 0, 32, 33, 34,
- 35, 36, 0, 0, 37, 0, 39, 0, 0, 40,
- 41, 0, 0, 0, 0, 42, 0, 0, 0, 43,
- 2, 3, 4, 5, 0, 6, 7, 8, 9, 10,
- 0, 11, 12, 63, 14, 191, 15, 0, 16, 0,
- 0, 0, 17, 0, 18, 19, 125, 126, 0, 0,
- 0, 127, 128, 129, 22, 130, 24, 0, 131, 132,
- 133, 0, 0, 0, 0, 28, 29, 0, 30, 0,
- 0, 0, 134, 135, 136, 137, 138, 31, 61, 0,
- 0, 139, 140, 0, 32, 33, 34, 35, 36, 0,
- 0, 0, 0, 39, 0, 0, 40, 41, 2, 3,
- 4, 5, 42, 0, 0, 0, 43, 0, 0, 11,
- 12, 63, 14, 0, 15, 0, 0, 0, 0, 0,
- 0, 78, 0, 0, 0, 0, 79, 0, 80, 81,
- 82, 83, 64, 0, 24, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 31, 2, 3, 4, 5,
- 0, 0, 32, 33, 34, 35, 36, 11, 12, 63,
- 14, 0, 15, 0, 40, 41, 0, 0, 0, 78,
- 42, 0, 0, 0, 43, 0, 80, 0, 82, 0,
- 64, 0, 24, 2, 3, 4, 5, 0, 0, 0,
- 0, 0, 0, 98, 11, 12, 63, 14, 0, 15,
- 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 32, 33, 34, 35, 36, 0, 0, 64, 0, 24,
- 0, 0, 40, 41, 0, 0, 0, 0, 42, 0,
- 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
- 31, 2, 3, 4, 5, 0, 0, 32, 33, 34,
- 35, 36, 11, 12, 63, 14, 0, 15, 0, 40,
- 41, 0, 0, 0, 0, 42, 0, 0, 0, 43,
- 0, 0, 0, 0, 0, 64, 0, 24, 2, 3,
- 4, 5, 0, 0, 0, 0, 0, 0, 0, 11,
- 12, 63, 14, 0, 15, 0, 0, 0, 31, 0,
+ 35, 36, 0, 0, 37, 38, 0, 40, 0, 0,
+ 41, 42, 0, 0, 0, 0, 43, 0, 0, 0,
+ 44, 2, 3, 4, 5, 0, 6, 7, 8, 9,
+ 10, 0, 11, 12, 64, 14, 0, 15, 0, 16,
+ 0, 0, 0, 17, 0, 18, 19, 0, 0, 0,
+ 0, 0, 0, 0, 0, 22, 0, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 29, 0, 30,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
0, 0, 0, 0, 0, 32, 33, 34, 35, 36,
- 0, 0, 64, 0, 24, 0, 0, 40, 41, 0,
- 0, 0, 0, 72, 0, 0, 0, 43, 0, 0,
- 0, 0, 0, 0, 154, 31, 0, 0, 0, 0,
+ 0, 0, 0, 38, 0, 40, 0, 0, 41, 42,
+ 2, 3, 4, 5, 43, 0, 0, 0, 44, 0,
+ 0, 11, 12, 64, 14, 0, 15, 0, 0, 0,
+ 0, 0, 0, 79, 0, 0, 0, 0, 80, 0,
+ 81, 82, 83, 84, 65, 0, 24, 0, 0, 2,
+ 3, 4, 5, 0, 0, 0, 0, 0, 0, 0,
+ 11, 12, 64, 14, 0, 15, 0, 31, 0, 0,
+ 0, 0, 79, 0, 32, 33, 34, 35, 36, 81,
+ 0, 83, 0, 65, 0, 24, 0, 41, 42, 2,
+ 3, 4, 5, 43, 0, 0, 99, 44, 0, 0,
+ 11, 12, 64, 14, 0, 15, 31, 0, 0, 0,
+ 0, 0, 0, 32, 33, 34, 35, 36, 0, 0,
+ 0, 0, 0, 65, 0, 24, 41, 42, 2, 3,
+ 4, 5, 43, 0, 0, 0, 44, 0, 0, 11,
+ 12, 64, 14, 0, 15, 0, 31, 0, 0, 0,
+ 0, 0, 0, 32, 33, 34, 35, 36, 0, 0,
+ 0, 0, 65, 0, 24, 0, 41, 42, 2, 3,
+ 4, 5, 43, 0, 0, 0, 44, 0, 0, 11,
+ 12, 64, 14, 0, 15, 31, 0, 0, 0, 0,
0, 0, 32, 33, 34, 35, 36, 0, 0, 0,
- 0, 0, 0, 0, 40, 41, 125, 126, 0, 0,
- 120, 127, 128, 129, 43, 130, 155, 156, 131, 132,
- 133, 168, 0, 0, 0, 0, 0, 169, 0, 0,
- 0, 0, 134, 135, 136, 137, 138, 0, 125, 126,
- 0, 139, 140, 127, 128, 129, 0, 130, 0, 0,
- 131, 132, 133, 170, 0, 0, 0, 0, 0, 171,
- 0, 0, 0, 0, 134, 135, 136, 137, 138, 0,
- 125, 126, 0, 139, 140, 127, 128, 129, 0, 130,
- 0, 0, 131, 132, 133, 172, 0, 0, 0, 0,
- 0, 173, 0, 0, 0, 0, 134, 135, 136, 137,
- 138, 0, 125, 126, 0, 139, 140, 127, 128, 129,
- 0, 130, 0, 0, 131, 132, 133, 174, 0, 0,
- 0, 0, 0, 175, 0, 0, 0, 0, 134, 135,
- 136, 137, 138, 0, 125, 126, 0, 139, 140, 127,
- 128, 129, 0, 130, 0, 0, 131, 132, 133, 253,
+ 0, 0, 65, 0, 24, 41, 42, 0, 0, 0,
+ 0, 73, 0, 0, 0, 44, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
+ 157, 0, 32, 33, 34, 35, 36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 41, 42, 0, 0, 0,
+ 0, 123, 128, 129, 0, 44, 0, 130, 131, 132,
+ 0, 133, 158, 159, 134, 135, 136, 0, 171, 0,
+ 0, 0, 0, 0, 172, 0, 0, 0, 0, 137,
+ 138, 139, 140, 141, 0, 128, 129, 0, 142, 143,
+ 130, 131, 132, 0, 133, 0, 0, 134, 135, 136,
+ 0, 173, 0, 0, 0, 0, 0, 174, 0, 0,
+ 0, 0, 137, 138, 139, 140, 141, 0, 128, 129,
+ 0, 142, 143, 130, 131, 132, 0, 133, 0, 0,
+ 134, 135, 136, 0, 175, 0, 0, 0, 0, 0,
+ 176, 0, 0, 0, 0, 137, 138, 139, 140, 141,
+ 0, 128, 129, 0, 142, 143, 130, 131, 132, 0,
+ 133, 0, 0, 134, 135, 136, 0, 177, 0, 0,
+ 0, 0, 0, 178, 0, 0, 0, 0, 137, 138,
+ 139, 140, 141, 0, 128, 129, 0, 142, 143, 130,
+ 131, 132, 0, 133, 0, 0, 134, 135, 136, 0,
+ 258, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 137, 138, 139, 140, 141, 0, 128, 129, 0,
+ 142, 143, 130, 131, 132, 0, 133, 0, 0, 134,
+ 135, 136, 0, 259, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 137, 138, 139, 140, 141, 0,
+ 128, 129, 0, 142, 143, 130, 131, 132, 0, 133,
+ 0, 0, 134, 135, 136, 0, 260, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 137, 138, 139,
+ 140, 141, 0, 128, 129, 0, 142, 143, 130, 131,
+ 132, 0, 133, 0, 0, 134, 135, 136, 0, 261,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 134, 135, 136, 137, 138, 0, 125, 126, 0, 139,
- 140, 127, 128, 129, 0, 130, 0, 0, 131, 132,
- 133, 254, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 134, 135, 136, 137, 138, 0, 125, 126,
- 0, 139, 140, 127, 128, 129, 0, 130, 0, 0,
- 131, 132, 133, 255, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 134, 135, 136, 137, 138, 0,
- 125, 126, 0, 139, 140, 127, 128, 129, 0, 130,
- 0, 0, 131, 132, 133, 256, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 134, 135, 136, 137,
- 138, 0, 125, 126, 0, 139, 140, 127, 128, 129,
- 0, 130, 0, 0, 131, 132, 133, 0, 0, 0,
- 0, 0, 0, 219, 0, 0, 0, 0, 134, 135,
- 136, 137, 138, 0, 125, 126, 0, 139, 140, 127,
- 128, 129, 0, 130, 0, 0, 131, 132, 133, 0,
- 0, 0, 0, 0, 0, 0, 0, 165, 0, 220,
- 134, 135, 136, 137, 138, 0, 125, 126, 0, 139,
- 140, 127, 128, 129, 0, 130, 0, 0, 131, 132,
- 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 134, 135, 136, 137, 138, 0, 125, 126,
- 0, 139, 140, 127, 128, 129, 0, 130, 0, 0,
- 131, 132, 133, 0, 0, 0, 0, 0, 176, 177,
- 0, 0, 0, 0, 134, 135, 136, 137, 138, 0,
- 125, 126, 0, 139, 140, 127, 128, 129, 0, 130,
- 0, 0, 131, 132, 133, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 189, 134, 135, 136, 137,
- 138, 0, 125, 126, 180, 139, 140, 127, 128, 129,
- 0, 130, 0, 0, 131, 132, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 134, 135,
- 136, 137, 138, 0, 125, 126, 180, 139, 140, 127,
- 128, 129, 0, 130, 0, 0, 131, 132, 133, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
- 134, 135, 136, 137, 138, 0, 125, 126, 0, 139,
- 140, 127, 128, 129, 0, 130, 0, 0, 131, 132,
- 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 134, 135, 136, 137, 138, 0, 0, 0,
- 0, 139, 140
+ 137, 138, 139, 140, 141, 0, 128, 129, 0, 142,
+ 143, 130, 131, 132, 0, 133, 0, 0, 134, 135,
+ 136, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 137, 138, 139, 140, 141, 0, 128,
+ 129, 0, 142, 143, 130, 131, 132, 0, 133, 0,
+ 0, 134, 135, 136, 0, 0, 0, 0, 0, 0,
+ 0, 0, 223, 0, 0, 0, 137, 138, 139, 140,
+ 141, 0, 62, 128, 129, 142, 143, 0, 130, 131,
+ 132, 0, 133, 0, 0, 134, 135, 136, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 168, 0, 224,
+ 137, 138, 139, 140, 141, 0, 128, 129, 0, 142,
+ 143, 130, 131, 132, 0, 133, 0, 0, 134, 135,
+ 136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 137, 138, 139, 140, 141, 0, 128,
+ 129, 0, 142, 143, 130, 131, 132, 0, 133, 0,
+ 0, 134, 135, 136, 0, 0, 0, 0, 0, 179,
+ 180, 0, 0, 0, 0, 0, 137, 138, 139, 140,
+ 141, 0, 128, 129, 0, 142, 143, 130, 131, 132,
+ 0, 133, 0, 0, 134, 135, 136, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 193, 137,
+ 138, 139, 140, 141, 0, 128, 129, 184, 142, 143,
+ 130, 131, 132, 0, 133, 0, 0, 134, 135, 136,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 137, 138, 139, 140, 141, 0, 128, 129,
+ 184, 142, 143, 130, 131, 132, 0, 133, 0, 0,
+ 134, 135, 136, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 193, 137, 138, 139, 140, 141,
+ 0, 128, 129, 0, 142, 143, 130, 131, 132, 0,
+ 133, 0, 0, 134, 135, 136, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 137, 138,
+ 139, 140, 141, 0, 0, 0, 0, 142, 143
};
static const yytype_int16 yycheck[] =
{
- 0, 118, 53, 120, 49, 4, 0, 29, 7, 8,
- 9, 49, 223, 12, 13, 292, 94, 94, 43, 92,
- 19, 99, 99, 22, 1, 28, 99, 32, 305, 28,
- 29, 24, 31, 32, 33, 34, 35, 36, 164, 30,
- 85, 40, 41, 42, 43, 70, 257, 85, 53, 74,
- 53, 240, 178, 52, 243, 54, 92, 269, 49, 72,
- 12, 13, 188, 85, 46, 64, 41, 44, 43, 295,
- 24, 70, 24, 72, 286, 74, 93, 99, 24, 78,
- 306, 80, 95, 96, 94, 66, 67, 24, 69, 99,
- 24, 72, 24, 92, 24, 284, 285, 24, 92, 85,
- 289, 93, 291, 51, 52, 86, 87, 88, 89, 90,
- 98, 99, 301, 302, 95, 96, 99, 117, 41, 118,
- 119, 120, 93, 99, 185, 24, 125, 126, 127, 128,
+ 0, 49, 0, 54, 49, 4, 29, 93, 7, 8,
+ 9, 274, 227, 12, 13, 72, 121, 95, 123, 44,
+ 19, 24, 100, 22, 1, 46, 28, 32, 291, 28,
+ 29, 24, 31, 32, 33, 34, 35, 36, 86, 96,
+ 97, 86, 41, 42, 43, 44, 71, 262, 53, 297,
+ 75, 53, 12, 13, 53, 24, 55, 245, 300, 30,
+ 248, 24, 310, 86, 24, 95, 65, 24, 45, 311,
+ 100, 167, 71, 41, 73, 43, 75, 100, 49, 95,
+ 79, 93, 81, 24, 100, 24, 182, 24, 100, 51,
+ 52, 99, 100, 24, 93, 93, 192, 94, 94, 86,
+ 94, 289, 290, 41, 24, 100, 294, 24, 296, 100,
+ 100, 100, 48, 48, 100, 24, 24, 24, 306, 307,
+ 120, 24, 121, 122, 123, 95, 24, 49, 95, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 48, 143, 24, 335, 124, 99, 99,
- 48, 24, 151, 279, 24, 24, 155, 156, 94, 158,
- 159, 94, 161, 162, 49, 24, 165, 28, 294, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 24,
- 297, 99, 28, 182, 24, 32, 247, 53, 117, 28,
- 189, 308, 191, 244, 48, 321, 28, 323, 259, 28,
- 48, 262, 263, 329, 28, 280, 66, 67, 305, 69,
- 29, 188, 72, 238, 13, -1, -1, 278, -1, -1,
- 219, 220, -1, -1, -1, -1, -1, 288, -1, 89,
- 90, -1, -1, -1, 295, 95, 96, -1, -1, 238,
- -1, -1, 303, 304, 305, -1, -1, -1, -1, -1,
- -1, -1, -1, 314, 253, 254, 255, 256, 309, 320,
- -1, 322, 261, 66, 67, -1, 69, -1, -1, 72,
- -1, -1, 249, -1, -1, 252, 337, 338, 277, -1,
- 331, -1, -1, -1, 87, 88, 89, 90, -1, -1,
- -1, -1, 95, 96, 0, 1, -1, 274, 297, -1,
- -1, -1, -1, -1, -1, 11, 12, 13, 14, 308,
- 16, 17, 18, 19, 20, -1, 22, 23, 24, 25,
- -1, 27, -1, 29, -1, -1, -1, 33, -1, 35,
- 36, 37, -1, 333, 40, 335, -1, -1, -1, 45,
- 46, 47, -1, -1, 50, -1, -1, -1, 54, 55,
- 56, 57, -1, 59, -1, -1, -1, -1, -1, -1,
- -1, -1, 68, -1, -1, -1, -1, -1, -1, 75,
- 76, 77, 78, 79, -1, -1, 82, 83, 84, -1,
- -1, 87, 88, -1, -1, -1, 92, 93, -1, -1,
- -1, 97, 11, 12, 13, 14, -1, 16, 17, 18,
- 19, 20, -1, 22, 23, 24, 25, -1, 27, -1,
- 29, -1, -1, -1, 33, -1, 35, 36, 37, -1,
- -1, 40, -1, -1, -1, -1, 45, 46, 47, -1,
- -1, 50, -1, -1, -1, 54, 55, 56, 57, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, 68,
- -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
- 79, -1, -1, 82, 83, 84, -1, -1, 87, 88,
- -1, -1, -1, -1, 93, -1, -1, -1, 97, 11,
+ 139, 140, 141, 142, 143, 144, 28, 146, 24, 100,
+ 127, 24, 340, 28, 32, 154, 53, 48, 28, 158,
+ 159, 28, 161, 162, 28, 164, 165, 48, 28, 168,
+ 189, 120, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 285, 310, 29, 13, -1, 186, 284, 66,
+ 67, -1, 69, -1, 193, 72, 195, 302, 249, -1,
+ -1, -1, -1, 299, -1, -1, -1, -1, 313, -1,
+ 87, 88, 89, 90, 91, 192, -1, -1, 243, 96,
+ 97, -1, -1, -1, 223, 224, -1, -1, -1, -1,
+ 326, -1, 328, 252, -1, -1, -1, -1, 334, -1,
+ -1, -1, -1, -1, 243, 264, -1, -1, 267, 268,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 258,
+ 259, 260, 261, 314, 283, -1, -1, 266, -1, -1,
+ -1, -1, -1, -1, 293, -1, -1, 254, -1, -1,
+ 257, 300, -1, 282, -1, 336, -1, -1, -1, 308,
+ 309, 310, -1, -1, -1, 66, 67, -1, 69, -1,
+ 319, 72, 279, 302, 66, 67, 325, 69, 327, -1,
+ 72, -1, -1, -1, 313, -1, -1, 88, 89, 90,
+ 91, -1, -1, 342, 343, 96, 97, -1, 90, 91,
+ 0, 1, -1, -1, 96, 97, -1, -1, 338, -1,
+ 340, 11, 12, 13, 14, -1, 16, 17, 18, 19,
+ 20, -1, 22, 23, 24, 25, -1, 27, -1, 29,
+ -1, -1, -1, 33, -1, 35, 36, 37, -1, -1,
+ 40, -1, -1, -1, -1, 45, 46, 47, -1, -1,
+ 50, -1, -1, -1, 54, 55, 56, 57, -1, 59,
+ -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
+ -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ -1, -1, 82, 83, 84, 85, -1, -1, 88, 89,
+ -1, -1, -1, 93, 94, -1, -1, -1, 98, 11,
12, 13, 14, -1, 16, 17, 18, 19, 20, -1,
- 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
- -1, 33, -1, 35, 36, 37, -1, -1, -1, -1,
+ 22, 23, 24, 25, -1, 27, -1, 29, -1, -1,
+ -1, 33, -1, 35, 36, 37, -1, -1, 40, -1,
-1, -1, -1, 45, 46, 47, -1, -1, 50, -1,
- -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
+ -1, -1, 54, 55, 56, 57, -1, 59, -1, -1,
-1, -1, -1, -1, -1, -1, 68, -1, -1, -1,
-1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
- 82, -1, 84, -1, -1, 87, 88, -1, -1, -1,
- 92, 93, -1, -1, -1, 97, 11, 12, 13, 14,
- -1, 16, 17, 18, 19, 20, -1, 22, 23, 24,
- 25, -1, 27, -1, 29, -1, -1, -1, 33, -1,
- 35, 36, 37, -1, -1, -1, -1, -1, -1, -1,
- 45, 46, 47, -1, -1, 50, -1, -1, -1, -1,
- -1, 56, 57, -1, 59, -1, -1, -1, -1, -1,
- -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
- 75, 76, 77, 78, 79, -1, -1, 82, -1, 84,
- -1, -1, 87, 88, -1, -1, -1, 92, 93, -1,
- -1, -1, 97, 11, 12, 13, 14, -1, 16, 17,
+ 82, 83, 84, 85, -1, -1, 88, 89, -1, -1,
+ -1, -1, 94, -1, -1, -1, 98, 11, 12, 13,
+ 14, -1, 16, 17, 18, 19, 20, -1, 22, 23,
+ 24, 25, -1, 27, 28, 29, -1, -1, -1, 33,
+ -1, 35, 36, 37, -1, -1, -1, -1, -1, -1,
+ -1, 45, 46, 47, -1, -1, 50, -1, -1, -1,
+ -1, -1, 56, 57, -1, 59, -1, -1, -1, -1,
+ -1, -1, -1, -1, 68, -1, -1, -1, -1, -1,
+ -1, 75, 76, 77, 78, 79, -1, -1, 82, 83,
+ -1, 85, -1, -1, 88, 89, -1, -1, -1, 93,
+ 94, -1, -1, -1, 98, 11, 12, 13, 14, -1,
+ 16, 17, 18, 19, 20, -1, 22, 23, 24, 25,
+ -1, 27, -1, 29, -1, -1, -1, 33, -1, 35,
+ 36, 37, -1, -1, -1, -1, -1, -1, -1, 45,
+ 46, 47, -1, -1, 50, -1, -1, -1, -1, -1,
+ 56, 57, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, 68, -1, -1, -1, -1, -1, -1, 75,
+ 76, 77, 78, 79, -1, -1, 82, 83, -1, 85,
+ -1, -1, 88, 89, -1, -1, -1, 93, 94, -1,
+ -1, -1, 98, 11, 12, 13, 14, -1, 16, 17,
18, 19, 20, -1, 22, 23, 24, 25, -1, 27,
-1, 29, -1, -1, -1, 33, -1, 35, 36, 37,
-1, -1, -1, -1, -1, -1, -1, 45, 46, 47,
-1, -1, 50, -1, -1, -1, -1, -1, 56, 57,
-1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, 82, -1, 84, -1, -1, 87,
- 88, -1, -1, -1, -1, 93, -1, -1, -1, 97,
- 11, 12, 13, 14, -1, 16, 17, 18, 19, 20,
- -1, 22, 23, 24, 25, 49, 27, -1, 29, -1,
- -1, -1, 33, -1, 35, 36, 60, 61, -1, -1,
- -1, 65, 66, 67, 45, 69, 47, -1, 72, 73,
- 74, -1, -1, -1, -1, 56, 57, -1, 59, -1,
- -1, -1, 86, 87, 88, 89, 90, 68, 92, -1,
- -1, 95, 96, -1, 75, 76, 77, 78, 79, -1,
- -1, -1, -1, 84, -1, -1, 87, 88, 11, 12,
- 13, 14, 93, -1, -1, -1, 97, -1, -1, 22,
- 23, 24, 25, -1, 27, -1, -1, -1, -1, -1,
- -1, 34, -1, -1, -1, -1, 39, -1, 41, 42,
- 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 68, 11, 12, 13, 14,
- -1, -1, 75, 76, 77, 78, 79, 22, 23, 24,
- 25, -1, 27, -1, 87, 88, -1, -1, -1, 34,
- 93, -1, -1, -1, 97, -1, 41, -1, 43, -1,
- 45, -1, 47, 11, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, 58, 22, 23, 24, 25, -1, 27,
- -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
- 75, 76, 77, 78, 79, -1, -1, 45, -1, 47,
- -1, -1, 87, 88, -1, -1, -1, -1, 93, -1,
- -1, -1, 97, -1, -1, -1, -1, -1, -1, -1,
- 68, 11, 12, 13, 14, -1, -1, 75, 76, 77,
- 78, 79, 22, 23, 24, 25, -1, 27, -1, 87,
- 88, -1, -1, -1, -1, 93, -1, -1, -1, 97,
- -1, -1, -1, -1, -1, 45, -1, 47, 11, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, 22,
- 23, 24, 25, -1, 27, -1, -1, -1, 68, -1,
+ 78, 79, -1, -1, 82, 83, -1, 85, -1, -1,
+ 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
+ 98, 11, 12, 13, 14, -1, 16, 17, 18, 19,
+ 20, -1, 22, 23, 24, 25, -1, 27, -1, 29,
+ -1, -1, -1, 33, -1, 35, 36, -1, -1, -1,
+ -1, -1, -1, -1, -1, 45, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, -1, 56, 57, -1, 59,
+ -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
-1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
- -1, -1, 45, -1, 47, -1, -1, 87, 88, -1,
- -1, -1, -1, 93, -1, -1, -1, 97, -1, -1,
- -1, -1, -1, -1, 38, 68, -1, -1, -1, -1,
+ -1, -1, -1, 83, -1, 85, -1, -1, 88, 89,
+ 11, 12, 13, 14, 94, -1, -1, -1, 98, -1,
+ -1, 22, 23, 24, 25, -1, 27, -1, -1, -1,
+ -1, -1, -1, 34, -1, -1, -1, -1, 39, -1,
+ 41, 42, 43, 44, 45, -1, 47, -1, -1, 11,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, 24, 25, -1, 27, -1, 68, -1, -1,
+ -1, -1, 34, -1, 75, 76, 77, 78, 79, 41,
+ -1, 43, -1, 45, -1, 47, -1, 88, 89, 11,
+ 12, 13, 14, 94, -1, -1, 58, 98, -1, -1,
+ 22, 23, 24, 25, -1, 27, 68, -1, -1, -1,
+ -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, 45, -1, 47, 88, 89, 11, 12,
+ 13, 14, 94, -1, -1, -1, 98, -1, -1, 22,
+ 23, 24, 25, -1, 27, -1, 68, -1, -1, -1,
+ -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, 45, -1, 47, -1, 88, 89, 11, 12,
+ 13, 14, 94, -1, -1, -1, 98, -1, -1, 22,
+ 23, 24, 25, -1, 27, 68, -1, -1, -1, -1,
-1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, -1, -1, -1, 87, 88, 60, 61, -1, -1,
- 93, 65, 66, 67, 97, 69, 70, 71, 72, 73,
- 74, 43, -1, -1, -1, -1, -1, 49, -1, -1,
- -1, -1, 86, 87, 88, 89, 90, -1, 60, 61,
- -1, 95, 96, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, 43, -1, -1, -1, -1, -1, 49,
- -1, -1, -1, -1, 86, 87, 88, 89, 90, -1,
- 60, 61, -1, 95, 96, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, 43, -1, -1, -1, -1,
- -1, 49, -1, -1, -1, -1, 86, 87, 88, 89,
- 90, -1, 60, 61, -1, 95, 96, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, 43, -1, -1,
- -1, -1, -1, 49, -1, -1, -1, -1, 86, 87,
- 88, 89, 90, -1, 60, 61, -1, 95, 96, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, 43,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 86, 87, 88, 89, 90, -1, 60, 61, -1, 95,
- 96, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, 43, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 86, 87, 88, 89, 90, -1, 60, 61,
- -1, 95, 96, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, 43, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 86, 87, 88, 89, 90, -1,
- 60, 61, -1, 95, 96, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, 43, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
- 90, -1, 60, 61, -1, 95, 96, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 49, -1, -1, -1, -1, 86, 87,
- 88, 89, 90, -1, 60, 61, -1, 95, 96, 65,
+ -1, -1, 45, -1, 47, 88, 89, -1, -1, -1,
+ -1, 94, -1, -1, -1, 98, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
+ 38, -1, 75, 76, 77, 78, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, 88, 89, -1, -1, -1,
+ -1, 94, 60, 61, -1, 98, -1, 65, 66, 67,
+ -1, 69, 70, 71, 72, 73, 74, -1, 43, -1,
+ -1, -1, -1, -1, 49, -1, -1, -1, -1, 87,
+ 88, 89, 90, 91, -1, 60, 61, -1, 96, 97,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, 43, -1, -1, -1, -1, -1, 49, -1, -1,
+ -1, -1, 87, 88, 89, 90, 91, -1, 60, 61,
+ -1, 96, 97, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, 43, -1, -1, -1, -1, -1,
+ 49, -1, -1, -1, -1, 87, 88, 89, 90, 91,
+ -1, 60, 61, -1, 96, 97, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, 43, -1, -1,
+ -1, -1, -1, 49, -1, -1, -1, -1, 87, 88,
+ 89, 90, 91, -1, 60, 61, -1, 96, 97, 65,
66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, -1, -1, 51, -1, 85,
- 86, 87, 88, 89, 90, -1, 60, 61, -1, 95,
- 96, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 43, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 87, 88, 89, 90, 91, -1, 60, 61, -1,
+ 96, 97, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, 43, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 87, 88, 89, 90, 91, -1,
+ 60, 61, -1, 96, 97, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, -1, 43, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 87, 88, 89,
+ 90, 91, -1, 60, 61, -1, 96, 97, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, 43,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 87, 88, 89, 90, 91, -1, 60, 61, -1, 96,
+ 97, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, 49, -1,
+ -1, -1, -1, 87, 88, 89, 90, 91, -1, 60,
+ 61, -1, 96, 97, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ -1, -1, 49, -1, -1, -1, 87, 88, 89, 90,
+ 91, -1, 93, 60, 61, 96, 97, -1, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 51, -1, 86,
+ 87, 88, 89, 90, 91, -1, 60, 61, -1, 96,
+ 97, 65, 66, 67, -1, 69, -1, -1, 72, 73,
74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 86, 87, 88, 89, 90, -1, 60, 61,
- -1, 95, 96, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
- -1, -1, -1, -1, 86, 87, 88, 89, 90, -1,
- 60, 61, -1, 95, 96, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 85, 86, 87, 88, 89,
- 90, -1, 60, 61, 94, 95, 96, 65, 66, 67,
+ -1, -1, -1, 87, 88, 89, 90, 91, -1, 60,
+ 61, -1, 96, 97, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, 80,
+ 81, -1, -1, -1, -1, -1, 87, 88, 89, 90,
+ 91, -1, 60, 61, -1, 96, 97, 65, 66, 67,
-1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 86, 87,
- 88, 89, 90, -1, 60, 61, 94, 95, 96, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
- 86, 87, 88, 89, 90, -1, 60, 61, -1, 95,
- 96, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 86, 87, 88, 89, 90, -1, -1, -1,
- -1, 95, 96
+ 88, 89, 90, 91, -1, 60, 61, 95, 96, 97,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 87, 88, 89, 90, 91, -1, 60, 61,
+ 95, 96, 97, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
+ -1, 60, 61, -1, 96, 97, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 87, 88,
+ 89, 90, 91, -1, -1, -1, -1, 96, 97
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1231,37 +1249,37 @@ static const yytype_uint8 yystos[] =
20, 22, 23, 24, 25, 27, 29, 33, 35, 36,
37, 40, 45, 46, 47, 50, 54, 55, 56, 57,
59, 68, 75, 76, 77, 78, 79, 82, 83, 84,
- 87, 88, 93, 97, 101, 103, 104, 105, 106, 107,
- 114, 115, 116, 121, 122, 123, 124, 127, 130, 132,
- 139, 92, 102, 24, 45, 123, 123, 123, 123, 141,
- 24, 123, 93, 141, 131, 46, 24, 125, 34, 39,
- 41, 42, 43, 44, 123, 128, 129, 24, 123, 51,
- 52, 12, 13, 24, 24, 24, 24, 123, 58, 128,
- 129, 24, 126, 123, 123, 123, 123, 123, 123, 24,
- 93, 123, 123, 123, 123, 140, 0, 102, 93, 85,
- 93, 113, 123, 105, 123, 60, 61, 65, 66, 67,
- 69, 72, 73, 74, 86, 87, 88, 89, 90, 95,
- 96, 93, 123, 99, 140, 123, 140, 140, 99, 123,
- 123, 41, 129, 133, 38, 70, 71, 24, 49, 85,
- 123, 49, 85, 48, 134, 51, 129, 99, 43, 49,
- 43, 49, 43, 49, 43, 49, 80, 81, 135, 24,
- 94, 98, 99, 103, 113, 123, 113, 123, 48, 85,
- 119, 49, 102, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 94, 24, 123, 118, 24, 123, 123, 123, 123, 49,
- 85, 123, 123, 118, 123, 24, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 118, 94, 99, 123,
- 94, 119, 94, 102, 118, 123, 123, 120, 24, 137,
- 123, 123, 137, 43, 43, 43, 43, 136, 140, 120,
- 30, 49, 120, 105, 102, 106, 119, 99, 102, 102,
- 123, 123, 123, 123, 137, 94, 119, 49, 123, 119,
- 119, 28, 24, 99, 138, 138, 102, 28, 123, 119,
- 28, 53, 118, 32, 53, 110, 111, 117, 24, 120,
- 120, 138, 119, 120, 120, 109, 110, 112, 117, 118,
- 111, 119, 113, 120, 120, 119, 119, 112, 119, 113,
- 105, 53, 108, 48, 28, 119, 28, 28, 28, 48,
- 119, 118, 119, 118, 28, 118, 105, 106, 120, 119,
- 119
+ 85, 88, 89, 94, 98, 102, 104, 105, 106, 107,
+ 108, 115, 116, 117, 122, 123, 124, 125, 129, 132,
+ 134, 141, 93, 103, 24, 45, 124, 124, 124, 124,
+ 143, 24, 124, 94, 143, 133, 46, 24, 126, 34,
+ 39, 41, 42, 43, 44, 124, 130, 131, 24, 124,
+ 51, 52, 12, 13, 24, 24, 24, 24, 124, 58,
+ 130, 131, 24, 128, 124, 124, 124, 124, 124, 124,
+ 24, 127, 24, 94, 124, 124, 124, 124, 142, 0,
+ 103, 94, 86, 94, 114, 124, 106, 124, 60, 61,
+ 65, 66, 67, 69, 72, 73, 74, 87, 88, 89,
+ 90, 91, 96, 97, 94, 124, 100, 142, 124, 142,
+ 142, 100, 124, 124, 41, 131, 135, 38, 70, 71,
+ 24, 49, 86, 124, 49, 86, 48, 136, 51, 131,
+ 100, 43, 49, 43, 49, 43, 49, 43, 49, 80,
+ 81, 100, 137, 24, 95, 99, 100, 104, 114, 124,
+ 114, 124, 48, 86, 120, 49, 103, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 95, 24, 124, 119, 24, 124,
+ 124, 124, 124, 49, 86, 124, 124, 119, 124, 24,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 24, 119, 95, 100, 124, 95, 120, 95, 103, 119,
+ 124, 124, 121, 24, 139, 124, 124, 139, 43, 43,
+ 43, 43, 138, 142, 121, 30, 49, 121, 106, 103,
+ 107, 120, 100, 103, 103, 124, 124, 124, 124, 139,
+ 95, 120, 49, 124, 120, 120, 28, 24, 100, 140,
+ 140, 103, 28, 124, 120, 28, 53, 119, 32, 53,
+ 111, 112, 118, 24, 121, 121, 140, 120, 121, 121,
+ 110, 111, 113, 118, 119, 112, 120, 114, 121, 121,
+ 120, 120, 113, 120, 114, 106, 53, 109, 48, 28,
+ 120, 28, 28, 28, 48, 120, 119, 120, 119, 28,
+ 119, 106, 107, 121, 120, 120
};
#define yyerrok (yyerrstatus = 0)
@@ -2692,165 +2710,175 @@ yyreduce:
g_lingo->code1(g_lingo->c_procret); ;}
break;
- case 107:
-#line 481 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 482 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->_builtins[*(yyvsp[(1) - (1)].s)]->u.func);
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 108:
-#line 484 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 485 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->_builtins[*(yyvsp[(1) - (2)].s)]->u.func);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 109:
-#line 487 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 488 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->_builtins[*(yyvsp[(1) - (2)].s)]->u.func);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 110:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 491 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(g_lingo->c_voidpush, g_lingo->_builtins[*(yyvsp[(1) - (1)].s)]->u.func);
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 111:
-#line 493 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
- break;
-
case 112:
#line 494 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
+ { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
break;
case 113:
#line 495 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
+ { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
break;
case 114:
#line 496 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_open); ;}
+ { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
break;
case 115:
#line 497 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
+ { g_lingo->code1(g_lingo->c_open); ;}
break;
case 116:
#line 498 "engines/director/lingo/lingo-gr.y"
- { Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
+ { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
break;
case 117:
-#line 501 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
+#line 499 "engines/director/lingo/lingo-gr.y"
+ { Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
break;
case 118:
#line 502 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
+ { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
case 119:
-#line 505 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
+#line 503 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 120:
#line 506 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
+ { g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
case 121:
-#line 517 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_gotoloop); ;}
+#line 507 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 122:
-#line 518 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_gotonext); ;}
+#line 510 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
case 123:
-#line 519 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(g_lingo->c_gotoprevious); ;}
+#line 511 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 124:
-#line 520 "engines/director/lingo/lingo-gr.y"
+#line 522 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_gotoloop); ;}
+ break;
+
+ case 125:
+#line 523 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_gotonext); ;}
+ break;
+
+ case 126:
+#line 524 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(g_lingo->c_gotoprevious); ;}
+ break;
+
+ case 127:
+#line 525 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(1);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 125:
-#line 523 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 528 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(3);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 126:
-#line 526 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 531 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(2);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 131:
-#line 539 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_playdone); ;}
break;
- case 132:
-#line 540 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 545 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(1);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 133:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 548 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(3);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 134:
-#line 546 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 551 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(2);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 135:
-#line 549 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 554 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); ;}
break;
- case 136:
-#line 549 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 554 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;}
break;
- case 137:
-#line 579 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 584 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
break;
- case 138:
-#line 580 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 585 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(0); // Push fake value on stack
g_lingo->code1(g_lingo->c_procret);
@@ -2858,38 +2886,38 @@ yyreduce:
g_lingo->_indef = false; ;}
break;
- case 139:
-#line 585 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 590 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFactory(*(yyvsp[(2) - (2)].s));
;}
break;
- case 140:
-#line 588 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 593 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; ;}
break;
- case 141:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 594 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg) + 1, &g_lingo->_currentFactory);
g_lingo->_indef = false; ;}
break;
- case 142:
-#line 593 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 598 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
break;
- case 143:
-#line 594 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 599 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_ignoreMe = true; ;}
break;
- case 144:
-#line 594 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 599 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeConst(0); // Push fake value on stack
g_lingo->code1(g_lingo->c_procret);
@@ -2901,33 +2929,33 @@ yyreduce:
;}
break;
- case 145:
-#line 604 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 609 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
- case 146:
-#line 605 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
break;
- case 147:
-#line 606 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
- case 148:
-#line 607 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
break;
- case 149:
-#line 610 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 615 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); ;}
break;
- case 150:
-#line 614 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 619 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_call);
g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str());
@@ -2936,34 +2964,34 @@ yyreduce:
g_lingo->code1(numpar); ;}
break;
- case 151:
-#line 622 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 627 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
- case 152:
-#line 623 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 628 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
- case 153:
-#line 624 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 629 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
- case 154:
-#line 627 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 632 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
- case 155:
-#line 628 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 633 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
/* Line 1267 of yacc.c. */
-#line 2967 "engines/director/lingo/lingo-gr.cpp"
+#line 2995 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3177,6 +3205,6 @@ yyreturn:
}
-#line 631 "engines/director/lingo/lingo-gr.y"
+#line 636 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 367837d2c6..2c4b95c3a6 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -119,8 +119,9 @@
tINTERSECTS = 335,
tWITHIN = 336,
tTELL = 337,
- tON = 338,
- tME = 339
+ tPROPERTY = 338,
+ tON = 339,
+ tME = 340
};
#endif
/* Tokens. */
@@ -204,8 +205,9 @@
#define tINTERSECTS 335
#define tWITHIN 336
#define tTELL 337
-#define tON 338
-#define tME 339
+#define tPROPERTY 338
+#define tON 339
+#define tME 340
@@ -223,7 +225,7 @@ typedef union YYSTYPE
Common::Array<double> *arr;
}
/* Line 1529 of yacc.c. */
-#line 227 "engines/director/lingo/lingo-gr.hpp"
+#line 229 "engines/director/lingo/lingo-gr.hpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index f20c4e8d30..ee4d8db4c3 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -100,7 +100,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token tWITH tWHILE tNLELSE tFACTORY tMETHOD tOPEN tPLAY tDONE tINSTANCE
%token tGE tLE tGT tLT tEQ tNEQ tAND tOR tNOT tMOD
%token tAFTER tBEFORE tCONCAT tCONTAINS tSTARTS tCHAR tITEM tLINE tWORD
-%token tSPRITE tINTERSECTS tWITHIN tTELL
+%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tME
%type<code> asgn begin elseif elsestmtoneliner end expr if when repeatwhile repeatwith stmtlist tell
@@ -477,6 +477,7 @@ proc: tPUT expr { g_lingo->code1(g_lingo->c_printtop); }
| tEXIT { g_lingo->codeConst(0); // Push fake value on stack
g_lingo->code1(g_lingo->c_procret); }
| tGLOBAL globallist
+ | tPROPERTY propertylist
| tINSTANCE instancelist
| BLTINNOARGS {
g_lingo->code1(g_lingo->_builtins[*$1]->u.func);
@@ -498,8 +499,12 @@ proc: tPUT expr { g_lingo->code1(g_lingo->c_printtop); }
| TWOWORDBUILTIN ID arglist { Common::String s(*$1); s += '-'; s += *$2; g_lingo->codeFunc(&s, $3); }
;
-globallist: ID { g_lingo->code1(g_lingo->c_global); g_lingo->codeString($1->c_str()); delete $1; }
- | globallist ',' ID { g_lingo->code1(g_lingo->c_global); g_lingo->codeString($3->c_str()); delete $3; }
+globallist: ID { g_lingo->code1(g_lingo->c_global); g_lingo->codeString($1->c_str()); delete $1; }
+ | globallist ',' ID { g_lingo->code1(g_lingo->c_global); g_lingo->codeString($3->c_str()); delete $3; }
+ ;
+
+propertylist: ID { g_lingo->code1(g_lingo->c_property); g_lingo->codeString($1->c_str()); delete $1; }
+ | propertylist ',' ID { g_lingo->code1(g_lingo->c_property); g_lingo->codeString($3->c_str()); delete $3; }
;
instancelist: ID { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString($1->c_str()); delete $1; }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 829a423a01..c468801b63 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 70
-#define YY_END_OF_BUFFER 71
+#define YY_NUM_RULES 71
+#define YY_END_OF_BUFFER 72
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -373,36 +373,37 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[256] =
+static yyconst flex_int16_t yy_accept[262] =
{ 0,
- 0, 0, 71, 69, 3, 67, 67, 69, 69, 69,
- 66, 66, 66, 65, 66, 66, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 2, 2, 3, 67, 0, 0,
- 0, 0, 0, 68, 4, 62, 1, 64, 65, 61,
- 59, 60, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 22, 12, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 35, 36, 63, 38,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 52,
- 63, 63, 63, 2, 2, 0, 4, 1, 64, 63,
-
- 6, 63, 63, 63, 63, 63, 63, 16, 63, 63,
- 63, 63, 0, 63, 63, 63, 63, 63, 63, 63,
- 31, 63, 63, 34, 63, 63, 63, 42, 63, 44,
- 63, 63, 63, 63, 63, 63, 63, 63, 0, 63,
- 63, 8, 63, 10, 11, 15, 0, 16, 18, 63,
- 63, 63, 0, 63, 63, 25, 26, 27, 28, 63,
- 63, 63, 33, 37, 39, 63, 63, 63, 63, 46,
- 0, 51, 56, 63, 54, 58, 14, 5, 63, 63,
- 16, 16, 63, 19, 63, 21, 63, 63, 29, 63,
- 32, 63, 63, 63, 63, 63, 50, 50, 57, 63,
-
- 0, 7, 63, 16, 63, 20, 63, 63, 30, 63,
- 63, 43, 53, 45, 0, 0, 50, 55, 0, 63,
- 17, 63, 63, 63, 63, 0, 0, 0, 0, 50,
- 13, 9, 23, 63, 63, 41, 0, 0, 0, 50,
- 63, 40, 0, 0, 0, 0, 24, 49, 48, 49,
- 0, 0, 0, 47, 0
+ 0, 0, 72, 70, 3, 68, 68, 70, 70, 70,
+ 67, 67, 67, 66, 67, 67, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 2, 2, 3, 68, 0, 0,
+ 0, 0, 0, 69, 4, 63, 1, 65, 66, 62,
+ 60, 61, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 22, 12, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 35, 36, 64, 38,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 53,
+ 64, 64, 64, 2, 2, 0, 4, 1, 65, 64,
+
+ 6, 64, 64, 64, 64, 64, 64, 16, 64, 64,
+ 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 31, 64, 64, 34, 64, 64, 64, 64, 43, 64,
+ 45, 64, 64, 64, 64, 64, 64, 64, 64, 0,
+ 64, 64, 8, 64, 10, 11, 15, 0, 16, 18,
+ 64, 64, 64, 0, 64, 64, 25, 26, 27, 28,
+ 64, 64, 64, 33, 37, 39, 64, 64, 64, 64,
+ 64, 47, 0, 52, 57, 64, 55, 59, 14, 5,
+ 64, 64, 16, 16, 64, 19, 64, 21, 64, 64,
+ 29, 64, 32, 64, 64, 64, 64, 64, 64, 51,
+
+ 51, 58, 64, 0, 7, 64, 16, 64, 20, 64,
+ 64, 30, 64, 64, 64, 44, 54, 46, 0, 0,
+ 51, 56, 0, 64, 17, 64, 64, 64, 64, 64,
+ 0, 0, 0, 0, 51, 13, 9, 23, 64, 64,
+ 41, 42, 0, 0, 0, 51, 64, 40, 0, 0,
+ 0, 0, 24, 50, 49, 50, 0, 0, 0, 48,
+ 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -448,73 +449,75 @@ static yyconst flex_int32_t yy_meta[65] =
5, 5, 5, 5
} ;
-static yyconst flex_int16_t yy_base[267] =
+static yyconst flex_int16_t yy_base[273] =
{ 0,
- 0, 63, 159, 646, 67, 71, 75, 79, 147, 0,
- 646, 133, 126, 54, 70, 94, 65, 67, 65, 61,
+ 0, 63, 159, 660, 67, 71, 75, 79, 147, 0,
+ 660, 133, 126, 54, 70, 94, 65, 67, 65, 61,
71, 87, 72, 0, 103, 81, 119, 109, 135, 118,
- 82, 112, 153, 155, 191, 208, 212, 646, 216, 179,
- 224, 119, 99, 646, 0, 646, 0, 88, 95, 646,
- 646, 646, 0, 113, 96, 105, 159, 169, 194, 172,
+ 82, 112, 153, 155, 191, 208, 212, 660, 216, 179,
+ 224, 119, 99, 660, 0, 660, 0, 88, 95, 660,
+ 660, 660, 0, 113, 96, 105, 159, 169, 194, 172,
188, 199, 215, 218, 201, 88, 0, 203, 218, 212,
212, 224, 213, 226, 211, 216, 0, 0, 223, 0,
- 235, 232, 222, 227, 232, 240, 237, 249, 259, 0,
- 263, 248, 253, 290, 299, 256, 0, 0, 84, 275,
-
- 0, 268, 266, 271, 287, 282, 291, 184, 280, 281,
- 289, 300, 322, 285, 304, 300, 305, 298, 298, 312,
- 0, 313, 297, 0, 313, 305, 309, 0, 326, 0,
- 323, 321, 332, 360, 331, 337, 325, 347, 347, 338,
- 342, 0, 359, 0, 0, 0, 375, 0, 0, 349,
- 361, 368, 357, 373, 361, 0, 0, 0, 0, 366,
- 367, 370, 0, 0, 381, 375, 385, 369, 370, 0,
- 404, 0, 0, 387, 387, 0, 412, 0, 398, 397,
- 0, 0, 391, 0, 399, 646, 401, 397, 0, 412,
- 0, 415, 406, 404, 419, 408, 441, 451, 0, 416,
-
- 447, 0, 429, 0, 424, 0, 448, 447, 0, 451,
- 438, 0, 0, 0, 471, 451, 475, 0, 453, 444,
- 0, 458, 465, 466, 447, 509, 473, 472, 474, 516,
- 646, 0, 0, 454, 476, 0, 482, 518, 494, 526,
- 495, 0, 512, 532, 514, 542, 0, 646, 538, 646,
- 540, 526, 547, 552, 646, 601, 603, 606, 609, 615,
- 620, 625, 628, 633, 635, 640
+ 235, 237, 219, 226, 238, 243, 262, 255, 259, 0,
+ 263, 251, 257, 290, 313, 262, 0, 0, 84, 277,
+
+ 0, 271, 269, 268, 278, 278, 287, 184, 276, 277,
+ 291, 303, 327, 293, 309, 306, 301, 306, 307, 317,
+ 0, 317, 309, 0, 316, 308, 312, 319, 0, 330,
+ 0, 328, 323, 330, 377, 330, 333, 341, 350, 350,
+ 342, 344, 0, 368, 0, 0, 0, 386, 0, 0,
+ 357, 368, 375, 364, 380, 367, 0, 0, 0, 0,
+ 372, 373, 377, 0, 0, 387, 382, 387, 392, 377,
+ 378, 0, 414, 0, 0, 394, 395, 0, 423, 0,
+ 400, 406, 0, 0, 402, 0, 411, 660, 410, 407,
+ 0, 422, 0, 424, 417, 416, 415, 423, 417, 450,
+
+ 456, 0, 424, 474, 0, 425, 0, 417, 0, 445,
+ 449, 0, 461, 446, 448, 0, 0, 0, 488, 466,
+ 482, 0, 463, 462, 0, 470, 475, 476, 468, 463,
+ 526, 487, 487, 488, 530, 660, 0, 0, 482, 494,
+ 0, 0, 495, 541, 508, 547, 503, 0, 523, 546,
+ 529, 553, 0, 660, 557, 660, 561, 531, 562, 566,
+ 660, 615, 617, 620, 623, 629, 634, 639, 642, 647,
+ 649, 654
} ;
-static yyconst flex_int16_t yy_def[267] =
+static yyconst flex_int16_t yy_def[273] =
{ 0,
- 255, 1, 255, 255, 255, 255, 255, 255, 256, 257,
- 255, 255, 255, 255, 255, 255, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 255, 255, 255, 255, 255, 255,
- 255, 255, 256, 255, 259, 255, 260, 255, 255, 255,
- 255, 255, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 255, 255, 255, 259, 260, 255, 258,
-
- 258, 258, 258, 258, 258, 258, 258, 261, 258, 258,
- 258, 258, 255, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 255, 258,
- 258, 258, 258, 258, 258, 258, 262, 263, 258, 258,
- 258, 258, 255, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 264, 258, 258, 258, 258, 258, 255, 258, 258, 258,
- 265, 263, 258, 258, 258, 255, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 264, 264, 258, 258,
-
- 255, 258, 258, 265, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 255, 255, 264, 258, 255, 258,
- 258, 258, 258, 258, 258, 255, 255, 255, 255, 264,
- 255, 258, 258, 258, 258, 258, 255, 255, 255, 264,
- 258, 258, 255, 266, 255, 255, 258, 255, 266, 255,
- 255, 255, 255, 266, 0, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255
+ 261, 1, 261, 261, 261, 261, 261, 261, 262, 263,
+ 261, 261, 261, 261, 261, 261, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 261, 261, 261, 261, 261, 261,
+ 261, 261, 262, 261, 265, 261, 266, 261, 261, 261,
+ 261, 261, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 261, 261, 261, 265, 266, 261, 264,
+
+ 264, 264, 264, 264, 264, 264, 264, 267, 264, 264,
+ 264, 264, 261, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 261,
+ 264, 264, 264, 264, 264, 264, 264, 268, 269, 264,
+ 264, 264, 264, 261, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 270, 264, 264, 264, 264, 264, 261, 264,
+ 264, 264, 271, 269, 264, 264, 264, 261, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 270,
+
+ 270, 264, 264, 261, 264, 264, 271, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 261, 261,
+ 270, 264, 261, 264, 264, 264, 264, 264, 264, 264,
+ 261, 261, 261, 261, 270, 261, 264, 264, 264, 264,
+ 264, 264, 261, 261, 261, 270, 264, 264, 261, 272,
+ 261, 261, 264, 261, 272, 261, 261, 261, 261, 272,
+ 0, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261
} ;
-static yyconst flex_int16_t yy_nxt[711] =
+static yyconst flex_int16_t yy_nxt[725] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 11, 16, 17, 18, 19, 20,
@@ -532,71 +535,73 @@ static yyconst flex_int16_t yy_nxt[711] =
42, 60, 65, 61, 67, 66, 102, 84, 63, 75,
70, 68, 85, 62, 71, 72, 47, 69, 76, 73,
101, 46, 86, 64, 81, 96, 87, 100, 74, 67,
- 82, 102, 44, 83, 75, 68, 77, 85, 255, 255,
+ 82, 102, 44, 83, 75, 68, 77, 85, 261, 261,
72, 69, 76, 78, 73, 79, 86, 80, 81, 96,
87, 100, 74, 88, 82, 103, 89, 83, 91, 92,
- 40, 77, 90, 40, 93, 147, 255, 78, 147, 79,
- 255, 80, 94, 38, 38, 95, 53, 104, 88, 42,
+ 40, 77, 90, 40, 93, 148, 261, 78, 148, 79,
+ 261, 80, 94, 38, 38, 95, 53, 104, 88, 42,
- 103, 89, 255, 91, 92, 107, 90, 108, 93, 95,
+ 103, 89, 261, 91, 92, 107, 90, 108, 93, 95,
38, 38, 95, 37, 38, 38, 39, 39, 38, 38,
39, 104, 105, 109, 42, 40, 41, 41, 40, 107,
- 112, 106, 108, 110, 111, 255, 114, 115, 116, 255,
+ 112, 106, 108, 110, 111, 261, 114, 115, 116, 261,
117, 118, 119, 125, 42, 121, 105, 120, 109, 123,
- 124, 126, 127, 132, 112, 106, 128, 129, 110, 111,
- 114, 115, 122, 116, 117, 118, 130, 119, 125, 42,
- 121, 120, 131, 123, 124, 133, 126, 127, 132, 134,
- 128, 129, 137, 135, 255, 138, 122, 136, 255, 139,
- 130, 94, 38, 38, 95, 140, 131, 141, 142, 133,
-
- 95, 38, 38, 95, 134, 143, 137, 144, 135, 138,
- 145, 146, 136, 139, 149, 150, 151, 152, 255, 154,
- 140, 141, 142, 113, 155, 158, 113, 157, 159, 143,
- 160, 163, 144, 156, 145, 161, 146, 162, 149, 150,
- 151, 164, 152, 154, 165, 166, 167, 168, 175, 155,
- 158, 157, 159, 169, 160, 163, 153, 156, 170, 173,
- 161, 171, 162, 174, 171, 164, 176, 177, 165, 166,
- 178, 167, 168, 175, 179, 180, 147, 169, 183, 147,
- 153, 184, 170, 173, 185, 255, 186, 174, 172, 187,
- 191, 176, 177, 188, 178, 189, 190, 192, 179, 193,
-
- 180, 194, 183, 195, 196, 171, 184, 199, 171, 185,
- 186, 200, 172, 201, 187, 191, 201, 188, 202, 189,
- 190, 203, 192, 205, 193, 206, 194, 195, 196, 207,
- 208, 209, 199, 210, 255, 211, 200, 198, 212, 213,
- 255, 214, 215, 202, 218, 215, 203, 205, 201, 206,
- 216, 201, 215, 207, 208, 215, 209, 220, 210, 211,
- 216, 198, 212, 221, 213, 214, 222, 223, 218, 224,
- 227, 219, 226, 225, 231, 226, 215, 232, 233, 215,
- 236, 220, 217, 234, 216, 229, 235, 221, 241, 237,
- 227, 222, 223, 238, 224, 227, 219, 225, 239, 231,
-
- 228, 232, 242, 233, 236, 229, 217, 230, 234, 229,
- 226, 235, 241, 226, 237, 227, 243, 215, 238, 244,
- 215, 245, 244, 239, 228, 216, 242, 246, 247, 229,
- 246, 230, 248, 244, 250, 216, 244, 255, 228, 255,
- 243, 251, 255, 251, 251, 245, 251, 253, 254, 255,
- 240, 254, 247, 254, 255, 255, 254, 248, 255, 250,
- 255, 227, 228, 255, 255, 255, 255, 255, 255, 252,
- 255, 252, 253, 255, 240, 255, 229, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 227, 255, 255, 255,
- 255, 255, 255, 252, 255, 252, 255, 255, 255, 255,
-
- 229, 43, 43, 255, 43, 43, 43, 45, 45, 53,
- 53, 53, 97, 97, 97, 98, 98, 255, 98, 98,
- 98, 148, 255, 148, 148, 148, 181, 255, 255, 181,
- 181, 182, 182, 182, 197, 255, 255, 197, 204, 204,
- 204, 249, 255, 255, 249, 3, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
-
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
+ 124, 126, 261, 129, 112, 106, 130, 127, 110, 111,
+ 114, 115, 122, 116, 117, 118, 128, 119, 125, 42,
+ 121, 120, 131, 123, 124, 132, 126, 129, 133, 135,
+ 130, 134, 127, 136, 261, 138, 122, 137, 261, 139,
+ 128, 94, 38, 38, 95, 140, 131, 141, 145, 132,
+
+ 142, 143, 144, 133, 135, 134, 146, 147, 136, 138,
+ 150, 151, 137, 139, 95, 38, 38, 95, 152, 140,
+ 153, 159, 141, 145, 142, 143, 144, 155, 113, 156,
+ 146, 113, 147, 158, 150, 151, 160, 261, 157, 161,
+ 162, 163, 152, 164, 165, 153, 159, 166, 167, 168,
+ 169, 155, 170, 261, 156, 171, 172, 158, 175, 176,
+ 160, 154, 157, 161, 177, 162, 163, 164, 165, 178,
+ 179, 166, 167, 168, 180, 169, 181, 170, 173, 171,
+ 172, 173, 175, 176, 182, 154, 185, 148, 186, 177,
+ 148, 187, 261, 188, 178, 179, 189, 193, 180, 190,
+
+ 181, 191, 192, 194, 261, 174, 195, 196, 197, 182,
+ 185, 198, 199, 186, 202, 173, 187, 188, 173, 203,
+ 205, 189, 193, 190, 204, 191, 192, 204, 194, 174,
+ 206, 195, 196, 197, 208, 198, 199, 209, 210, 202,
+ 211, 212, 213, 217, 203, 205, 214, 201, 215, 216,
+ 218, 219, 222, 224, 219, 206, 225, 219, 208, 220,
+ 219, 209, 210, 226, 211, 220, 212, 213, 217, 227,
+ 214, 201, 215, 216, 218, 204, 222, 224, 204, 228,
+ 225, 229, 230, 219, 236, 232, 219, 221, 226, 231,
+ 238, 220, 231, 239, 227, 237, 240, 261, 223, 261,
+
+ 234, 241, 242, 243, 228, 229, 230, 232, 244, 236,
+ 232, 221, 245, 261, 235, 238, 247, 233, 239, 237,
+ 248, 240, 234, 223, 234, 241, 242, 231, 243, 249,
+ 231, 219, 232, 244, 219, 251, 253, 245, 235, 220,
+ 247, 233, 250, 254, 248, 250, 234, 250, 252, 256,
+ 250, 252, 259, 249, 257, 233, 220, 257, 261, 251,
+ 253, 261, 257, 260, 246, 257, 260, 260, 254, 261,
+ 260, 261, 232, 261, 256, 261, 261, 259, 261, 233,
+ 261, 261, 258, 261, 261, 261, 261, 234, 246, 261,
+ 258, 261, 261, 261, 261, 261, 261, 232, 261, 261,
+
+ 261, 261, 261, 261, 261, 261, 258, 261, 261, 261,
+ 261, 234, 261, 261, 258, 43, 43, 261, 43, 43,
+ 43, 45, 45, 53, 53, 53, 97, 97, 97, 98,
+ 98, 261, 98, 98, 98, 149, 261, 149, 149, 149,
+ 183, 261, 261, 183, 183, 184, 184, 184, 200, 261,
+ 261, 200, 207, 207, 207, 255, 261, 261, 255, 3,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261
} ;
-static yyconst flex_int16_t yy_chk[711] =
+static yyconst flex_int16_t yy_chk[725] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -625,57 +630,59 @@ static yyconst flex_int16_t yy_chk[711] =
39, 58, 59, 62, 40, 41, 41, 41, 41, 60,
65, 59, 61, 63, 64, 0, 68, 68, 69, 0,
70, 71, 72, 79, 41, 74, 59, 73, 62, 75,
- 76, 81, 82, 87, 65, 59, 83, 84, 63, 64,
- 68, 68, 74, 69, 70, 71, 85, 72, 79, 41,
- 74, 73, 86, 75, 76, 88, 81, 82, 87, 89,
- 83, 84, 92, 91, 0, 93, 74, 91, 0, 96,
- 85, 94, 94, 94, 94, 100, 86, 102, 103, 88,
-
- 95, 95, 95, 95, 89, 104, 92, 105, 91, 93,
- 106, 107, 91, 96, 109, 110, 111, 112, 0, 114,
- 100, 102, 103, 113, 115, 117, 113, 116, 118, 104,
- 119, 123, 105, 115, 106, 120, 107, 122, 109, 110,
- 111, 125, 112, 114, 126, 127, 129, 131, 137, 115,
- 117, 116, 118, 132, 119, 123, 113, 115, 133, 135,
- 120, 134, 122, 136, 134, 125, 138, 139, 126, 127,
- 140, 129, 131, 137, 141, 143, 147, 132, 150, 147,
- 113, 151, 133, 135, 152, 0, 153, 136, 134, 154,
- 162, 138, 139, 155, 140, 160, 161, 165, 141, 166,
-
- 143, 167, 150, 168, 169, 171, 151, 174, 171, 152,
- 153, 175, 134, 177, 154, 162, 177, 155, 179, 160,
- 161, 180, 165, 183, 166, 185, 167, 168, 169, 187,
- 188, 190, 174, 192, 0, 193, 175, 171, 194, 195,
- 0, 196, 197, 179, 200, 197, 180, 183, 201, 185,
- 197, 201, 198, 187, 188, 198, 190, 203, 192, 193,
- 198, 171, 194, 205, 195, 196, 207, 208, 200, 210,
- 216, 201, 215, 211, 219, 215, 217, 220, 222, 217,
- 225, 203, 198, 223, 217, 216, 224, 205, 234, 227,
- 215, 207, 208, 228, 210, 216, 201, 211, 229, 219,
-
- 215, 220, 235, 222, 225, 215, 198, 217, 223, 216,
- 226, 224, 234, 226, 227, 215, 237, 230, 228, 238,
- 230, 239, 238, 229, 215, 230, 235, 240, 241, 215,
- 240, 217, 243, 244, 245, 240, 244, 0, 226, 249,
- 237, 251, 249, 246, 251, 239, 246, 252, 253, 0,
- 230, 253, 241, 254, 0, 0, 254, 243, 0, 245,
- 0, 246, 226, 0, 0, 0, 0, 0, 0, 251,
- 0, 246, 252, 0, 230, 0, 246, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 246, 0, 0, 0,
- 0, 0, 0, 251, 0, 246, 0, 0, 0, 0,
-
- 246, 256, 256, 0, 256, 256, 256, 257, 257, 258,
- 258, 258, 259, 259, 259, 260, 260, 0, 260, 260,
- 260, 261, 0, 261, 261, 261, 262, 0, 0, 262,
- 262, 263, 263, 263, 264, 0, 0, 264, 265, 265,
- 265, 266, 0, 0, 266, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
-
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
+ 76, 81, 0, 83, 65, 59, 84, 82, 63, 64,
+ 68, 68, 74, 69, 70, 71, 82, 72, 79, 41,
+ 74, 73, 85, 75, 76, 86, 81, 83, 87, 89,
+ 84, 88, 82, 91, 0, 92, 74, 91, 0, 93,
+ 82, 94, 94, 94, 94, 96, 85, 100, 105, 86,
+
+ 102, 103, 104, 87, 89, 88, 106, 107, 91, 92,
+ 109, 110, 91, 93, 95, 95, 95, 95, 111, 96,
+ 112, 117, 100, 105, 102, 103, 104, 114, 113, 115,
+ 106, 113, 107, 116, 109, 110, 118, 0, 115, 119,
+ 120, 122, 111, 123, 125, 112, 117, 126, 127, 128,
+ 130, 114, 132, 0, 115, 133, 134, 116, 136, 137,
+ 118, 113, 115, 119, 138, 120, 122, 123, 125, 139,
+ 140, 126, 127, 128, 141, 130, 142, 132, 135, 133,
+ 134, 135, 136, 137, 144, 113, 151, 148, 152, 138,
+ 148, 153, 0, 154, 139, 140, 155, 163, 141, 156,
+
+ 142, 161, 162, 166, 0, 135, 167, 168, 169, 144,
+ 151, 170, 171, 152, 176, 173, 153, 154, 173, 177,
+ 181, 155, 163, 156, 179, 161, 162, 179, 166, 135,
+ 182, 167, 168, 169, 185, 170, 171, 187, 189, 176,
+ 190, 192, 194, 198, 177, 181, 195, 173, 196, 197,
+ 199, 200, 203, 206, 200, 182, 208, 201, 185, 200,
+ 201, 187, 189, 210, 190, 201, 192, 194, 198, 211,
+ 195, 173, 196, 197, 199, 204, 203, 206, 204, 213,
+ 208, 214, 215, 221, 223, 220, 221, 201, 210, 219,
+ 226, 221, 219, 227, 211, 224, 228, 0, 204, 0,
+
+ 220, 229, 230, 232, 213, 214, 215, 219, 233, 223,
+ 220, 201, 234, 0, 221, 226, 239, 219, 227, 224,
+ 240, 228, 219, 204, 220, 229, 230, 231, 232, 243,
+ 231, 235, 219, 233, 235, 245, 247, 234, 221, 235,
+ 239, 219, 244, 249, 240, 244, 219, 250, 246, 251,
+ 250, 246, 258, 243, 252, 231, 246, 252, 255, 245,
+ 247, 255, 257, 259, 235, 257, 259, 260, 249, 0,
+ 260, 0, 252, 0, 251, 0, 0, 258, 0, 231,
+ 0, 0, 252, 0, 0, 0, 0, 252, 235, 0,
+ 257, 0, 0, 0, 0, 0, 0, 252, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 252, 0, 0, 0,
+ 0, 252, 0, 0, 257, 262, 262, 0, 262, 262,
+ 262, 263, 263, 264, 264, 264, 265, 265, 265, 266,
+ 266, 0, 266, 266, 266, 267, 0, 267, 267, 267,
+ 268, 0, 0, 268, 268, 269, 269, 269, 270, 0,
+ 0, 270, 271, 271, 271, 272, 0, 0, 272, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
+ 261, 261, 261, 261
} ;
static yy_state_type yy_last_accepting_state;
@@ -760,7 +767,7 @@ static int checkImmediate(int token) {
return token;
}
-#line 764 "engines/director/lingo/lingo-lex.cpp"
+#line 771 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -946,7 +953,7 @@ YY_DECL
#line 82 "engines/director/lingo/lingo-lex.l"
-#line 950 "engines/director/lingo/lingo-lex.cpp"
+#line 957 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1000,13 +1007,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 256 )
+ if ( yy_current_state >= 262 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 646 );
+ while ( yy_base[yy_current_state] != 660 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1250,31 +1257,36 @@ YY_RULE_SETUP
case 42:
YY_RULE_SETUP
#line 137 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPUT; }
+{ count(); return tPROPERTY; } // D4
YY_BREAK
case 43:
YY_RULE_SETUP
#line 138 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tREPEAT); }
+{ count(); return tPUT; }
YY_BREAK
case 44:
YY_RULE_SETUP
#line 139 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSET; }
+{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 45:
YY_RULE_SETUP
#line 140 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSTARTS; }
+{ count(); return tSET; }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 141 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTELL; }
+{ count(); return tSTARTS; }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 142 "engines/director/lingo/lingo-lex.l"
+{ count(); return tTELL; }
+ YY_BREAK
+case 48:
+YY_RULE_SETUP
+#line 143 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1287,9 +1299,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
-case 48:
+case 49:
YY_RULE_SETUP
-#line 153 "engines/director/lingo/lingo-lex.l"
+#line 154 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1334,9 +1346,9 @@ YY_RULE_SETUP
warning("Unhandled the entity %s", ptr);
}
YY_BREAK
-case 49:
+case 50:
YY_RULE_SETUP
-#line 196 "engines/director/lingo/lingo-lex.l"
+#line 197 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1372,9 +1384,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 50:
+case 51:
YY_RULE_SETUP
-#line 230 "engines/director/lingo/lingo-lex.l"
+#line 231 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1398,69 +1410,69 @@ YY_RULE_SETUP
warning("Unhandled the entity %s", ptr);
}
YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 252 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTHEN; }
- YY_BREAK
case 52:
YY_RULE_SETUP
#line 253 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTO; }
+{ count(); return tTHEN; }
YY_BREAK
case 53:
YY_RULE_SETUP
#line 254 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSPRITE; }
+{ count(); return tTO; }
YY_BREAK
case 54:
YY_RULE_SETUP
#line 255 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITH; }
+{ count(); return tSPRITE; }
YY_BREAK
case 55:
YY_RULE_SETUP
#line 256 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITHIN; }
+{ count(); return tWITH; }
YY_BREAK
case 56:
YY_RULE_SETUP
#line 257 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHEN; }
+{ count(); return tWITHIN; }
YY_BREAK
case 57:
YY_RULE_SETUP
#line 258 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHILE; }
+{ count(); return tWHEN; }
YY_BREAK
case 58:
YY_RULE_SETUP
#line 259 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWORD; }
+{ count(); return tWHILE; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 261 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEQ; }
+#line 260 "engines/director/lingo/lingo-lex.l"
+{ count(); return tWORD; }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 262 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGE; }
+{ count(); return tNEQ; }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 263 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLE; }
+{ count(); return tGE; }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 264 "engines/director/lingo/lingo-lex.l"
-{ count(); return tCONCAT; }
+{ count(); return tLE; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 266 "engines/director/lingo/lingo-lex.l"
+#line 265 "engines/director/lingo/lingo-lex.l"
+{ count(); return tCONCAT; }
+ YY_BREAK
+case 64:
+YY_RULE_SETUP
+#line 267 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1504,43 +1516,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 308 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.f = atof(yytext); return FLOAT; }
- YY_BREAK
case 65:
YY_RULE_SETUP
#line 309 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
+{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 310 "engines/director/lingo/lingo-lex.l"
-{ count(); return *yytext; }
+{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 67:
-/* rule 67 can match eol */
YY_RULE_SETUP
#line 311 "engines/director/lingo/lingo-lex.l"
-{ return '\n'; }
+{ count(); return *yytext; }
YY_BREAK
case 68:
+/* rule 68 can match eol */
YY_RULE_SETUP
#line 312 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
+{ return '\n'; }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 313 "engines/director/lingo/lingo-lex.l"
-
+{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 315 "engines/director/lingo/lingo-lex.l"
+#line 314 "engines/director/lingo/lingo-lex.l"
+
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 316 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1544 "engines/director/lingo/lingo-lex.cpp"
+#line 1556 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1833,7 +1845,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 256 )
+ if ( yy_current_state >= 262 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1861,11 +1873,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 256 )
+ if ( yy_current_state >= 262 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 255);
+ yy_is_jam = (yy_current_state == 261);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2503,7 +2515,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 315 "engines/director/lingo/lingo-lex.l"
+#line 316 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index d6bf59ad5d..ff8eb8fe72 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -134,6 +134,7 @@ whitespace [\t ]
(?i:play) { count(); return tPLAY; }
(?i:playAccel) { count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
(?i:previous) { count(); return tPREVIOUS; }
+(?i:property) { count(); return tPROPERTY; } // D4
(?i:put) { count(); return tPUT; }
(?i:repeat) { count(); return checkImmediate(tREPEAT); }
(?i:set) { count(); return tSET; }
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 66f3d3a3d3..42aa2328fd 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -309,6 +309,7 @@ public:
static void c_gotoprevious();
static void c_global();
static void c_instance();
+ static void c_property();
static void c_play();
static void c_playdone();
@@ -377,6 +378,7 @@ public:
static void b_symbolp(int nargs);
static void b_alert(int nargs);
+ static void b_birth(int nargs);
static void b_cursor(int nargs);
static void b_framesToHMS(int nargs);
static void b_HMStoFrames(int nargs);
@@ -461,6 +463,7 @@ public:
static void b_soundPlayFile(int nargs);
static void b_soundStop(int nargs);
+ static void b_ancestor(int nargs);
static void b_backspace(int nargs);
static void b_empty(int nargs);
static void b_enter(int nargs);
@@ -477,6 +480,7 @@ public:
static void b_cast(int nargs);
static void b_field(int nargs);
static void b_me(int nargs);
+ static void b_script(int nargs);
void func_mci(Common::String &s);
void func_mciwait(Common::String &s);