[Scummvm-git-logs] scummvm master -> 37b473cc0d9a4b26e416142539ae9b8ab331b9b7
sev-
sev at scummvm.org
Sun Jan 19 12:52:18 UTC 2020
This automated email contains information about 9 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a965196116 DIRECTOR: LINGO: Fixed 'return' preprocessing
9d4d4a063e DIRECTOR: LINGO: Implemented 'the last of <chunk>' parsing and stub
6a6935ed4c DIRECTOR: LINGO: Added test for 'the last of' chunk expression
84e8ab4956 DIRECTOR: LINGO: Proper stub for 'ancestor' property
13049abaff DIRECTOR: LINGO: Arrays could be initialized with expressions
f41de8e74a DIRECTOR: LINGO: Added test for initializing arrays with expressions
990c2736f9 DIRECTOR: JANOTORIAL: Whitespace fixes
388963f844 DIRECTOR: LINGO: Implement parsing and stub for 'repeat with...in <list>'
37b473cc0d DIRECTOR: LINGO: Improved debug message
Commit: a965196116c034a0645025663c1dc8ff7e975817
https://github.com/scummvm/scummvm/commit/a965196116c034a0645025663c1dc8ff7e975817
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T02:04:58+01:00
Commit Message:
DIRECTOR: LINGO: Fixed 'return' preprocessing
Changed paths:
engines/director/lingo/lingo-preprocessor.cpp
diff --git a/engines/director/lingo/lingo-preprocessor.cpp b/engines/director/lingo/lingo-preprocessor.cpp
index a5a8385..6b81cab 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -346,8 +346,10 @@ Common::String Lingo::preprocessReturn(Common::String in) {
next = nexttok(ptr + 6); // end of 'return'
- if (prev.equals("&") || prev.equals("&&") || prev.equals("=") ||
- next.equals("&") || next.equals("&&")) {
+ debugC(2, kDebugLingoParse, "RETURN: prevtok: %s nexttok: %s", prev.c_str(), next.c_str());
+
+ if (prev.hasSuffix("&") || prev.hasSuffix("&&") || prev.hasSuffix("=") ||
+ next.hasPrefix("&") || next.hasPrefix("&&")) {
res += "scummvm_"; // Turn it into scummvm_return
}
Commit: 9d4d4a063e7b00729df05297e4b05a6ab652f97b
https://github.com/scummvm/scummvm/commit/9d4d4a063e7b00729df05297e4b05a6ab652f97b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:05:08+01:00
Commit Message:
DIRECTOR: LINGO: Implemented 'the last of <chunk>' parsing and stub
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-builtins.h
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 7b264b5..6680709 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -229,6 +229,10 @@ static struct BuiltinProto {
{ "numberOfItems", LB::b_numberofitems,1, 1, false, 4, FBLTIN }, // D4 f
{ "numberOfLines", LB::b_numberoflines,1, 1, false, 4, FBLTIN }, // D4 f
{ "numberOfWords", LB::b_numberofwords,1, 1, false, 4, FBLTIN }, // D4 f
+ { "lastCharOf", LB::b_lastcharof, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "lastItemOf", LB::b_lastitemof, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "lastLineOf", LB::b_lastlineof, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "lastWordOf", LB::b_lastwordof, 1, 1, false, 4, FBLTIN }, // D4 f
{ 0, 0, 0, 0, false, 0, 0 }
};
@@ -1814,5 +1818,44 @@ void LB::b_numberofwords(int nargs) {
g_lingo->push(d);
}
+void LB::b_lastcharof(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_lastcharof");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void LB::b_lastitemof(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_lastitemof");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void LB::b_lastlineof(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_lastlineof");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void LB::b_lastwordof(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_lastwordof");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
} // End of namespace Director
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index 06bac60..ff1686e 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -202,6 +202,10 @@ namespace LB {
void b_numberofitems(int nargs);
void b_numberoflines(int nargs);
void b_numberofwords(int nargs);
+ void b_lastcharof(int nargs);
+ void b_lastitemof(int nargs);
+ void b_lastlineof(int nargs);
+ void b_lastwordof(int nargs);
} // End of namespace LB
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index d206c72..8da5e77 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 76
-#define YY_END_OF_BUFFER 77
+#define YY_NUM_RULES 77
+#define YY_END_OF_BUFFER 78
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -373,45 +373,48 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[339] =
+static yyconst flex_int16_t yy_accept[366] =
{ 0,
- 0, 0, 77, 75, 4, 73, 73, 75, 75, 75,
- 72, 72, 72, 71, 72, 68, 72, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 75, 3, 3, 69, 4, 73,
- 0, 0, 0, 74, 5, 67, 2, 70, 71, 66,
- 64, 65, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 22, 13, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 35, 36, 69, 38, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 57, 69,
- 69, 69, 1, 3, 3, 0, 69, 5, 2, 70,
-
- 69, 7, 69, 69, 69, 69, 69, 69, 16, 69,
- 69, 0, 69, 69, 69, 69, 69, 69, 69, 31,
- 69, 69, 34, 69, 69, 69, 69, 44, 69, 46,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 0,
- 69, 69, 69, 9, 69, 11, 12, 15, 0, 18,
- 69, 0, 69, 69, 25, 26, 27, 28, 69, 69,
- 69, 33, 37, 40, 69, 69, 69, 69, 69, 69,
- 49, 0, 56, 61, 69, 59, 63, 0, 69, 6,
- 69, 69, 0, 16, 69, 21, 69, 69, 29, 69,
- 32, 0, 69, 69, 69, 69, 69, 69, 69, 55,
-
- 55, 55, 55, 62, 69, 0, 69, 8, 69, 0,
- 16, 19, 0, 69, 69, 69, 0, 69, 69, 69,
- 45, 0, 58, 48, 0, 0, 55, 55, 55, 60,
- 0, 69, 69, 14, 0, 69, 69, 0, 30, 0,
- 69, 69, 69, 0, 0, 0, 0, 0, 0, 0,
- 0, 55, 55, 55, 0, 17, 10, 0, 23, 69,
- 30, 30, 0, 69, 42, 43, 0, 0, 0, 0,
- 0, 0, 0, 55, 55, 55, 17, 0, 69, 30,
- 0, 41, 0, 0, 0, 0, 0, 0, 0, 55,
- 0, 55, 0, 24, 39, 0, 0, 0, 47, 54,
-
- 53, 54, 55, 0, 0, 0, 20, 47, 0, 0,
- 0, 53, 0, 0, 0, 0, 47, 0, 0, 0,
- 0, 50, 51, 47, 0, 0, 51, 47, 0, 53,
- 0, 53, 0, 0, 0, 0, 52, 0
+ 0, 0, 78, 76, 4, 74, 74, 76, 76, 76,
+ 73, 73, 73, 72, 73, 69, 73, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 76, 3, 3, 70, 4, 74,
+ 0, 0, 0, 75, 5, 68, 2, 71, 72, 67,
+ 65, 66, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 22, 13, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 35, 36, 70, 38, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 58, 70,
+ 70, 70, 1, 3, 3, 0, 70, 5, 2, 71,
+
+ 70, 7, 70, 70, 70, 70, 70, 70, 16, 70,
+ 70, 0, 70, 70, 70, 70, 70, 70, 70, 31,
+ 70, 70, 34, 70, 70, 70, 70, 44, 70, 46,
+ 70, 70, 70, 70, 70, 70, 70, 70, 70, 0,
+ 70, 70, 70, 9, 70, 11, 12, 15, 0, 18,
+ 70, 0, 70, 70, 25, 26, 27, 28, 70, 70,
+ 70, 33, 37, 40, 70, 70, 70, 70, 70, 70,
+ 49, 0, 57, 62, 70, 60, 64, 0, 70, 6,
+ 70, 70, 0, 16, 70, 21, 70, 70, 29, 70,
+ 32, 0, 70, 70, 70, 70, 70, 70, 70, 56,
+
+ 56, 56, 56, 56, 63, 70, 0, 70, 8, 70,
+ 0, 16, 19, 0, 70, 70, 70, 0, 70, 70,
+ 70, 45, 0, 59, 48, 0, 0, 56, 56, 56,
+ 56, 61, 0, 70, 70, 14, 0, 70, 70, 0,
+ 30, 0, 70, 70, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 56, 56, 56, 56, 0, 17, 10,
+ 0, 23, 70, 30, 30, 0, 70, 42, 43, 0,
+ 0, 0, 0, 0, 0, 0, 56, 56, 56, 56,
+ 17, 0, 70, 30, 0, 41, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 56, 0, 24, 39,
+
+ 0, 0, 0, 47, 55, 54, 55, 0, 0, 0,
+ 0, 56, 0, 0, 0, 20, 47, 0, 0, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 47,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
+ 51, 47, 0, 0, 0, 55, 54, 54, 55, 0,
+ 51, 47, 53, 54, 54, 0, 54, 0, 54, 0,
+ 0, 0, 0, 52, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -457,18 +460,18 @@ static yyconst flex_int32_t yy_meta[66] =
5, 5, 5, 5, 1
} ;
-static yyconst flex_int16_t yy_base[355] =
+static yyconst flex_int16_t yy_base[383] =
{ 0,
- 0, 64, 240, 879, 68, 879, 879, 72, 180, 0,
- 879, 164, 140, 55, 63, 879, 130, 59, 59, 59,
+ 0, 64, 240, 981, 68, 981, 981, 72, 180, 0,
+ 981, 164, 140, 55, 63, 981, 130, 59, 59, 59,
55, 63, 0, 64, 75, 70, 100, 77, 110, 102,
- 98, 139, 126, 152, 145, 185, 206, 110, 210, 879,
- 214, 175, 97, 879, 0, 879, 0, 86, 171, 879,
- 879, 879, 0, 66, 116, 144, 154, 111, 192, 134,
+ 98, 139, 126, 152, 145, 185, 206, 110, 210, 981,
+ 214, 175, 97, 981, 0, 981, 0, 86, 171, 981,
+ 981, 981, 0, 66, 116, 144, 154, 111, 192, 134,
175, 172, 151, 82, 0, 165, 183, 174, 195, 207,
196, 215, 194, 199, 0, 0, 215, 0, 220, 218,
206, 211, 208, 208, 213, 221, 229, 238, 0, 248,
- 242, 245, 879, 283, 287, 257, 262, 0, 0, 69,
+ 242, 245, 981, 283, 287, 257, 262, 0, 0, 69,
261, 0, 263, 262, 261, 262, 268, 279, 91, 268,
286, 308, 276, 293, 284, 294, 287, 289, 292, 0,
@@ -477,73 +480,79 @@ static yyconst flex_int16_t yy_base[355] =
333, 338, 339, 0, 349, 0, 0, 153, 371, 0,
357, 347, 362, 348, 0, 0, 0, 0, 354, 355,
367, 0, 0, 395, 368, 373, 381, 382, 351, 371,
- 0, 412, 0, 0, 382, 382, 0, 380, 386, 0,
- 399, 397, 419, 0, 399, 429, 400, 399, 0, 415,
- 0, 446, 417, 408, 409, 408, 450, 433, 422, 472,
-
- 473, 479, 485, 0, 435, 442, 443, 0, 457, 469,
- 0, 0, 492, 473, 477, 499, 472, 480, 470, 472,
- 0, 538, 0, 0, 516, 493, 539, 532, 553, 0,
- 475, 486, 513, 879, 520, 499, 529, 517, 0, 537,
- 535, 525, 522, 537, 557, 539, 533, 582, 559, 556,
- 569, 595, 604, 605, 558, 0, 0, 578, 0, 567,
- 0, 0, 580, 584, 0, 0, 586, 597, 601, 591,
- 588, 622, 597, 646, 648, 650, 879, 602, 599, 0,
- 613, 0, 603, 623, 606, 631, 643, 626, 645, 670,
- 674, 672, 647, 0, 879, 652, 658, 659, 879, 879,
-
- 0, 879, 685, 695, 663, 700, 879, 879, 670, 671,
- 676, 0, 712, 711, 713, 689, 879, 687, 697, 732,
- 716, 739, 748, 879, 718, 750, 756, 879, 763, 767,
- 745, 771, 745, 734, 777, 783, 879, 879, 812, 814,
- 817, 820, 826, 831, 836, 838, 843, 848, 851, 854,
- 859, 862, 867, 872
+ 0, 436, 0, 0, 382, 382, 0, 380, 386, 0,
+ 396, 395, 419, 0, 395, 424, 396, 397, 0, 413,
+ 0, 445, 415, 406, 415, 416, 451, 422, 418, 452,
+
+ 469, 478, 480, 491, 0, 449, 451, 458, 0, 466,
+ 462, 0, 0, 498, 479, 478, 505, 471, 487, 477,
+ 481, 0, 544, 0, 0, 527, 506, 525, 548, 559,
+ 550, 0, 510, 504, 522, 981, 537, 496, 529, 459,
+ 0, 537, 550, 540, 542, 557, 568, 560, 554, 588,
+ 578, 575, 578, 602, 621, 619, 630, 569, 0, 0,
+ 588, 0, 579, 0, 0, 589, 592, 0, 0, 595,
+ 607, 617, 606, 609, 520, 617, 645, 646, 660, 670,
+ 981, 625, 623, 0, 625, 0, 624, 642, 633, 643,
+ 655, 681, 658, 682, 698, 694, 705, 672, 0, 981,
+
+ 673, 695, 683, 981, 981, 0, 981, 704, 721, 730,
+ 732, 741, 742, 711, 754, 981, 981, 660, 704, 717,
+ 0, 736, 760, 766, 773, 786, 768, 774, 738, 981,
+ 734, 754, 754, 765, 809, 792, 813, 818, 780, 798,
+ 824, 981, 789, 831, 836, 842, 803, 802, 848, 849,
+ 855, 981, 981, 856, 860, 861, 862, 843, 869, 823,
+ 847, 875, 876, 981, 981, 910, 912, 915, 918, 924,
+ 929, 934, 936, 941, 946, 949, 952, 957, 962, 964,
+ 969, 974
} ;
-static yyconst flex_int16_t yy_def[355] =
+static yyconst flex_int16_t yy_def[383] =
{ 0,
- 338, 1, 338, 338, 338, 338, 338, 338, 339, 340,
- 338, 338, 338, 338, 338, 338, 338, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 338, 338, 338, 341, 338, 338,
- 338, 338, 339, 338, 342, 338, 343, 338, 338, 338,
- 338, 338, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 338, 338, 338, 338, 341, 342, 343, 338,
-
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 338, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 338,
- 341, 341, 341, 341, 341, 341, 341, 341, 344, 341,
- 341, 338, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 345, 341, 341, 341, 341, 341, 338, 341, 341,
- 341, 341, 338, 346, 341, 338, 341, 341, 341, 341,
- 341, 338, 341, 341, 341, 341, 341, 341, 341, 345,
-
- 345, 345, 345, 341, 341, 338, 341, 341, 341, 338,
- 346, 341, 338, 341, 341, 347, 338, 341, 341, 341,
- 341, 338, 341, 341, 338, 338, 345, 345, 345, 341,
- 338, 341, 341, 338, 338, 341, 341, 348, 349, 338,
- 341, 341, 341, 338, 338, 338, 338, 338, 338, 338,
- 338, 345, 345, 345, 338, 341, 341, 338, 341, 341,
- 350, 349, 338, 341, 341, 341, 338, 338, 338, 338,
- 338, 338, 338, 345, 345, 345, 338, 338, 341, 350,
- 338, 341, 338, 338, 338, 338, 338, 351, 338, 345,
- 338, 345, 338, 341, 338, 338, 338, 338, 338, 338,
-
- 352, 338, 345, 338, 338, 338, 338, 338, 338, 338,
- 338, 352, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 351, 338, 338, 338, 338, 351, 338, 353, 354,
- 338, 354, 338, 338, 338, 338, 338, 0, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338
+ 365, 1, 365, 365, 365, 365, 365, 365, 366, 367,
+ 365, 365, 365, 365, 365, 365, 365, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 365, 365, 365, 368, 365, 365,
+ 365, 365, 366, 365, 369, 365, 370, 365, 365, 365,
+ 365, 365, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 365, 365, 365, 365, 368, 369, 370, 365,
+
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 365, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 365,
+ 368, 368, 368, 368, 368, 368, 368, 368, 371, 368,
+ 368, 365, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 372, 368, 368, 368, 368, 368, 365, 368, 368,
+ 368, 368, 365, 373, 368, 365, 368, 368, 368, 368,
+ 368, 365, 368, 368, 368, 368, 368, 368, 368, 372,
+
+ 372, 372, 372, 372, 368, 368, 365, 368, 368, 368,
+ 365, 373, 368, 365, 368, 368, 374, 365, 368, 368,
+ 368, 368, 365, 368, 368, 365, 365, 372, 372, 372,
+ 372, 368, 365, 368, 368, 365, 365, 368, 368, 375,
+ 376, 365, 368, 368, 368, 365, 365, 365, 365, 365,
+ 365, 365, 365, 372, 372, 372, 372, 365, 368, 368,
+ 365, 368, 368, 377, 376, 365, 368, 368, 368, 365,
+ 365, 365, 365, 365, 365, 365, 372, 372, 372, 372,
+ 365, 365, 368, 377, 365, 368, 365, 365, 365, 365,
+ 365, 378, 365, 379, 372, 365, 372, 365, 368, 365,
+
+ 365, 365, 365, 365, 365, 380, 365, 379, 379, 379,
+ 379, 372, 365, 365, 365, 365, 365, 365, 365, 365,
+ 380, 365, 379, 379, 379, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 379, 378, 379, 365, 365, 378,
+ 365, 365, 365, 365, 365, 379, 380, 380, 379, 365,
+ 378, 365, 365, 380, 380, 381, 382, 365, 382, 365,
+ 365, 365, 365, 365, 0, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365
} ;
-static yyconst flex_int16_t yy_nxt[945] =
+static yyconst flex_int16_t yy_nxt[1047] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -570,8 +579,8 @@ static yyconst flex_int16_t yy_nxt[945] =
90, 91, 116, 115, 111, 92, 96, 95, 40, 40,
95, 39, 40, 40, 41, 41, 40, 40, 41, 109,
106, 110, 113, 114, 117, 118, 116, 96, 115, 107,
- 119, 96, 122, 123, 120, 124, 125, 133, 126, 338,
- 128, 129, 130, 131, 106, 132, 338, 127, 117, 42,
+ 119, 96, 122, 123, 120, 124, 125, 133, 126, 365,
+ 128, 129, 130, 131, 106, 132, 365, 127, 117, 42,
118, 121, 96, 107, 119, 134, 122, 123, 135, 120,
124, 125, 133, 126, 128, 129, 130, 131, 136, 132,
42, 127, 137, 140, 42, 121, 138, 139, 42, 134,
@@ -585,73 +594,84 @@ static yyconst flex_int16_t yy_nxt[945] =
160, 158, 152, 169, 176, 159, 155, 42, 161, 162,
170, 42, 167, 171, 163, 164, 165, 174, 175, 172,
166, 168, 172, 177, 178, 182, 152, 179, 169, 176,
- 180, 181, 149, 185, 170, 149, 186, 171, 187, 338,
+ 180, 181, 149, 185, 170, 149, 186, 171, 187, 365,
188, 174, 175, 189, 190, 198, 173, 191, 177, 178,
182, 179, 194, 195, 180, 181, 192, 196, 185, 192,
- 186, 197, 204, 187, 188, 199, 205, 189, 190, 198,
- 173, 193, 191, 172, 206, 207, 172, 194, 195, 208,
- 183, 209, 196, 183, 338, 212, 197, 204, 214, 199,
- 213, 205, 215, 213, 216, 218, 193, 219, 206, 207,
- 201, 220, 221, 210, 208, 202, 209, 192, 203, 212,
- 192, 222, 214, 223, 222, 224, 215, 338, 338, 216,
- 218, 219, 338, 230, 201, 220, 221, 217, 210, 202,
- 338, 231, 203, 225, 225, 232, 225, 225, 223, 224,
- 225, 226, 226, 225, 338, 233, 225, 230, 226, 225,
- 234, 236, 217, 213, 226, 231, 213, 237, 241, 232,
-
- 238, 229, 338, 238, 240, 242, 243, 255, 227, 233,
- 228, 53, 249, 235, 338, 234, 236, 248, 238, 259,
- 248, 238, 237, 241, 338, 256, 229, 251, 240, 242,
- 243, 255, 227, 225, 228, 249, 225, 249, 235, 222,
- 225, 226, 222, 225, 259, 250, 257, 260, 226, 256,
- 251, 251, 258, 263, 225, 264, 244, 225, 265, 245,
- 249, 266, 226, 267, 253, 269, 252, 270, 246, 250,
- 257, 247, 260, 268, 251, 271, 258, 272, 263, 254,
- 264, 244, 265, 248, 245, 266, 248, 267, 253, 269,
- 252, 270, 246, 273, 278, 247, 225, 277, 268, 225,
-
- 271, 279, 272, 254, 226, 225, 225, 281, 225, 225,
- 282, 250, 274, 226, 226, 283, 284, 285, 273, 278,
- 286, 277, 287, 288, 289, 279, 288, 288, 338, 293,
- 288, 281, 294, 295, 282, 250, 296, 274, 275, 283,
- 276, 284, 285, 297, 286, 298, 287, 225, 289, 291,
- 225, 225, 291, 293, 225, 226, 294, 226, 295, 226,
- 296, 299, 275, 300, 276, 302, 290, 307, 297, 298,
- 292, 225, 308, 306, 225, 304, 306, 338, 304, 226,
- 311, 226, 309, 338, 314, 299, 313, 310, 300, 313,
- 302, 290, 307, 249, 226, 292, 304, 308, 317, 304,
-
- 319, 315, 303, 305, 315, 311, 318, 309, 251, 314,
- 323, 310, 322, 320, 315, 322, 320, 315, 249, 249,
- 338, 324, 317, 325, 305, 319, 303, 305, 338, 316,
- 318, 249, 251, 320, 251, 323, 320, 326, 328, 338,
- 322, 321, 316, 322, 249, 324, 251, 325, 305, 327,
- 338, 329, 327, 316, 329, 336, 249, 327, 251, 338,
- 327, 321, 326, 328, 329, 321, 316, 329, 331, 333,
- 251, 331, 331, 335, 334, 331, 338, 338, 337, 312,
- 336, 337, 338, 312, 337, 321, 338, 337, 338, 338,
- 338, 338, 338, 338, 333, 338, 338, 335, 334, 338,
-
- 338, 338, 338, 301, 338, 338, 338, 312, 338, 338,
- 338, 312, 43, 43, 338, 43, 43, 43, 45, 45,
- 53, 53, 53, 98, 98, 98, 99, 99, 338, 99,
- 99, 99, 184, 338, 338, 184, 184, 200, 338, 338,
- 200, 211, 211, 211, 239, 338, 239, 239, 239, 261,
- 338, 338, 261, 261, 262, 262, 262, 280, 280, 280,
- 301, 338, 338, 301, 301, 312, 312, 312, 330, 338,
- 338, 330, 330, 332, 338, 332, 332, 332, 3, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
-
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338
+ 186, 197, 205, 187, 188, 199, 206, 189, 190, 198,
+ 173, 193, 191, 365, 207, 208, 209, 194, 195, 210,
+ 183, 213, 196, 183, 215, 214, 197, 205, 214, 199,
+ 216, 206, 217, 219, 365, 220, 193, 172, 207, 208,
+ 172, 209, 224, 211, 210, 213, 192, 221, 215, 192,
+ 222, 225, 223, 226, 216, 223, 226, 217, 219, 220,
+ 240, 227, 201, 240, 202, 365, 218, 224, 211, 203,
+ 226, 221, 204, 226, 222, 225, 365, 232, 227, 226,
+ 233, 226, 226, 236, 226, 228, 201, 227, 202, 227,
+ 234, 218, 226, 203, 235, 226, 204, 238, 239, 214,
+
+ 227, 232, 214, 242, 233, 243, 240, 231, 236, 240,
+ 228, 230, 244, 229, 234, 245, 262, 53, 235, 237,
+ 365, 292, 238, 239, 292, 251, 226, 242, 250, 226,
+ 243, 250, 231, 365, 227, 230, 244, 229, 365, 245,
+ 253, 262, 258, 259, 237, 223, 251, 263, 223, 226,
+ 251, 226, 226, 266, 226, 260, 252, 227, 254, 227,
+ 226, 253, 246, 226, 253, 247, 258, 259, 227, 261,
+ 267, 251, 263, 268, 248, 255, 257, 249, 266, 260,
+ 252, 269, 254, 270, 271, 253, 272, 246, 273, 250,
+ 247, 256, 250, 261, 274, 267, 275, 268, 248, 255,
+
+ 257, 249, 276, 226, 282, 269, 226, 270, 281, 271,
+ 272, 227, 273, 283, 365, 256, 285, 252, 286, 274,
+ 226, 275, 226, 226, 287, 226, 288, 276, 227, 282,
+ 227, 226, 281, 289, 226, 290, 277, 283, 278, 227,
+ 285, 252, 286, 291, 293, 300, 294, 226, 287, 294,
+ 226, 288, 298, 279, 227, 227, 299, 301, 289, 290,
+ 277, 296, 302, 278, 296, 280, 295, 291, 293, 227,
+ 300, 226, 303, 304, 226, 305, 298, 279, 307, 227,
+ 299, 301, 292, 250, 365, 292, 250, 302, 330, 280,
+ 297, 295, 316, 317, 365, 313, 303, 304, 313, 226,
+
+ 305, 309, 226, 307, 320, 322, 315, 227, 322, 315,
+ 365, 310, 330, 251, 227, 297, 311, 316, 317, 318,
+ 365, 365, 322, 314, 319, 322, 309, 365, 253, 320,
+ 312, 322, 327, 322, 322, 310, 322, 323, 251, 331,
+ 311, 332, 326, 313, 318, 326, 313, 314, 319, 365,
+ 227, 324, 253, 365, 312, 328, 325, 327, 328, 341,
+ 333, 322, 323, 331, 322, 334, 332, 336, 342, 340,
+ 336, 314, 340, 251, 322, 328, 324, 322, 328, 365,
+ 343, 325, 344, 329, 341, 333, 345, 338, 253, 334,
+ 338, 365, 342, 292, 335, 314, 292, 365, 251, 340,
+
+ 337, 350, 340, 329, 343, 251, 344, 329, 365, 352,
+ 322, 345, 253, 322, 322, 339, 347, 322, 335, 338,
+ 253, 348, 338, 355, 337, 351, 350, 329, 351, 346,
+ 251, 354, 353, 349, 352, 353, 365, 353, 365, 339,
+ 353, 347, 365, 322, 253, 348, 322, 339, 355, 322,
+ 356, 362, 322, 356, 346, 354, 351, 353, 349, 351,
+ 353, 353, 356, 358, 353, 356, 358, 360, 363, 365,
+ 358, 339, 361, 358, 321, 362, 364, 364, 365, 364,
+ 364, 321, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 360, 363, 365, 365, 361, 365, 365, 365,
+
+ 365, 306, 321, 365, 365, 365, 365, 365, 365, 321,
+ 43, 43, 365, 43, 43, 43, 45, 45, 53, 53,
+ 53, 98, 98, 98, 99, 99, 365, 99, 99, 99,
+ 184, 365, 365, 184, 184, 200, 365, 365, 200, 212,
+ 212, 212, 241, 365, 241, 241, 241, 264, 365, 365,
+ 264, 264, 265, 265, 265, 284, 284, 284, 306, 365,
+ 365, 306, 306, 308, 365, 365, 308, 321, 321, 321,
+ 357, 365, 365, 357, 357, 359, 365, 359, 359, 359,
+ 3, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365
} ;
-static yyconst flex_int16_t yy_chk[945] =
+static yyconst flex_int16_t yy_chk[1047] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -698,65 +718,76 @@ static yyconst flex_int16_t yy_chk[945] =
145, 141, 165, 166, 142, 143, 164, 167, 151, 164,
152, 168, 175, 153, 154, 170, 176, 159, 160, 169,
- 135, 164, 161, 172, 178, 179, 172, 165, 166, 181,
- 183, 182, 167, 183, 0, 185, 168, 175, 187, 170,
- 186, 176, 188, 186, 190, 193, 164, 194, 178, 179,
- 172, 195, 196, 183, 181, 172, 182, 192, 172, 185,
- 192, 197, 187, 198, 197, 199, 188, 0, 0, 190,
- 193, 194, 0, 205, 172, 195, 196, 192, 183, 172,
- 0, 206, 172, 200, 201, 207, 200, 201, 198, 199,
- 202, 200, 201, 202, 0, 209, 203, 205, 202, 203,
- 210, 214, 192, 213, 203, 206, 213, 215, 218, 207,
-
- 216, 203, 0, 216, 217, 219, 220, 231, 201, 209,
- 202, 216, 226, 213, 0, 210, 214, 225, 238, 236,
- 225, 238, 215, 218, 0, 232, 203, 226, 217, 219,
- 220, 231, 201, 228, 202, 225, 228, 226, 213, 222,
- 227, 228, 222, 227, 236, 225, 233, 237, 227, 232,
- 225, 226, 235, 240, 229, 241, 222, 229, 242, 222,
- 225, 243, 229, 244, 228, 246, 227, 247, 222, 225,
- 233, 222, 237, 245, 225, 249, 235, 250, 240, 229,
- 241, 222, 242, 248, 222, 243, 248, 244, 228, 246,
- 227, 247, 222, 251, 258, 222, 252, 255, 245, 252,
-
- 249, 260, 250, 229, 252, 253, 254, 263, 253, 254,
- 264, 248, 252, 253, 254, 267, 268, 269, 251, 258,
- 270, 255, 271, 272, 273, 260, 272, 288, 0, 278,
- 288, 263, 279, 281, 264, 248, 283, 252, 253, 267,
- 254, 268, 269, 284, 270, 285, 271, 274, 273, 275,
- 274, 276, 275, 278, 276, 274, 279, 275, 281, 276,
- 283, 286, 253, 287, 254, 289, 274, 293, 284, 285,
- 276, 290, 296, 292, 290, 291, 292, 0, 291, 290,
- 298, 292, 297, 0, 305, 286, 303, 297, 287, 303,
- 289, 274, 293, 291, 303, 276, 304, 296, 309, 304,
-
- 311, 306, 290, 291, 306, 298, 310, 297, 291, 305,
- 316, 297, 314, 313, 315, 314, 313, 315, 291, 306,
- 0, 318, 309, 319, 304, 311, 290, 291, 0, 306,
- 310, 313, 291, 320, 306, 316, 320, 321, 325, 0,
- 322, 313, 315, 322, 306, 318, 313, 319, 304, 323,
- 0, 326, 323, 306, 326, 334, 313, 327, 306, 0,
- 327, 320, 321, 325, 329, 313, 315, 329, 330, 331,
- 313, 330, 332, 333, 331, 332, 0, 0, 335, 330,
- 334, 335, 0, 332, 336, 320, 0, 336, 0, 0,
- 0, 0, 0, 0, 331, 0, 0, 333, 331, 0,
-
- 0, 0, 0, 329, 0, 0, 0, 330, 0, 0,
- 0, 332, 339, 339, 0, 339, 339, 339, 340, 340,
- 341, 341, 341, 342, 342, 342, 343, 343, 0, 343,
- 343, 343, 344, 0, 0, 344, 344, 345, 0, 0,
- 345, 346, 346, 346, 347, 0, 347, 347, 347, 348,
- 0, 0, 348, 348, 349, 349, 349, 350, 350, 350,
- 351, 0, 0, 351, 351, 352, 352, 352, 353, 0,
- 0, 353, 353, 354, 0, 354, 354, 354, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
-
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338
+ 135, 164, 161, 0, 178, 179, 181, 165, 166, 182,
+ 183, 185, 167, 183, 187, 186, 168, 175, 186, 170,
+ 188, 176, 190, 193, 0, 194, 164, 172, 178, 179,
+ 172, 181, 198, 183, 182, 185, 192, 195, 187, 192,
+ 196, 199, 197, 200, 188, 197, 200, 190, 193, 194,
+ 240, 200, 172, 240, 172, 0, 192, 198, 183, 172,
+ 201, 195, 172, 201, 196, 199, 0, 206, 201, 202,
+ 207, 203, 202, 211, 203, 201, 172, 202, 172, 203,
+ 208, 192, 204, 172, 210, 204, 172, 215, 216, 214,
+
+ 204, 206, 214, 218, 207, 219, 217, 204, 211, 217,
+ 201, 203, 220, 202, 208, 221, 238, 217, 210, 214,
+ 0, 275, 215, 216, 275, 227, 228, 218, 226, 228,
+ 219, 226, 204, 0, 228, 203, 220, 202, 0, 221,
+ 227, 238, 233, 234, 214, 223, 226, 239, 223, 229,
+ 227, 231, 229, 242, 231, 235, 226, 229, 228, 231,
+ 230, 226, 223, 230, 227, 223, 233, 234, 230, 237,
+ 243, 226, 239, 244, 223, 229, 231, 223, 242, 235,
+ 226, 245, 228, 246, 247, 226, 248, 223, 249, 250,
+ 223, 230, 250, 237, 251, 243, 252, 244, 223, 229,
+
+ 231, 223, 253, 254, 261, 245, 254, 246, 258, 247,
+ 248, 254, 249, 263, 0, 230, 266, 250, 267, 251,
+ 256, 252, 255, 256, 270, 255, 271, 253, 256, 261,
+ 255, 257, 258, 272, 257, 273, 254, 263, 255, 257,
+ 266, 250, 267, 274, 276, 285, 277, 278, 270, 277,
+ 278, 271, 282, 256, 277, 278, 283, 287, 272, 273,
+ 254, 279, 288, 255, 279, 257, 278, 274, 276, 279,
+ 285, 280, 289, 290, 280, 291, 282, 256, 293, 280,
+ 283, 287, 292, 294, 0, 292, 294, 288, 318, 257,
+ 280, 278, 298, 301, 0, 296, 289, 290, 296, 295,
+
+ 291, 294, 295, 293, 303, 308, 297, 295, 308, 297,
+ 0, 294, 318, 296, 297, 280, 294, 298, 301, 302,
+ 0, 0, 309, 296, 302, 309, 294, 0, 296, 303,
+ 295, 310, 314, 311, 310, 294, 311, 309, 296, 319,
+ 294, 320, 312, 313, 302, 312, 313, 296, 302, 0,
+ 312, 310, 296, 0, 295, 315, 311, 314, 315, 329,
+ 322, 323, 309, 319, 323, 322, 320, 324, 331, 327,
+ 324, 313, 327, 315, 325, 328, 310, 325, 328, 0,
+ 332, 311, 333, 315, 329, 322, 334, 326, 315, 322,
+ 326, 0, 331, 336, 323, 313, 336, 0, 315, 340,
+
+ 325, 339, 340, 328, 332, 326, 333, 315, 0, 343,
+ 335, 334, 315, 335, 337, 326, 336, 337, 323, 338,
+ 326, 336, 338, 348, 325, 341, 339, 328, 341, 335,
+ 326, 347, 344, 337, 343, 344, 0, 345, 0, 326,
+ 345, 336, 0, 346, 326, 336, 346, 338, 348, 349,
+ 350, 360, 349, 350, 335, 347, 351, 354, 337, 351,
+ 354, 355, 356, 357, 355, 356, 357, 358, 361, 0,
+ 359, 338, 358, 359, 357, 360, 362, 363, 0, 362,
+ 363, 359, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 358, 361, 0, 0, 358, 0, 0, 0,
+
+ 0, 356, 357, 0, 0, 0, 0, 0, 0, 359,
+ 366, 366, 0, 366, 366, 366, 367, 367, 368, 368,
+ 368, 369, 369, 369, 370, 370, 0, 370, 370, 370,
+ 371, 0, 0, 371, 371, 372, 0, 0, 372, 373,
+ 373, 373, 374, 0, 374, 374, 374, 375, 0, 0,
+ 375, 375, 376, 376, 376, 377, 377, 377, 378, 0,
+ 0, 378, 378, 379, 0, 0, 379, 380, 380, 380,
+ 381, 0, 0, 381, 381, 382, 0, 382, 382, 382,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365
} ;
static yy_state_type yy_last_accepting_state;
@@ -845,7 +876,7 @@ static int checkImmediate(int token) {
return token;
}
-#line 849 "engines/director/lingo/lingo-lex.cpp"
+#line 880 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1031,7 +1062,7 @@ YY_DECL
#line 90 "engines/director/lingo/lingo-lex.l"
-#line 1035 "engines/director/lingo/lingo-lex.cpp"
+#line 1066 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1085,13 +1116,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 >= 339 )
+ if ( yy_current_state >= 366 )
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_current_state != 338 );
+ while ( yy_current_state != 365 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1460,6 +1491,30 @@ YY_RULE_SETUP
count();
const char *ptr = &yytext[4]; // Skip 'the '
+ while (*ptr == ' ' || *ptr == '\t') ptr++;
+
+ ptr += 5; // skip 'last '
+ while (*ptr == ' ' || *ptr == '\t') ptr++;
+
+ Common::String field;
+ while (*ptr != ' ' && *ptr != '\t')
+ field += *ptr++;
+
+ yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
+
+ if (g_lingo->_builtins.contains(*yylval.s))
+ return FBLTIN;
+ else
+ error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ }
+ YY_BREAK
+case 54:
+YY_RULE_SETUP
+#line 247 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[4]; // Skip 'the '
while (*ptr == ' ' || *ptr == '\t')
ptr++;
@@ -1514,9 +1569,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 54:
+case 55:
YY_RULE_SETUP
-#line 284 "engines/director/lingo/lingo-lex.l"
+#line 304 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1549,9 +1604,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 55:
+case 56:
YY_RULE_SETUP
-#line 315 "engines/director/lingo/lingo-lex.l"
+#line 335 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1572,74 +1627,74 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
-case 56:
+case 57:
YY_RULE_SETUP
-#line 334 "engines/director/lingo/lingo-lex.l"
+#line 354 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
-case 57:
+case 58:
YY_RULE_SETUP
-#line 335 "engines/director/lingo/lingo-lex.l"
+#line 355 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
-case 58:
+case 59:
YY_RULE_SETUP
-#line 336 "engines/director/lingo/lingo-lex.l"
+#line 356 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
-case 59:
+case 60:
YY_RULE_SETUP
-#line 337 "engines/director/lingo/lingo-lex.l"
+#line 357 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
-case 60:
+case 61:
YY_RULE_SETUP
-#line 338 "engines/director/lingo/lingo-lex.l"
+#line 358 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
-case 61:
+case 62:
YY_RULE_SETUP
-#line 339 "engines/director/lingo/lingo-lex.l"
+#line 359 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
-case 62:
+case 63:
YY_RULE_SETUP
-#line 340 "engines/director/lingo/lingo-lex.l"
+#line 360 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
-case 63:
+case 64:
YY_RULE_SETUP
-#line 341 "engines/director/lingo/lingo-lex.l"
+#line 361 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
-case 64:
+case 65:
YY_RULE_SETUP
-#line 343 "engines/director/lingo/lingo-lex.l"
+#line 363 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
-case 65:
+case 66:
YY_RULE_SETUP
-#line 344 "engines/director/lingo/lingo-lex.l"
+#line 364 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
-case 66:
+case 67:
YY_RULE_SETUP
-#line 345 "engines/director/lingo/lingo-lex.l"
+#line 365 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
-case 67:
+case 68:
YY_RULE_SETUP
-#line 346 "engines/director/lingo/lingo-lex.l"
+#line 366 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
-case 68:
+case 69:
YY_RULE_SETUP
-#line 347 "engines/director/lingo/lingo-lex.l"
+#line 367 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
-case 69:
+case 70:
YY_RULE_SETUP
-#line 349 "engines/director/lingo/lingo-lex.l"
+#line 369 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1673,43 +1728,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
-case 70:
+case 71:
YY_RULE_SETUP
-#line 381 "engines/director/lingo/lingo-lex.l"
+#line 401 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
-case 71:
+case 72:
YY_RULE_SETUP
-#line 382 "engines/director/lingo/lingo-lex.l"
+#line 402 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
-case 72:
+case 73:
YY_RULE_SETUP
-#line 383 "engines/director/lingo/lingo-lex.l"
+#line 403 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
-case 73:
-/* rule 73 can match eol */
+case 74:
+/* rule 74 can match eol */
YY_RULE_SETUP
-#line 384 "engines/director/lingo/lingo-lex.l"
+#line 404 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 385 "engines/director/lingo/lingo-lex.l"
+#line 405 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
-case 75:
+case 76:
YY_RULE_SETUP
-#line 386 "engines/director/lingo/lingo-lex.l"
+#line 406 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
-case 76:
+case 77:
YY_RULE_SETUP
-#line 388 "engines/director/lingo/lingo-lex.l"
+#line 408 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1713 "engines/director/lingo/lingo-lex.cpp"
+#line 1768 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2003,7 +2058,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 >= 339 )
+ if ( yy_current_state >= 366 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2031,11 +2086,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 >= 339 )
+ if ( yy_current_state >= 366 )
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 == 338);
+ yy_is_jam = (yy_current_state == 365);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2669,7 +2724,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 388 "engines/director/lingo/lingo-lex.l"
+#line 408 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index f7117f4..b454bf1 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -224,6 +224,26 @@ the[ \t]+number[ \t]+of[ \t]+[[:alpha:]]+[ \t](in|of)[ \t] {
else
error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
}
+the[ \t]+last[ \t][[:alpha:]]+[ \t](in|of)[ \t] {
+ count();
+
+ const char *ptr = &yytext[4]; // Skip 'the '
+ while (*ptr == ' ' || *ptr == '\t') ptr++;
+
+ ptr += 5; // skip 'last '
+ while (*ptr == ' ' || *ptr == '\t') ptr++;
+
+ Common::String field;
+ while (*ptr != ' ' && *ptr != '\t')
+ field += *ptr++;
+
+ yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
+
+ if (g_lingo->_builtins.contains(*yylval.s))
+ return FBLTIN;
+ else
+ error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ }
the[ \t]+[[:alpha:]]+[ \t]+of[ \t]+{identifier} {
count();
Commit: 6a6935ed4cfa46a940df16109aa744ea1ff0bb7f
https://github.com/scummvm/scummvm/commit/6a6935ed4cfa46a940df16109aa744ea1ff0bb7f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:06:53+01:00
Commit Message:
DIRECTOR: LINGO: Added test for 'the last of' chunk expression
Changed paths:
engines/director/lingo/tests/chunks.lingo
diff --git a/engines/director/lingo/tests/chunks.lingo b/engines/director/lingo/tests/chunks.lingo
index 7bdc77a..371d844 100644
--- a/engines/director/lingo/tests/chunks.lingo
+++ b/engines/director/lingo/tests/chunks.lingo
@@ -1 +1,6 @@
put randomName() into item i of field "In"
+
+put the last word of field 1 into field 3
+
+put the last char of "Macromedia, the multimedia company"
+put the last word of "Macromedia, the multimedia company"
Commit: 84e8ab495630c052556fe4cd5cf3c1df1ecfed57
https://github.com/scummvm/scummvm/commit/84e8ab495630c052556fe4cd5cf3c1df1ecfed57
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:21:34+01:00
Commit Message:
DIRECTOR: LINGO: Proper stub for 'ancestor' property
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-builtins.h
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 6680709..ef6e5db 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -208,7 +208,6 @@ static struct BuiltinProto {
{ "moveToBack", LB::b_moveToBack, 1, 1, false, 4, BLTIN }, // D4 c
{ "moveToFront", LB::b_moveToFront, 1, 1, false, 4, BLTIN }, // D4 c
// Constants
- { "ancestor", LB::b_ancestor, 0, 0, false, 4, BLTIN }, // D4
{ "backspace", LB::b_backspace, 0, 0, false, 2, FBLTIN }, // D2
{ "empty", LB::b_empty, 0, 0, false, 2, FBLTIN }, // D2
{ "enter", LB::b_enter, 0, 0, false, 2, FBLTIN }, // D2
@@ -1631,11 +1630,6 @@ void LB::b_soundStop(int nargs) {
///////////////////
// Constants
///////////////////
-void LB::b_ancestor(int nargs) {
- warning("STUB: b_ancestor");
- g_lingo->push(Datum(0));
-}
-
void LB::b_backspace(int nargs) {
g_lingo->push(Datum(new Common::String("\b")));
}
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index ff1686e..b07a369 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -181,7 +181,6 @@ namespace LB {
void b_soundPlayFile(int nargs);
void b_soundStop(int nargs);
- void b_ancestor(int nargs);
void b_backspace(int nargs);
void b_empty(int nargs);
void b_enter(int nargs);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 1644615..9cceb1d 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -331,6 +331,10 @@ void LC::c_varpush() {
warning("c_varpush: ME");
}
+ if (name.equalsIgnoreCase("ancestor")) {
+ warning("c_varpush: ANCESTOR");
+ }
+
if (g_lingo->getHandler(name) != NULL) {
d.type = HANDLER;
d.u.s = new Common::String(name);
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 3a5dc58..b56fdf2 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -565,18 +565,18 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 127
+#define YYFINAL 126
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1604
+#define YYLAST 1592
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 99
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 50
+#define YYNNTS 51
/* YYNRULES -- Number of rules. */
-#define YYNRULES 169
+#define YYNRULES 170
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 362
+#define YYNSTATES 363
#define YYUNDEFTOK 2
#define YYMAXUTOK 338
@@ -642,12 +642,13 @@ static const yytype_int16 yyrline[] =
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 448, 449, 450, 451, 452, 453, 454, 455,
457, 460, 462, 463, 464, 465, 466, 467, 467, 468,
- 469, 470, 473, 476, 477, 479, 483, 488, 492, 497,
- 501, 513, 514, 515, 516, 520, 524, 529, 530, 532,
- 533, 537, 541, 545, 545, 575, 575, 575, 582, 583,
- 583, 590, 600, 608, 608, 610, 611, 612, 613, 615,
- 616, 617, 619, 621, 629, 630, 631, 633, 634, 636,
- 638, 639, 640, 641, 643, 644, 646, 647, 649, 653
+ 468, 469, 470, 473, 476, 477, 479, 483, 488, 492,
+ 497, 501, 513, 514, 515, 516, 520, 524, 529, 530,
+ 532, 533, 537, 541, 545, 545, 575, 575, 575, 582,
+ 583, 583, 590, 600, 608, 608, 610, 611, 612, 613,
+ 615, 616, 617, 619, 621, 629, 630, 631, 633, 634,
+ 636, 638, 639, 640, 641, 643, 644, 646, 647, 649,
+ 653
};
#endif
@@ -674,11 +675,11 @@ static const char *const yytname[] =
"stmtonelinerwithif", "stmt", "tellstart", "ifstmt", "elseifstmtlist",
"elseifstmt", "ifoneliner", "repeatwhile", "repeatwith", "if", "elseif",
"begin", "end", "stmtlist", "when", "simpleexpr", "expr", "chunkexpr",
- "reference", "proc", "$@1", "globallist", "propertylist", "instancelist",
- "gotofunc", "gotomovie", "playfunc", "$@2", "defn", "$@3", "$@4", "$@5",
- "on", "$@6", "argdef", "endargdef", "argstore", "macro", "arglist",
- "nonemptyarglist", "list", "valuelist", "linearlist", "proplist",
- "proppair", YY_NULLPTR
+ "reference", "proc", "$@1", "$@2", "globallist", "propertylist",
+ "instancelist", "gotofunc", "gotomovie", "playfunc", "$@3", "defn",
+ "$@4", "$@5", "$@6", "on", "$@7", "argdef", "endargdef", "argstore",
+ "macro", "arglist", "nonemptyarglist", "list", "valuelist", "linearlist",
+ "proplist", "proppair", YY_NULLPTR
};
#endif
@@ -700,7 +701,7 @@ static const yytype_int16 yytoknum[] =
};
# endif
-#define YYPACT_NINF (-263)
+#define YYPACT_NINF (-273)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -714,43 +715,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 278, -71, -263, -263, 867, -263, 900, 979, 62, 1012,
- -263, -263, -263, -263, -263, 0, -263, 752, -263, -263,
- 19, 867, 68, 85, 16, 29, 867, 788, 50, 867,
- 867, 867, 867, 867, 867, 867, 76, -263, 867, 867,
- 867, 31, 7, -263, -263, -263, -263, -263, 867, 43,
- 867, 594, -263, 1501, -263, -263, -263, -263, -263, -263,
- -263, -263, -263, -263, -26, 867, 1501, 867, 1501, 11,
- 867, 11, -263, -263, 867, 1501, 18, 867, -263, -263,
- 106, -263, 867, -263, 91, -263, 1064, -263, 111, -263,
- 1051, 129, -263, -28, 62, 62, 21, 105, 107, -263,
- 1418, -263, 1064, -263, -263, 60, -263, 1113, 1146, 1179,
- 1212, 1468, 1377, -263, 66, 135, -263, -263, 1431, 64,
- 69, -263, -263, 63, 71, 73, -263, -263, 357, 1501,
- 867, 1501, -263, -263, 867, 1501, -263, -263, 867, 867,
- 867, 867, 867, 867, 867, 867, 867, 867, 867, 867,
- 867, 867, 867, 867, 867, 142, 867, 1051, 1431, -84,
- 867, 27, 30, 867, 11, 142, -263, 79, 1501, 867,
- -263, -263, 38, 867, 867, -263, 867, 867, 45, 133,
- 867, 867, 867, -263, 867, -263, 149, 867, 867, 867,
- 867, 867, 867, 867, 867, 867, 867, -263, -263, 157,
- -263, -263, 62, 62, -263, 62, 65, -263, -263, 1501,
- 134, -263, 1501, 128, 128, 128, 128, 1514, 1514, -263,
- 137, 128, 128, 128, 128, 137, -7, -7, -263, -263,
- -263, -40, -263, 1501, -263, -263, 1501, -27, 172, 1501,
- -263, -263, -263, 1501, 1501, 1501, 128, 867, 867, 173,
- 1501, 128, 1501, 1501, -263, 1501, 1245, 1501, 1278, 1501,
- 1311, 1501, 1344, 1501, 1501, 673, -263, -263, -263, -263,
- -263, 64, 69, -263, 515, -11, -263, 150, 112, 178,
- 112, -263, 142, 1501, 128, 62, 867, 867, 867, 867,
- -263, 515, -263, -263, 119, 160, 867, 515, 673, 187,
- -263, -263, -263, 2, 162, 1501, 1501, 1501, 1501, -263,
- 130, -263, 867, 1501, -263, -263, -263, 436, 515, 112,
- 867, -263, 1501, -263, 84, -19, 189, -263, 1501, -263,
- 515, -263, -263, -263, 867, 131, -263, -263, -263, 124,
- 515, 515, 138, -263, 1501, -263, 673, 200, 146, -263,
- 515, 182, -263, -263, -263, 152, -263, 153, -263, 515,
- -263, -263
+ 307, -78, -273, -273, 896, -273, 929, 1008, 65, 1041,
+ -273, -273, -273, -273, -273, -25, -273, 781, -273, -273,
+ -8, 896, 41, 97, 21, 38, 896, 817, 53, 896,
+ 896, 896, 896, 896, 896, 896, -273, -273, 896, 896,
+ 896, 82, 7, -273, -273, -273, -273, -273, 896, 42,
+ 896, 623, -273, 1489, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -7, 896, 1489, 896, 1489, 3,
+ 896, 3, -273, -273, 896, 1489, 11, 896, -273, -273,
+ 110, -273, 896, -273, 75, -273, 1093, -273, 128, -273,
+ 1080, 130, -273, -10, 65, 65, 5, 105, 107, -273,
+ 149, -273, 1093, -273, -273, 61, -273, 1142, 1175, 1208,
+ 1241, 1456, 1406, 135, 138, -273, -273, 1419, 67, 68,
+ -273, -273, 70, 78, 79, -273, -273, 386, 1489, 896,
+ 1489, -273, -273, 896, 1489, -273, -273, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 148, 896, 1080, 1419, -43, 896,
+ 26, 28, 896, 3, 148, -273, 86, 1489, 896, -273,
+ -273, 37, 896, 896, -273, 896, 896, 24, 150, 896,
+ 896, 896, -273, 896, -273, 171, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, -273, -273, -273, 99,
+ -273, -273, 65, 65, -273, 65, 93, -273, -273, 1489,
+ 151, -273, 1489, 163, 163, 163, 163, 1502, 1502, -273,
+ -33, 163, 163, 163, 163, -33, -49, -49, -273, -273,
+ -273, -71, -273, 1489, -273, -273, 1489, -28, 173, 1489,
+ -273, -273, -273, 1489, 1489, 1489, 163, 896, 896, 174,
+ 1489, 163, 1489, 1489, -273, 1489, 1274, 1489, 1307, 1489,
+ 1340, 1489, 1373, 1489, 1489, 702, -273, 175, -273, -273,
+ -273, 67, 68, -273, 544, -15, -273, 153, 106, 180,
+ 106, -273, 148, 1489, 163, 65, 896, 896, 896, 896,
+ -273, 544, -273, -273, -273, 123, 165, 896, 544, 702,
+ 193, -273, -273, -273, -24, 168, 1489, 1489, 1489, 1489,
+ -273, 137, -273, 896, 1489, -273, -273, -273, 465, 544,
+ 106, 896, -273, 1489, -273, 96, -19, 199, -273, 1489,
+ -273, 544, -273, -273, -273, 896, 141, -273, -273, -273,
+ 131, 544, 544, 143, -273, 1489, -273, 702, 201, 145,
+ -273, 544, 182, -273, -273, -273, 161, -273, 164, -273,
+ 544, -273, -273
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -758,63 +759,65 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 54, 65, 0, 55, 154, 154, 0, 58,
- 57, 56, 133, 139, 67, 106, 107, 0, 46, 135,
+ 0, 0, 54, 65, 0, 55, 155, 155, 0, 58,
+ 57, 56, 134, 140, 67, 106, 107, 0, 46, 136,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 143, 0, 0,
- 0, 160, 0, 3, 68, 27, 7, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 109, 144, 0, 0,
+ 0, 161, 0, 3, 68, 27, 7, 28, 0, 0,
0, 0, 60, 21, 101, 61, 22, 103, 104, 6,
- 48, 20, 59, 4, 58, 0, 66, 154, 155, 112,
- 154, 63, 58, 100, 154, 157, 153, 154, 48, 105,
- 0, 121, 0, 122, 0, 123, 124, 126, 0, 32,
- 102, 0, 44, 0, 0, 0, 0, 0, 0, 138,
- 114, 129, 130, 132, 119, 110, 82, 0, 0, 0,
- 0, 0, 0, 117, 109, 0, 87, 88, 0, 57,
- 56, 161, 164, 0, 162, 163, 166, 1, 5, 49,
- 0, 49, 49, 26, 0, 24, 25, 23, 0, 0,
+ 48, 20, 59, 4, 58, 0, 66, 155, 156, 113,
+ 155, 63, 58, 100, 155, 158, 154, 155, 48, 105,
+ 0, 122, 0, 123, 0, 124, 125, 127, 0, 32,
+ 102, 0, 44, 0, 0, 0, 0, 0, 0, 139,
+ 115, 130, 131, 133, 120, 111, 82, 0, 0, 0,
+ 0, 0, 0, 0, 0, 87, 88, 0, 57, 56,
+ 162, 165, 0, 163, 164, 167, 1, 5, 49, 0,
+ 49, 49, 26, 0, 24, 25, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 145, 154, 0, 155, 0,
- 0, 0, 0, 0, 134, 145, 115, 108, 128, 0,
- 125, 136, 0, 0, 0, 45, 0, 0, 0, 0,
- 0, 0, 0, 53, 0, 131, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 36, 36, 0,
- 144, 89, 0, 0, 159, 0, 0, 2, 50, 49,
+ 0, 0, 0, 0, 146, 155, 0, 156, 0, 0,
+ 0, 0, 0, 135, 146, 116, 108, 129, 0, 126,
+ 137, 0, 0, 0, 45, 0, 0, 0, 0, 0,
+ 0, 0, 53, 0, 132, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 36, 36, 118, 110,
+ 145, 89, 0, 0, 160, 0, 0, 2, 50, 49,
0, 33, 49, 78, 79, 76, 77, 80, 81, 73,
84, 85, 86, 75, 74, 83, 69, 70, 71, 72,
- 146, 0, 111, 156, 62, 64, 158, 0, 0, 127,
+ 147, 0, 112, 157, 62, 64, 159, 0, 0, 128,
48, 8, 9, 10, 11, 15, 13, 0, 0, 0,
- 14, 12, 19, 113, 120, 92, 0, 94, 0, 96,
- 0, 98, 0, 90, 91, 0, 50, 118, 169, 168,
- 165, 0, 0, 167, 49, 0, 50, 0, 152, 0,
- 152, 116, 145, 16, 17, 0, 0, 0, 0, 0,
- 49, 49, 51, 52, 0, 0, 0, 49, 0, 0,
- 50, 147, 50, 0, 0, 93, 95, 97, 99, 35,
- 0, 29, 0, 49, 39, 49, 148, 142, 140, 152,
- 0, 34, 49, 50, 49, 0, 149, 50, 18, 50,
- 49, 48, 47, 40, 0, 0, 48, 43, 150, 141,
- 137, 49, 0, 50, 49, 37, 0, 0, 0, 30,
- 49, 0, 49, 151, 31, 0, 50, 0, 38, 49,
- 42, 41
+ 14, 12, 19, 114, 121, 92, 0, 94, 0, 96,
+ 0, 98, 0, 90, 91, 0, 50, 0, 170, 169,
+ 166, 0, 0, 168, 49, 0, 50, 0, 153, 0,
+ 153, 117, 146, 16, 17, 0, 0, 0, 0, 0,
+ 49, 49, 119, 51, 52, 0, 0, 0, 49, 0,
+ 0, 50, 148, 50, 0, 0, 93, 95, 97, 99,
+ 35, 0, 29, 0, 49, 39, 49, 149, 143, 141,
+ 153, 0, 34, 49, 50, 49, 0, 150, 50, 18,
+ 50, 49, 48, 47, 40, 0, 0, 48, 43, 151,
+ 142, 138, 49, 0, 50, 49, 37, 0, 0, 0,
+ 30, 49, 0, 49, 152, 31, 0, 50, 0, 38,
+ 49, 42, 41
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -263, -263, 103, -263, -257, -263, 4, 37, -263, -263,
- -263, -263, -263, -263, 185, -263, -77, -92, -252, -263,
- 1, -4, -263, 67, 186, -263, -263, -263, -263, -263,
- 6, -263, -263, -263, -263, -263, -263, -263, -263, -159,
- -263, -262, 190, 9, -263, -263, -263, -263, -263, 34
+ -273, -273, 103, -273, -254, -273, 4, 35, -273, -273,
+ -273, -273, -273, -273, 195, -273, -77, -50, -227, -273,
+ 1, -4, -273, 76, 203, -273, -273, -273, -273, -273,
+ -273, -17, -273, -273, -273, -273, -273, -273, -273, -273,
+ -158, -273, -272, 205, 12, -273, -273, -273, -273, -273,
+ 51
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 42, 43, 44, 45, 132, 293, 265, 47, 324,
- 333, 133, 48, 49, 50, 334, 155, 208, 274, 51,
- 52, 53, 54, 55, 56, 80, 167, 114, 105, 57,
- 87, 58, 77, 59, 88, 240, 78, 60, 115, 231,
- 339, 300, 61, 162, 76, 62, 123, 124, 125, 126
+ -1, 42, 43, 44, 45, 131, 294, 265, 47, 325,
+ 334, 132, 48, 49, 50, 335, 154, 208, 274, 51,
+ 52, 53, 54, 55, 56, 80, 113, 166, 199, 105,
+ 57, 87, 58, 77, 59, 88, 240, 78, 60, 114,
+ 231, 340, 301, 61, 161, 76, 62, 122, 123, 124,
+ 125
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -822,226 +825,220 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 66, 165, 68, 68, 46, 75, 237, 127, 290, 73,
- 232, 160, 336, 86, 291, 69, 71, 90, 302, 295,
- 176, 63, 100, 102, 297, 106, 107, 108, 109, 110,
- 111, 112, 177, 103, 116, 117, 118, 296, 98, 210,
- 211, 315, 122, 2, 129, 79, 131, 135, 317, 5,
- 318, 99, 278, 72, 119, 279, 120, 327, 144, 8,
- 241, 157, 337, 158, 89, 280, 158, 156, 279, 180,
- 158, 330, 104, 68, 2, 340, 159, 341, 168, 161,
- 5, 181, 153, 154, 72, 10, 164, 11, 271, 352,
- 272, 350, 170, 247, 319, 178, 179, 279, 113, 128,
- 93, 94, 95, 130, 359, 248, 160, 96, 185, 30,
- 31, 32, 33, 163, 97, 331, 332, 275, 91, 92,
- 277, 234, 160, 303, 235, 160, 209, 41, 166, 121,
- 212, 169, 46, 171, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 175, 68, 182, 183, 186, 233, 200, 41, 236,
- 204, 199, 202, 282, 230, 239, 205, 203, 206, 243,
- 244, 254, 245, 246, 238, 249, 250, 251, 252, 267,
- 253, 276, 294, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 144, 281, 285, 145, 298, 309, 310,
- 301, 311, 144, 268, 269, 314, 270, 299, 312, 316,
- 320, 338, 345, 321, 150, 151, 152, 153, 154, 347,
- 349, 323, 353, 325, 151, 152, 153, 154, 354, 356,
- 329, 207, 335, 358, 360, 266, 134, 136, 342, 242,
- 273, 137, 0, 283, 284, 0, 0, 0, 0, 348,
- 0, 0, 351, 0, 343, 0, 0, 0, 355, 346,
- 357, 0, 0, 0, 0, 0, 0, 361, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -5, 1,
- 0, 0, 305, 306, 307, 308, 304, 0, 0, 0,
- 2, 0, 313, 3, 4, 0, 5, 6, 7, 8,
- 9, 10, 0, 11, 0, 12, 13, 14, 322, 0,
- 0, 15, 16, 17, 18, 0, 328, 19, 0, 20,
- 0, 0, 21, 22, 23, 0, 0, 24, 0, 0,
- 344, 25, 26, 27, 0, 28, 0, 0, 0, 0,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 0, 35, 36, 37, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
- -5, 40, 3, 4, 41, 5, 6, 7, 8, 9,
- 10, 0, 11, 0, 12, 13, 14, 0, 0, 0,
+ 66, 164, 68, 68, 46, 75, 237, 126, 303, 73,
+ 103, 290, 337, 86, 63, 296, 143, 90, 69, 71,
+ 79, 278, 100, 102, 279, 106, 107, 108, 109, 110,
+ 111, 112, 143, 297, 115, 116, 117, 89, 175, 291,
+ 152, 153, 121, 98, 128, 316, 130, 134, 328, 298,
+ 176, 232, 159, 179, 150, 151, 152, 153, 8, 241,
+ 99, 156, 338, 157, 280, 180, 157, 279, 320, 169,
+ 157, 279, 247, 68, 318, 104, 319, 2, 167, 158,
+ 210, 211, 160, 5, 248, 184, 155, 72, 10, 163,
+ 11, 91, 92, 353, 2, 177, 178, 331, 159, 127,
+ 5, 341, 129, 342, 72, 118, 162, 119, 30, 31,
+ 32, 33, 93, 94, 95, 168, 271, 351, 272, 96,
+ 234, 159, 235, 159, 304, 209, 97, 332, 333, 212,
+ 360, 46, 165, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 170, 68, 174, 181, 182, 233, 185, 198, 236, 275,
+ 200, 41, 277, 282, 239, 202, 203, 204, 243, 244,
+ 230, 245, 246, 205, 206, 250, 251, 252, 41, 253,
+ 120, 238, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 249, 254, 267, 281, 285, 292, 276, 183,
+ 299, 300, 302, 268, 269, 312, 270, 137, 138, 139,
+ 140, 141, 142, 313, 143, 317, 321, 144, 145, 146,
+ 322, 339, 346, 354, 295, 350, 348, 355, 143, 357,
+ 207, 144, 266, 147, 148, 149, 150, 151, 152, 153,
+ 310, 311, 359, 283, 284, 361, 133, 242, 315, 149,
+ 150, 151, 152, 153, 135, 344, 136, 273, 0, 0,
+ 347, 0, 0, 0, 324, 0, 326, 0, 0, 0,
+ 0, 0, 0, 330, 0, 336, 0, 0, 0, 0,
+ 0, 343, 306, 307, 308, 309, 305, 0, 0, 0,
+ 0, 0, 349, 314, 0, 352, 0, 0, 0, 0,
+ 0, 356, 0, 358, 0, 0, 0, -5, 1, 323,
+ 362, 0, 0, 0, 0, 0, 0, 329, 0, 2,
+ 0, 0, 3, 4, 0, 5, 6, 7, 8, 9,
+ 10, 345, 11, 0, 12, 13, 14, 0, 0, 0,
15, 16, 17, 18, 0, 0, 19, 0, 20, 0,
0, 21, 22, 23, 0, 0, 24, 0, 0, 0,
25, 26, 27, 0, 28, 0, 0, 0, 0, 0,
0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
32, 33, 34, 0, 0, 35, 36, 37, 0, 0,
- 0, 0, 0, 0, 38, 39, 0, 0, 2, 0,
+ 0, 0, 0, 0, 38, 39, 0, 0, 2, -5,
40, 3, 4, 41, 5, 6, 7, 8, 9, 10,
- 0, 11, 326, 12, 0, 14, 0, 0, 0, 15,
- 16, 17, 18, 0, 0, 0, 0, 20, 0, 0,
- 21, 22, 23, 0, 0, 24, 0, 0, 0, 0,
+ 0, 11, 0, 12, 13, 14, 0, 0, 0, 15,
+ 16, 17, 18, 0, 0, 19, 0, 20, 0, 0,
+ 21, 22, 23, 0, 0, 24, 0, 0, 0, 25,
26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 35, 36, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 292, 40,
+ 33, 34, 0, 0, 35, 36, 37, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
+ 11, 327, 12, 0, 14, 0, 0, 0, 15, 16,
17, 18, 0, 0, 0, 0, 20, 0, 0, 21,
22, 23, 0, 0, 24, 0, 0, 0, 0, 26,
27, 0, 28, 0, 0, 0, 0, 0, 0, 29,
0, 0, 0, 0, 0, 0, 30, 31, 32, 33,
34, 0, 0, 35, 36, 0, 0, 0, 0, 0,
- 0, 0, 38, 39, 0, 0, 2, 292, 40, 3,
+ 0, 0, 38, 39, 0, 0, 2, 293, 40, 3,
4, 41, 5, 6, 7, 8, 9, 10, 0, 11,
0, 12, 0, 14, 0, 0, 0, 15, 16, 17,
- 18, 0, 0, 0, 0, 0, 0, 0, 21, 0,
- 23, 0, 0, 0, 0, 0, 0, 0, 26, 27,
+ 18, 0, 0, 0, 0, 20, 0, 0, 21, 22,
+ 23, 0, 0, 24, 0, 0, 0, 0, 26, 27,
0, 28, 0, 0, 0, 0, 0, 0, 29, 0,
0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 2, 0, 40, 3, 4,
+ 0, 0, 35, 36, 0, 0, 0, 0, 0, 0,
+ 0, 38, 39, 0, 0, 2, 293, 40, 3, 4,
41, 5, 6, 7, 8, 9, 10, 0, 11, 0,
- 12, 0, 14, 0, 0, 0, 15, 16, 17, 0,
+ 12, 0, 14, 0, 0, 0, 15, 16, 17, 18,
0, 0, 0, 0, 0, 0, 0, 21, 0, 23,
0, 0, 0, 0, 0, 0, 0, 26, 27, 0,
28, 0, 0, 0, 0, 0, 0, 29, 0, 0,
0, 0, 0, 0, 30, 31, 32, 33, 34, 0,
0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
38, 39, 0, 0, 2, 0, 40, 3, 4, 41,
- 5, 0, 7, 8, 64, 10, 0, 11, 0, 0,
- 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 81, 0, 82, 83, 84, 85, 65, 0, 23, 0,
- 2, 0, 0, 3, 4, 0, 5, 0, 7, 8,
- 64, 10, 0, 11, 0, 0, 29, 14, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 82, 0,
- 84, 0, 65, 0, 23, 0, 0, 0, 0, 38,
- 39, 0, 0, 0, 101, 40, 0, 0, 41, 0,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
- 0, 40, 3, 4, 41, 5, 0, 7, 8, 64,
- 10, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65, 2, 23, 0, 3, 4, 0, 5, 0,
- 7, 8, 64, 10, 0, 11, 0, 0, 0, 14,
+ 5, 6, 7, 8, 9, 10, 0, 11, 0, 12,
+ 0, 14, 0, 0, 0, 15, 16, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 21, 0, 23, 0,
+ 0, 0, 0, 0, 0, 0, 26, 27, 0, 28,
+ 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
+ 0, 36, 0, 0, 0, 0, 0, 0, 0, 38,
+ 39, 0, 0, 2, 0, 40, 3, 4, 41, 5,
+ 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 81,
+ 0, 82, 83, 84, 85, 65, 0, 23, 0, 2,
+ 0, 0, 3, 4, 0, 5, 0, 7, 8, 64,
+ 10, 0, 11, 0, 0, 29, 14, 0, 0, 0,
+ 0, 0, 30, 31, 32, 33, 34, 82, 0, 84,
+ 0, 65, 0, 23, 0, 0, 0, 0, 38, 39,
+ 0, 0, 0, 101, 40, 0, 0, 41, 0, 0,
0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
- 32, 33, 34, 0, 65, 0, 23, 0, 0, 0,
- 0, 0, 0, 0, 38, 39, 0, 0, 0, 0,
- 40, 0, 0, 41, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 0, 67, 3, 4, 41, 5, 0, 7,
- 8, 64, 10, 0, 11, 0, 0, 0, 14, 0,
+ 32, 33, 34, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 38, 39, 0, 0, 2, 0,
+ 40, 3, 4, 41, 5, 0, 7, 8, 64, 10,
+ 0, 11, 0, 0, 0, 14, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 65, 2, 23, 0, 3, 4, 0,
- 5, 0, 7, 8, 64, 10, 0, 11, 0, 0,
- 0, 14, 0, 29, 0, 0, 0, 0, 0, 0,
- 30, 31, 32, 33, 34, 0, 65, 0, 23, 0,
+ 65, 2, 23, 0, 3, 4, 0, 5, 0, 7,
+ 8, 64, 10, 0, 11, 0, 0, 0, 14, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 65, 0, 23, 0, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 0, 0, 40,
+ 0, 0, 41, 29, 0, 0, 0, 0, 0, 0,
+ 30, 31, 32, 33, 34, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 38, 39, 0, 0,
- 0, 0, 70, 0, 0, 41, 29, 0, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 172, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
- 39, 0, 0, 0, 82, 74, 84, 0, 41, 138,
- 139, 140, 141, 142, 143, 0, 144, 173, 174, 145,
- 146, 147, 138, 139, 140, 141, 142, 143, 0, 144,
- 0, 0, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 0, 0, 0, 0, 0, 0, 148, 149,
- 150, 151, 152, 153, 154, 187, 0, 0, 0, 0,
- 0, 188, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 138, 139, 140, 141, 142, 143, 0, 144, 0,
- 0, 145, 146, 147, 0, 0, 0, 0, 189, 0,
- 0, 0, 0, 0, 190, 0, 0, 148, 149, 150,
- 151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
- 0, 144, 0, 0, 145, 146, 147, 0, 0, 0,
- 0, 191, 0, 0, 0, 0, 0, 192, 0, 0,
- 148, 149, 150, 151, 152, 153, 154, 138, 139, 140,
- 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
- 0, 0, 0, 0, 193, 0, 0, 0, 0, 0,
- 194, 0, 0, 148, 149, 150, 151, 152, 153, 154,
- 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 0, 0, 0, 0, 286, 0, 0,
- 0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
- 152, 153, 154, 138, 139, 140, 141, 142, 143, 0,
- 144, 0, 0, 145, 146, 147, 0, 0, 0, 0,
- 287, 0, 0, 0, 0, 0, 0, 0, 0, 148,
- 149, 150, 151, 152, 153, 154, 138, 139, 140, 141,
- 142, 143, 0, 144, 0, 0, 145, 146, 147, 0,
- 0, 0, 0, 288, 0, 0, 0, 0, 0, 0,
- 0, 0, 148, 149, 150, 151, 152, 153, 154, 138,
- 139, 140, 141, 142, 143, 0, 144, 0, 0, 145,
- 146, 147, 0, 0, 0, 0, 289, 0, 0, 0,
- 0, 0, 0, 0, 0, 148, 149, 150, 151, 152,
- 153, 154, 138, 139, 140, 141, 142, 143, 0, 144,
- 0, 0, 145, 146, 147, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 197, 0, 0, 148, 149,
- 150, 151, 152, 153, 154, 138, 139, 140, 141, 142,
- 143, 0, 144, 0, 0, 145, 146, 147, 0, 0,
+ 2, 0, 67, 3, 4, 41, 5, 0, 7, 8,
+ 64, 10, 0, 11, 0, 0, 0, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 148, 149, 150, 151, 152, 153, 154, 184, 198,
- 0, 0, 0, 0, 0, 0, 138, 139, 140, 141,
- 142, 143, 0, 144, 0, 0, 145, 146, 147, 138,
- 139, 140, 141, 142, 143, 0, 144, 0, 0, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 0,
- 0, 0, 0, 0, 0, 148, 149, 150, 151, 152,
- 153, 154, 0, 0, 0, 201, 138, 139, 140, 141,
- 142, 143, 0, 144, 0, 0, 145, 146, 147, 0,
- 0, 0, 0, 0, 195, 196, 0, 0, 0, 0,
- 0, 0, 148, 149, 150, 151, 152, 153, 154, 138,
- 139, 140, 141, 142, 143, 0, 144, 0, 0, 145,
- 146, 147, 138, 139, 140, 141, 0, 0, 0, 144,
- 0, 0, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 0, 0, 0, 0, 0, 0, 148, 149,
- 150, 151, 152, 153, 154
+ 0, 0, 65, 2, 23, 0, 3, 4, 0, 5,
+ 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
+ 14, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 31, 32, 33, 34, 0, 65, 0, 23, 0, 0,
+ 0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
+ 0, 70, 0, 0, 41, 29, 0, 0, 0, 0,
+ 0, 0, 30, 31, 32, 33, 34, 171, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 38, 39,
+ 0, 0, 0, 82, 74, 84, 0, 41, 137, 138,
+ 139, 140, 141, 142, 0, 143, 172, 173, 144, 145,
+ 146, 137, 138, 139, 140, 141, 142, 0, 143, 0,
+ 0, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 0, 0, 0, 0, 0, 0, 147, 148, 149,
+ 150, 151, 152, 153, 186, 0, 0, 0, 0, 0,
+ 187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
+ 144, 145, 146, 0, 0, 0, 0, 188, 0, 0,
+ 0, 0, 0, 189, 0, 0, 147, 148, 149, 150,
+ 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
+ 143, 0, 0, 144, 145, 146, 0, 0, 0, 0,
+ 190, 0, 0, 0, 0, 0, 191, 0, 0, 147,
+ 148, 149, 150, 151, 152, 153, 137, 138, 139, 140,
+ 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
+ 0, 0, 0, 192, 0, 0, 0, 0, 0, 193,
+ 0, 0, 147, 148, 149, 150, 151, 152, 153, 137,
+ 138, 139, 140, 141, 142, 0, 143, 0, 0, 144,
+ 145, 146, 0, 0, 0, 0, 286, 0, 0, 0,
+ 0, 0, 0, 0, 0, 147, 148, 149, 150, 151,
+ 152, 153, 137, 138, 139, 140, 141, 142, 0, 143,
+ 0, 0, 144, 145, 146, 0, 0, 0, 0, 287,
+ 0, 0, 0, 0, 0, 0, 0, 0, 147, 148,
+ 149, 150, 151, 152, 153, 137, 138, 139, 140, 141,
+ 142, 0, 143, 0, 0, 144, 145, 146, 0, 0,
+ 0, 0, 288, 0, 0, 0, 0, 0, 0, 0,
+ 0, 147, 148, 149, 150, 151, 152, 153, 137, 138,
+ 139, 140, 141, 142, 0, 143, 0, 0, 144, 145,
+ 146, 0, 0, 0, 0, 289, 0, 0, 0, 0,
+ 0, 0, 0, 0, 147, 148, 149, 150, 151, 152,
+ 153, 137, 138, 139, 140, 141, 142, 0, 143, 0,
+ 0, 144, 145, 146, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 196, 0, 0, 147, 148, 149,
+ 150, 151, 152, 153, 137, 138, 139, 140, 141, 142,
+ 0, 143, 0, 0, 144, 145, 146, 137, 138, 139,
+ 140, 141, 142, 0, 143, 0, 0, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 0, 197, 0,
+ 0, 0, 0, 147, 148, 149, 150, 151, 152, 153,
+ 0, 0, 0, 201, 137, 138, 139, 140, 141, 142,
+ 0, 143, 0, 0, 144, 145, 146, 0, 0, 0,
+ 0, 0, 194, 195, 0, 0, 0, 0, 0, 0,
+ 147, 148, 149, 150, 151, 152, 153, 137, 138, 139,
+ 140, 141, 142, 0, 143, 0, 0, 144, 145, 146,
+ 137, 138, 139, 140, 0, 0, 0, 143, 0, 0,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 0, 0, 0, 0, 0, 0, 147, 148, 149, 150,
+ 151, 152, 153
};
static const yytype_int16 yycheck[] =
{
- 4, 78, 6, 7, 0, 9, 165, 0, 265, 8,
- 94, 95, 31, 17, 266, 6, 7, 21, 280, 30,
- 48, 92, 26, 27, 276, 29, 30, 31, 32, 33,
- 34, 35, 60, 27, 38, 39, 40, 48, 22, 131,
- 132, 298, 41, 12, 48, 45, 50, 51, 300, 18,
- 302, 22, 92, 22, 23, 95, 25, 319, 65, 21,
- 22, 65, 81, 67, 45, 92, 70, 93, 95, 48,
- 74, 323, 22, 77, 12, 327, 67, 329, 82, 70,
- 18, 60, 89, 90, 22, 23, 77, 25, 23, 346,
- 25, 343, 86, 48, 92, 94, 95, 95, 22, 92,
- 15, 16, 17, 60, 356, 60, 95, 22, 102, 71,
- 72, 73, 74, 95, 29, 31, 32, 209, 50, 51,
- 212, 94, 95, 282, 94, 95, 130, 96, 22, 98,
- 134, 40, 128, 22, 138, 139, 140, 141, 142, 143,
+ 4, 78, 6, 7, 0, 9, 164, 0, 280, 8,
+ 27, 265, 31, 17, 92, 30, 65, 21, 6, 7,
+ 45, 92, 26, 27, 95, 29, 30, 31, 32, 33,
+ 34, 35, 65, 48, 38, 39, 40, 45, 48, 266,
+ 89, 90, 41, 22, 48, 299, 50, 51, 320, 276,
+ 60, 94, 95, 48, 87, 88, 89, 90, 21, 22,
+ 22, 65, 81, 67, 92, 60, 70, 95, 92, 86,
+ 74, 95, 48, 77, 301, 22, 303, 12, 82, 67,
+ 130, 131, 70, 18, 60, 102, 93, 22, 23, 77,
+ 25, 50, 51, 347, 12, 94, 95, 324, 95, 92,
+ 18, 328, 60, 330, 22, 23, 95, 25, 71, 72,
+ 73, 74, 15, 16, 17, 40, 23, 344, 25, 22,
+ 94, 95, 94, 95, 282, 129, 29, 31, 32, 133,
+ 357, 127, 22, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 22, 156, 48, 47, 95, 160, 22, 96, 163,
- 97, 95, 98, 240, 22, 169, 95, 98, 95, 173,
- 174, 22, 176, 177, 95, 42, 180, 181, 182, 22,
- 184, 47, 274, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 65, 22, 22, 68, 47, 290, 291,
- 22, 82, 65, 202, 203, 297, 205, 95, 48, 22,
- 48, 22, 81, 83, 86, 87, 88, 89, 90, 95,
- 82, 313, 22, 315, 87, 88, 89, 90, 82, 47,
- 322, 128, 324, 81, 81, 198, 51, 51, 330, 172,
- 206, 51, -1, 247, 248, -1, -1, -1, -1, 341,
- -1, -1, 344, -1, 331, -1, -1, -1, 350, 336,
- 352, -1, -1, -1, -1, -1, -1, 359, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, 1,
- -1, -1, 286, 287, 288, 289, 285, -1, -1, -1,
- 12, -1, 296, 15, 16, -1, 18, 19, 20, 21,
- 22, 23, -1, 25, -1, 27, 28, 29, 312, -1,
- -1, 33, 34, 35, 36, -1, 320, 39, -1, 41,
- -1, -1, 44, 45, 46, -1, -1, 49, -1, -1,
- 334, 53, 54, 55, -1, 57, -1, -1, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, -1, 71,
- 72, 73, 74, 75, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, -1, 87, 88, -1, -1, 12,
- 92, 93, 15, 16, 96, 18, 19, 20, 21, 22,
- 23, -1, 25, -1, 27, 28, 29, -1, -1, -1,
+ 22, 155, 22, 48, 47, 159, 95, 22, 162, 209,
+ 22, 96, 212, 240, 168, 98, 98, 97, 172, 173,
+ 22, 175, 176, 95, 95, 179, 180, 181, 96, 183,
+ 98, 95, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 42, 22, 95, 22, 22, 22, 47, 50,
+ 47, 95, 22, 202, 203, 82, 205, 58, 59, 60,
+ 61, 62, 63, 48, 65, 22, 48, 68, 69, 70,
+ 83, 22, 81, 22, 274, 82, 95, 82, 65, 47,
+ 127, 68, 197, 84, 85, 86, 87, 88, 89, 90,
+ 290, 291, 81, 247, 248, 81, 51, 171, 298, 86,
+ 87, 88, 89, 90, 51, 332, 51, 206, -1, -1,
+ 337, -1, -1, -1, 314, -1, 316, -1, -1, -1,
+ -1, -1, -1, 323, -1, 325, -1, -1, -1, -1,
+ -1, 331, 286, 287, 288, 289, 285, -1, -1, -1,
+ -1, -1, 342, 297, -1, 345, -1, -1, -1, -1,
+ -1, 351, -1, 353, -1, -1, -1, 0, 1, 313,
+ 360, -1, -1, -1, -1, -1, -1, 321, -1, 12,
+ -1, -1, 15, 16, -1, 18, 19, 20, 21, 22,
+ 23, 335, 25, -1, 27, 28, 29, -1, -1, -1,
33, 34, 35, 36, -1, -1, 39, -1, 41, -1,
-1, 44, 45, 46, -1, -1, 49, -1, -1, -1,
53, 54, 55, -1, 57, -1, -1, -1, -1, -1,
-1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
73, 74, 75, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, -1, 87, 88, -1, -1, 12, -1,
+ -1, -1, -1, -1, 87, 88, -1, -1, 12, 92,
93, 15, 16, 96, 18, 19, 20, 21, 22, 23,
- -1, 25, 26, 27, -1, 29, -1, -1, -1, 33,
- 34, 35, 36, -1, -1, -1, -1, 41, -1, -1,
- 44, 45, 46, -1, -1, 49, -1, -1, -1, -1,
+ -1, 25, -1, 27, 28, 29, -1, -1, -1, 33,
+ 34, 35, 36, -1, -1, 39, -1, 41, -1, -1,
+ 44, 45, 46, -1, -1, 49, -1, -1, -1, 53,
54, 55, -1, 57, -1, -1, -1, -1, -1, -1,
64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, -1, -1, 78, 79, -1, -1, -1, -1,
- -1, -1, -1, 87, 88, -1, -1, 12, 92, 93,
+ 74, 75, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, 12, -1, 93,
15, 16, 96, 18, 19, 20, 21, 22, 23, -1,
- 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
+ 25, 26, 27, -1, 29, -1, -1, -1, 33, 34,
35, 36, -1, -1, -1, -1, 41, -1, -1, 44,
45, 46, -1, -1, 49, -1, -1, -1, -1, 54,
55, -1, 57, -1, -1, -1, -1, -1, -1, 64,
@@ -1050,104 +1047,108 @@ static const yytype_int16 yycheck[] =
-1, -1, 87, 88, -1, -1, 12, 92, 93, 15,
16, 96, 18, 19, 20, 21, 22, 23, -1, 25,
-1, 27, -1, 29, -1, -1, -1, 33, 34, 35,
- 36, -1, -1, -1, -1, -1, -1, -1, 44, -1,
- 46, -1, -1, -1, -1, -1, -1, -1, 54, 55,
+ 36, -1, -1, -1, -1, 41, -1, -1, 44, 45,
+ 46, -1, -1, 49, -1, -1, -1, -1, 54, 55,
-1, 57, -1, -1, -1, -1, -1, -1, 64, -1,
-1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
- -1, -1, -1, 79, -1, -1, -1, -1, -1, -1,
- -1, 87, 88, -1, -1, 12, -1, 93, 15, 16,
+ -1, -1, 78, 79, -1, -1, -1, -1, -1, -1,
+ -1, 87, 88, -1, -1, 12, 92, 93, 15, 16,
96, 18, 19, 20, 21, 22, 23, -1, 25, -1,
- 27, -1, 29, -1, -1, -1, 33, 34, 35, -1,
+ 27, -1, 29, -1, -1, -1, 33, 34, 35, 36,
-1, -1, -1, -1, -1, -1, -1, 44, -1, 46,
-1, -1, -1, -1, -1, -1, -1, 54, 55, -1,
57, -1, -1, -1, -1, -1, -1, 64, -1, -1,
-1, -1, -1, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
87, 88, -1, -1, 12, -1, 93, 15, 16, 96,
- 18, -1, 20, 21, 22, 23, -1, 25, -1, -1,
- -1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
- 38, -1, 40, 41, 42, 43, 44, -1, 46, -1,
- 12, -1, -1, 15, 16, -1, 18, -1, 20, 21,
- 22, 23, -1, 25, -1, -1, 64, 29, -1, -1,
- -1, -1, -1, 71, 72, 73, 74, 75, 40, -1,
- 42, -1, 44, -1, 46, -1, -1, -1, -1, 87,
- 88, -1, -1, -1, 56, 93, -1, -1, 96, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, -1, 71,
- 72, 73, 74, 75, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 87, 88, -1, -1, 12,
- -1, 93, 15, 16, 96, 18, -1, 20, 21, 22,
- 23, -1, 25, -1, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 44, 12, 46, -1, 15, 16, -1, 18, -1,
- 20, 21, 22, 23, -1, 25, -1, -1, -1, 29,
+ 18, 19, 20, 21, 22, 23, -1, 25, -1, 27,
+ -1, 29, -1, -1, -1, 33, 34, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
+ -1, -1, -1, -1, -1, -1, 54, 55, -1, 57,
+ -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
+ -1, -1, -1, 71, 72, 73, 74, 75, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, -1, -1, 12, -1, 93, 15, 16, 96, 18,
+ -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
+ 29, -1, -1, -1, -1, -1, -1, -1, -1, 38,
+ -1, 40, 41, 42, 43, 44, -1, 46, -1, 12,
+ -1, -1, 15, 16, -1, 18, -1, 20, 21, 22,
+ 23, -1, 25, -1, -1, 64, 29, -1, -1, -1,
+ -1, -1, 71, 72, 73, 74, 75, 40, -1, 42,
+ -1, 44, -1, 46, -1, -1, -1, -1, 87, 88,
+ -1, -1, -1, 56, 93, -1, -1, 96, -1, -1,
-1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
- 73, 74, 75, -1, 44, -1, 46, -1, -1, -1,
- -1, -1, -1, -1, 87, 88, -1, -1, -1, -1,
- 93, -1, -1, 96, 64, -1, -1, -1, -1, -1,
- -1, 71, 72, 73, 74, 75, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
- -1, 12, -1, 93, 15, 16, 96, 18, -1, 20,
- 21, 22, 23, -1, 25, -1, -1, -1, 29, -1,
+ 73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 87, 88, -1, -1, 12, -1,
+ 93, 15, 16, 96, 18, -1, 20, 21, 22, 23,
+ -1, 25, -1, -1, -1, 29, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 44, 12, 46, -1, 15, 16, -1,
- 18, -1, 20, 21, 22, 23, -1, 25, -1, -1,
- -1, 29, -1, 64, -1, -1, -1, -1, -1, -1,
- 71, 72, 73, 74, 75, -1, 44, -1, 46, -1,
+ 44, 12, 46, -1, 15, 16, -1, 18, -1, 20,
+ 21, 22, 23, -1, 25, -1, -1, -1, 29, -1,
+ 64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
+ 74, 75, -1, 44, -1, 46, -1, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, -1, -1, 93,
+ -1, -1, 96, 64, -1, -1, -1, -1, -1, -1,
+ 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
- -1, -1, 93, -1, -1, 96, 64, -1, -1, -1,
- -1, -1, -1, 71, 72, 73, 74, 75, 37, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
- 88, -1, -1, -1, 40, 93, 42, -1, 96, 58,
- 59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
- 69, 70, 58, 59, 60, 61, 62, 63, -1, 65,
- -1, -1, 68, 69, 70, 84, 85, 86, 87, 88,
- 89, 90, -1, -1, -1, -1, -1, -1, 84, 85,
- 86, 87, 88, 89, 90, 42, -1, -1, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, 60, 61, 62, 63, -1, 65, -1,
- -1, 68, 69, 70, -1, -1, -1, -1, 42, -1,
- -1, -1, -1, -1, 48, -1, -1, 84, 85, 86,
- 87, 88, 89, 90, 58, 59, 60, 61, 62, 63,
- -1, 65, -1, -1, 68, 69, 70, -1, -1, -1,
- -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
- 84, 85, 86, 87, 88, 89, 90, 58, 59, 60,
- 61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
- -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
- 48, -1, -1, 84, 85, 86, 87, 88, 89, 90,
+ 12, -1, 93, 15, 16, 96, 18, -1, 20, 21,
+ 22, 23, -1, 25, -1, -1, -1, 29, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 44, 12, 46, -1, 15, 16, -1, 18,
+ -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
+ 29, -1, 64, -1, -1, -1, -1, -1, -1, 71,
+ 72, 73, 74, 75, -1, 44, -1, 46, -1, -1,
+ -1, -1, -1, -1, -1, 87, 88, -1, -1, -1,
+ -1, 93, -1, -1, 96, 64, -1, -1, -1, -1,
+ -1, -1, 71, 72, 73, 74, 75, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 87, 88,
+ -1, -1, -1, 40, 93, 42, -1, 96, 58, 59,
+ 60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
+ 70, 58, 59, 60, 61, 62, 63, -1, 65, -1,
+ -1, 68, 69, 70, 84, 85, 86, 87, 88, 89,
+ 90, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ 87, 88, 89, 90, 42, -1, -1, -1, -1, -1,
+ 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
68, 69, 70, -1, -1, -1, -1, 42, -1, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
+ -1, -1, -1, 48, -1, -1, 84, 85, 86, 87,
88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
65, -1, -1, 68, 69, 70, -1, -1, -1, -1,
- 42, -1, -1, -1, -1, -1, -1, -1, -1, 84,
+ 42, -1, -1, -1, -1, -1, 48, -1, -1, 84,
85, 86, 87, 88, 89, 90, 58, 59, 60, 61,
62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
- -1, -1, -1, 42, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 42, -1, -1, -1, -1, -1, 48,
-1, -1, 84, 85, 86, 87, 88, 89, 90, 58,
59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
69, 70, -1, -1, -1, -1, 42, -1, -1, -1,
-1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
89, 90, 58, 59, 60, 61, 62, 63, -1, 65,
- -1, -1, 68, 69, 70, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 48, -1, -1, 84, 85,
+ -1, -1, 68, 69, 70, -1, -1, -1, -1, 42,
+ -1, -1, -1, -1, -1, -1, -1, -1, 84, 85,
86, 87, 88, 89, 90, 58, 59, 60, 61, 62,
63, -1, 65, -1, -1, 68, 69, 70, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 50, 92,
- -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
- 62, 63, -1, 65, -1, -1, 68, 69, 70, 58,
- 59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
- 69, 70, 84, 85, 86, 87, 88, 89, 90, -1,
- -1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
- 89, 90, -1, -1, -1, 94, 58, 59, 60, 61,
- 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
- -1, -1, -1, -1, 76, 77, -1, -1, -1, -1,
- -1, -1, 84, 85, 86, 87, 88, 89, 90, 58,
- 59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
- 69, 70, 58, 59, 60, 61, -1, -1, -1, 65,
- -1, -1, 68, 69, 70, 84, 85, 86, 87, 88,
- 89, 90, -1, -1, -1, -1, -1, -1, 84, 85,
- 86, 87, 88, 89, 90
+ -1, -1, 42, -1, -1, -1, -1, -1, -1, -1,
+ -1, 84, 85, 86, 87, 88, 89, 90, 58, 59,
+ 60, 61, 62, 63, -1, 65, -1, -1, 68, 69,
+ 70, -1, -1, -1, -1, 42, -1, -1, -1, -1,
+ -1, -1, -1, -1, 84, 85, 86, 87, 88, 89,
+ 90, 58, 59, 60, 61, 62, 63, -1, 65, -1,
+ -1, 68, 69, 70, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 48, -1, -1, 84, 85, 86,
+ 87, 88, 89, 90, 58, 59, 60, 61, 62, 63,
+ -1, 65, -1, -1, 68, 69, 70, 58, 59, 60,
+ 61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
+ 84, 85, 86, 87, 88, 89, 90, -1, 92, -1,
+ -1, -1, -1, 84, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, 94, 58, 59, 60, 61, 62, 63,
+ -1, 65, -1, -1, 68, 69, 70, -1, -1, -1,
+ -1, -1, 76, 77, -1, -1, -1, -1, -1, -1,
+ 84, 85, 86, 87, 88, 89, 90, 58, 59, 60,
+ 61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
+ 58, 59, 60, 61, -1, -1, -1, 65, -1, -1,
+ 68, 69, 70, 84, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
+ 88, 89, 90
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1159,38 +1160,38 @@ static const yytype_uint8 yystos[] =
41, 44, 45, 46, 49, 53, 54, 55, 57, 64,
71, 72, 73, 74, 75, 78, 79, 80, 87, 88,
93, 96, 100, 101, 102, 103, 105, 107, 111, 112,
- 113, 118, 119, 120, 121, 122, 123, 128, 130, 132,
- 136, 141, 144, 92, 22, 44, 120, 93, 120, 142,
- 93, 142, 22, 119, 93, 120, 143, 131, 135, 45,
- 124, 38, 40, 41, 42, 43, 120, 129, 133, 45,
+ 113, 118, 119, 120, 121, 122, 123, 129, 131, 133,
+ 137, 142, 145, 92, 22, 44, 120, 93, 120, 143,
+ 93, 143, 22, 119, 93, 120, 144, 132, 136, 45,
+ 124, 38, 40, 41, 42, 43, 120, 130, 134, 45,
120, 50, 51, 15, 16, 17, 22, 29, 22, 22,
- 120, 56, 120, 129, 22, 127, 120, 120, 120, 120,
- 120, 120, 120, 22, 126, 137, 120, 120, 120, 23,
- 25, 98, 119, 145, 146, 147, 148, 0, 92, 120,
- 60, 120, 104, 110, 113, 120, 123, 141, 58, 59,
- 60, 61, 62, 63, 65, 68, 69, 70, 84, 85,
- 86, 87, 88, 89, 90, 115, 93, 120, 120, 142,
- 95, 142, 142, 95, 142, 115, 22, 125, 120, 40,
- 129, 22, 37, 66, 67, 22, 48, 60, 119, 119,
- 48, 60, 48, 47, 50, 129, 95, 42, 48, 42,
- 48, 42, 48, 42, 48, 76, 77, 48, 92, 95,
+ 120, 56, 120, 130, 22, 128, 120, 120, 120, 120,
+ 120, 120, 120, 125, 138, 120, 120, 120, 23, 25,
+ 98, 119, 146, 147, 148, 149, 0, 92, 120, 60,
+ 120, 104, 110, 113, 120, 123, 142, 58, 59, 60,
+ 61, 62, 63, 65, 68, 69, 70, 84, 85, 86,
+ 87, 88, 89, 90, 115, 93, 120, 120, 143, 95,
+ 143, 143, 95, 143, 115, 22, 126, 120, 40, 130,
+ 22, 37, 66, 67, 22, 48, 60, 119, 119, 48,
+ 60, 48, 47, 50, 130, 95, 42, 48, 42, 48,
+ 42, 48, 42, 48, 76, 77, 48, 92, 22, 127,
22, 94, 98, 98, 97, 95, 95, 101, 116, 120,
116, 116, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 22, 138, 94, 120, 94, 94, 120, 138, 95, 120,
- 134, 22, 122, 120, 120, 120, 120, 48, 60, 42,
+ 22, 139, 94, 120, 94, 94, 120, 139, 95, 120,
+ 135, 22, 122, 120, 120, 120, 120, 48, 60, 42,
120, 120, 120, 120, 22, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 106, 106, 22, 119, 119,
- 119, 23, 25, 148, 117, 116, 47, 116, 92, 95,
+ 120, 120, 120, 120, 120, 106, 106, 95, 119, 119,
+ 119, 23, 25, 149, 117, 116, 47, 116, 92, 95,
92, 22, 115, 120, 120, 22, 42, 42, 42, 42,
- 103, 117, 92, 105, 116, 30, 48, 117, 47, 95,
- 140, 22, 140, 138, 119, 120, 120, 120, 120, 116,
- 116, 82, 48, 120, 116, 103, 22, 117, 117, 92,
- 48, 83, 120, 116, 108, 116, 26, 140, 120, 116,
- 117, 31, 32, 109, 114, 116, 31, 81, 22, 139,
- 117, 117, 116, 115, 120, 81, 115, 95, 116, 82,
- 117, 116, 103, 22, 82, 116, 47, 116, 81, 117,
- 81, 116
+ 103, 117, 22, 92, 105, 116, 30, 48, 117, 47,
+ 95, 141, 22, 141, 139, 119, 120, 120, 120, 120,
+ 116, 116, 82, 48, 120, 116, 103, 22, 117, 117,
+ 92, 48, 83, 120, 116, 108, 116, 26, 141, 120,
+ 116, 117, 31, 32, 109, 114, 116, 31, 81, 22,
+ 140, 117, 117, 116, 115, 120, 81, 115, 95, 116,
+ 82, 117, 116, 103, 22, 82, 116, 47, 116, 81,
+ 117, 81, 116
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1206,13 +1207,14 @@ static const yytype_uint8 yyr1[] =
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
- 122, 122, 123, 123, 123, 123, 123, 124, 123, 123,
- 123, 123, 123, 123, 123, 125, 125, 126, 126, 127,
- 127, 128, 128, 128, 128, 128, 128, 129, 129, 130,
- 130, 130, 130, 131, 130, 133, 134, 132, 132, 135,
- 132, 132, 132, 137, 136, 138, 138, 138, 138, 139,
- 139, 139, 140, 141, 142, 142, 142, 143, 143, 144,
- 145, 145, 145, 145, 146, 146, 147, 147, 148, 148
+ 122, 122, 123, 123, 123, 123, 123, 124, 123, 125,
+ 123, 123, 123, 123, 123, 123, 126, 126, 127, 127,
+ 128, 128, 129, 129, 129, 129, 129, 129, 130, 130,
+ 131, 131, 131, 131, 132, 131, 134, 135, 133, 133,
+ 136, 133, 133, 133, 138, 137, 139, 139, 139, 139,
+ 140, 140, 140, 141, 142, 143, 143, 143, 144, 144,
+ 145, 146, 146, 146, 146, 147, 147, 148, 148, 149,
+ 149
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1228,13 +1230,14 @@ static const yytype_int8 yyr2[] =
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 2, 3, 3, 3, 3, 2, 2, 3,
4, 4, 4, 6, 4, 6, 4, 6, 4, 6,
- 2, 1, 2, 1, 1, 2, 1, 0, 3, 2,
- 2, 4, 2, 4, 2, 1, 3, 1, 3, 1,
- 3, 2, 2, 2, 2, 3, 2, 3, 2, 2,
- 2, 3, 2, 0, 3, 0, 0, 9, 2, 0,
- 7, 8, 6, 0, 3, 0, 1, 3, 4, 0,
- 1, 3, 0, 2, 0, 1, 3, 1, 3, 3,
- 0, 1, 1, 1, 1, 3, 1, 3, 3, 3
+ 2, 1, 2, 1, 1, 2, 1, 0, 3, 0,
+ 3, 2, 4, 2, 4, 2, 1, 3, 1, 3,
+ 1, 3, 2, 2, 2, 2, 3, 2, 3, 2,
+ 2, 2, 3, 2, 0, 3, 0, 0, 9, 2,
+ 0, 7, 8, 6, 0, 3, 0, 1, 3, 4,
+ 0, 1, 3, 0, 2, 0, 1, 3, 1, 3,
+ 3, 0, 1, 1, 1, 1, 3, 1, 3, 3,
+ 3
};
@@ -1672,73 +1675,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
case 19: /* BLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1676 "engines/director/lingo/lingo-gr.cpp"
+#line 1679 "engines/director/lingo/lingo-gr.cpp"
break;
case 20: /* FBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1682 "engines/director/lingo/lingo-gr.cpp"
+#line 1685 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* RBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1688 "engines/director/lingo/lingo-gr.cpp"
+#line 1691 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* ID */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1694 "engines/director/lingo/lingo-gr.cpp"
+#line 1697 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* STRING */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1700 "engines/director/lingo/lingo-gr.cpp"
+#line 1703 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* HANDLER */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1706 "engines/director/lingo/lingo-gr.cpp"
+#line 1709 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* SYMBOL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1712 "engines/director/lingo/lingo-gr.cpp"
+#line 1715 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* ENDCLAUSE */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1718 "engines/director/lingo/lingo-gr.cpp"
+#line 1721 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* tPLAYACCEL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1724 "engines/director/lingo/lingo-gr.cpp"
+#line 1727 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tMETHOD */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1730 "engines/director/lingo/lingo-gr.cpp"
+#line 1733 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* THEOBJECTFIELD */
#line 131 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1736 "engines/director/lingo/lingo-gr.cpp"
+#line 1739 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136: /* on */
+ case 137: /* on */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1742 "engines/director/lingo/lingo-gr.cpp"
+#line 1745 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2008,7 +2011,7 @@ yyreduce:
case 4:
#line 137 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2012 "engines/director/lingo/lingo-gr.cpp"
+#line 2015 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2019,7 +2022,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2023 "engines/director/lingo/lingo-gr.cpp"
+#line 2026 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2027,19 +2030,19 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2031 "engines/director/lingo/lingo-gr.cpp"
+#line 2034 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 152 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2037 "engines/director/lingo/lingo-gr.cpp"
+#line 2040 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 153 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2043 "engines/director/lingo/lingo-gr.cpp"
+#line 2046 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2050,7 +2053,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2054 "engines/director/lingo/lingo-gr.cpp"
+#line 2057 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2062,7 +2065,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2066 "engines/director/lingo/lingo-gr.cpp"
+#line 2069 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2073,7 +2076,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2077 "engines/director/lingo/lingo-gr.cpp"
+#line 2080 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2085,7 +2088,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2089 "engines/director/lingo/lingo-gr.cpp"
+#line 2092 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2096,7 +2099,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2100 "engines/director/lingo/lingo-gr.cpp"
+#line 2103 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2107,7 +2110,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2111 "engines/director/lingo/lingo-gr.cpp"
+#line 2114 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2122,7 +2125,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2126 "engines/director/lingo/lingo-gr.cpp"
+#line 2129 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2133,7 +2136,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2137 "engines/director/lingo/lingo-gr.cpp"
+#line 2140 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
@@ -2144,7 +2147,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2148 "engines/director/lingo/lingo-gr.cpp"
+#line 2151 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2161,7 +2164,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2165 "engines/director/lingo/lingo-gr.cpp"
+#line 2168 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
@@ -2178,7 +2181,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2182 "engines/director/lingo/lingo-gr.cpp"
+#line 2185 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
@@ -2186,7 +2189,7 @@ yyreduce:
{
g_lingo->code1(LC::c_nextRepeat);
}
-#line 2190 "engines/director/lingo/lingo-gr.cpp"
+#line 2193 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2196,7 +2199,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2200 "engines/director/lingo/lingo-gr.cpp"
+#line 2203 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2205,7 +2208,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2209 "engines/director/lingo/lingo-gr.cpp"
+#line 2212 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
@@ -2214,7 +2217,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2218 "engines/director/lingo/lingo-gr.cpp"
+#line 2221 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
@@ -2222,7 +2225,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2226 "engines/director/lingo/lingo-gr.cpp"
+#line 2229 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2237,7 +2240,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2241 "engines/director/lingo/lingo-gr.cpp"
+#line 2244 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2252,7 +2255,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2256 "engines/director/lingo/lingo-gr.cpp"
+#line 2259 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2263,7 +2266,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2267 "engines/director/lingo/lingo-gr.cpp"
+#line 2270 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2278,7 +2281,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2282 "engines/director/lingo/lingo-gr.cpp"
+#line 2285 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2293,13 +2296,13 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2297 "engines/director/lingo/lingo-gr.cpp"
+#line 2300 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
#line 338 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2303 "engines/director/lingo/lingo-gr.cpp"
+#line 2306 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2309,7 +2312,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2313 "engines/director/lingo/lingo-gr.cpp"
+#line 2316 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2319,7 +2322,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2323 "engines/director/lingo/lingo-gr.cpp"
+#line 2326 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2330,25 +2333,25 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2334 "engines/director/lingo/lingo-gr.cpp"
+#line 2337 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 359 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2340 "engines/director/lingo/lingo-gr.cpp"
+#line 2343 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 361 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2346 "engines/director/lingo/lingo-gr.cpp"
+#line 2349 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 363 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2352 "engines/director/lingo/lingo-gr.cpp"
+#line 2355 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2358,7 +2361,7 @@ yyreduce:
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2362 "engines/director/lingo/lingo-gr.cpp"
+#line 2365 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
@@ -2366,7 +2369,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2370 "engines/director/lingo/lingo-gr.cpp"
+#line 2373 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
@@ -2374,7 +2377,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2378 "engines/director/lingo/lingo-gr.cpp"
+#line 2381 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2383,7 +2386,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2387 "engines/director/lingo/lingo-gr.cpp"
+#line 2390 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2392,7 +2395,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2396 "engines/director/lingo/lingo-gr.cpp"
+#line 2399 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2401,13 +2404,13 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2405 "engines/director/lingo/lingo-gr.cpp"
+#line 2408 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 393 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2411 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
case 62:
@@ -2415,7 +2418,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2419 "engines/director/lingo/lingo-gr.cpp"
+#line 2422 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
@@ -2423,7 +2426,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2427 "engines/director/lingo/lingo-gr.cpp"
+#line 2430 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
@@ -2431,7 +2434,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2435 "engines/director/lingo/lingo-gr.cpp"
+#line 2438 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
@@ -2444,7 +2447,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2448 "engines/director/lingo/lingo-gr.cpp"
+#line 2451 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2455,7 +2458,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2459 "engines/director/lingo/lingo-gr.cpp"
+#line 2462 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2465,193 +2468,193 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2469 "engines/director/lingo/lingo-gr.cpp"
+#line 2472 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
#line 424 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2475 "engines/director/lingo/lingo-gr.cpp"
+#line 2478 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
#line 425 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2484 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
#line 426 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2487 "engines/director/lingo/lingo-gr.cpp"
+#line 2490 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
#line 427 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2493 "engines/director/lingo/lingo-gr.cpp"
+#line 2496 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
#line 428 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2499 "engines/director/lingo/lingo-gr.cpp"
+#line 2502 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
#line 429 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2505 "engines/director/lingo/lingo-gr.cpp"
+#line 2508 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
#line 430 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2511 "engines/director/lingo/lingo-gr.cpp"
+#line 2514 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2517 "engines/director/lingo/lingo-gr.cpp"
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
#line 432 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2523 "engines/director/lingo/lingo-gr.cpp"
+#line 2526 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
#line 433 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2529 "engines/director/lingo/lingo-gr.cpp"
+#line 2532 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2535 "engines/director/lingo/lingo-gr.cpp"
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2541 "engines/director/lingo/lingo-gr.cpp"
+#line 2544 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2547 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2553 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2559 "engines/director/lingo/lingo-gr.cpp"
+#line 2562 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2565 "engines/director/lingo/lingo-gr.cpp"
+#line 2568 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2571 "engines/director/lingo/lingo-gr.cpp"
+#line 2574 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
#line 441 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2577 "engines/director/lingo/lingo-gr.cpp"
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
#line 442 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2583 "engines/director/lingo/lingo-gr.cpp"
+#line 2586 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
#line 443 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2589 "engines/director/lingo/lingo-gr.cpp"
+#line 2592 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
#line 444 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2595 "engines/director/lingo/lingo-gr.cpp"
+#line 2598 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 445 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2601 "engines/director/lingo/lingo-gr.cpp"
+#line 2604 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 446 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2607 "engines/director/lingo/lingo-gr.cpp"
+#line 2610 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2613 "engines/director/lingo/lingo-gr.cpp"
+#line 2616 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2619 "engines/director/lingo/lingo-gr.cpp"
+#line 2622 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2634 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 453 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 454 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2652 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 455 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2655 "engines/director/lingo/lingo-gr.cpp"
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
@@ -2659,227 +2662,239 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2663 "engines/director/lingo/lingo-gr.cpp"
+#line 2666 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2669 "engines/director/lingo/lingo-gr.cpp"
+#line 2672 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2675 "engines/director/lingo/lingo-gr.cpp"
+#line 2678 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2681 "engines/director/lingo/lingo-gr.cpp"
+#line 2684 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2687 "engines/director/lingo/lingo-gr.cpp"
+#line 2690 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2693 "engines/director/lingo/lingo-gr.cpp"
+#line 2696 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 109:
+#line 468 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->_indef = kStateInArgs; }
+#line 2702 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 110:
+#line 468 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->_indef = kStateNone; }
+#line 2708 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
+ case 112:
#line 470 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2701 "engines/director/lingo/lingo-gr.cpp"
+#line 2716 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
+ case 113:
#line 473 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2709 "engines/director/lingo/lingo-gr.cpp"
+#line 2724 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
+ case 114:
#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2715 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
+ case 115:
#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2721 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
+ case 116:
#line 479 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2730 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116:
+ case 117:
#line 483 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2739 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
+ case 118:
#line 488 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2748 "engines/director/lingo/lingo-gr.cpp"
+#line 2763 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
+ case 119:
#line 492 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
+ case 120:
#line 497 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2781 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
+ case 121:
#line 501 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2775 "engines/director/lingo/lingo-gr.cpp"
+#line 2790 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
+ case 122:
#line 513 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2781 "engines/director/lingo/lingo-gr.cpp"
+#line 2796 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
+ case 123:
#line 514 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2787 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
+ case 124:
#line 515 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2793 "engines/director/lingo/lingo-gr.cpp"
+#line 2808 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
+ case 125:
#line 516 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2802 "engines/director/lingo/lingo-gr.cpp"
+#line 2817 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
+ case 126:
#line 520 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2811 "engines/director/lingo/lingo-gr.cpp"
+#line 2826 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
+ case 127:
#line 524 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2835 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
+ case 130:
#line 532 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2826 "engines/director/lingo/lingo-gr.cpp"
+#line 2841 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
+ case 131:
#line 533 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2835 "engines/director/lingo/lingo-gr.cpp"
+#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
+ case 132:
#line 537 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2844 "engines/director/lingo/lingo-gr.cpp"
+#line 2859 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
+ case 133:
#line 541 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2853 "engines/director/lingo/lingo-gr.cpp"
+#line 2868 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
+ case 134:
#line 545 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2859 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
+ case 135:
#line 545 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2868 "engines/director/lingo/lingo-gr.cpp"
+#line 2883 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
+ case 136:
#line 575 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2889 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
+ case 137:
#line 575 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2880 "engines/director/lingo/lingo-gr.cpp"
+#line 2895 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
+ case 138:
#line 576 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
@@ -2887,22 +2902,22 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2891 "engines/director/lingo/lingo-gr.cpp"
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
+ case 139:
#line 582 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2897 "engines/director/lingo/lingo-gr.cpp"
+#line 2912 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
+ case 140:
#line 583 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2903 "engines/director/lingo/lingo-gr.cpp"
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
+ case 141:
#line 584 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
@@ -2910,10 +2925,10 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2914 "engines/director/lingo/lingo-gr.cpp"
+#line 2929 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
+ case 142:
#line 590 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
@@ -2925,10 +2940,10 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2929 "engines/director/lingo/lingo-gr.cpp"
+#line 2944 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
+ case 143:
#line 600 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
@@ -2937,64 +2952,64 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2941 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
+ case 144:
#line 608 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2947 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
+ case 145:
#line 608 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2953 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
+ case 146:
#line 610 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2959 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
+ case 147:
#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2965 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
+ case 148:
#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2971 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
+ case 149:
#line 613 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 2977 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
+ case 151:
#line 616 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2983 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
+ case 152:
#line 617 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2989 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
+ case 153:
#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 2995 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
+ case 154:
#line 621 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
@@ -3003,113 +3018,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3007 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
+ case 155:
#line 629 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3013 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
+ case 156:
#line 630 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3019 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
+ case 157:
#line 631 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3025 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
+ case 158:
#line 633 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3031 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
+ case 159:
#line 634 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3037 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
+ case 160:
#line 636 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3043 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
+ case 161:
#line 638 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3049 "engines/director/lingo/lingo-gr.cpp"
+#line 3064 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
+ case 162:
#line 639 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3055 "engines/director/lingo/lingo-gr.cpp"
+#line 3070 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
+ case 163:
#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3061 "engines/director/lingo/lingo-gr.cpp"
+#line 3076 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
+ case 164:
#line 641 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3067 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
+ case 165:
#line 643 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3073 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
+ case 166:
#line 644 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3079 "engines/director/lingo/lingo-gr.cpp"
+#line 3094 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
+ case 167:
#line 646 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3085 "engines/director/lingo/lingo-gr.cpp"
+#line 3100 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
+ case 168:
#line 647 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3091 "engines/director/lingo/lingo-gr.cpp"
+#line 3106 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
+ case 169:
#line 649 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3115 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
+ case 170:
#line 653 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3109 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3113 "engines/director/lingo/lingo-gr.cpp"
+#line 3128 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index f35e9c2..5133d90 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -465,7 +465,7 @@ proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
| tEXIT tREPEAT { g_lingo->code1(LC::c_exitRepeat); }
| tEXIT { g_lingo->code1(LC::c_procret); }
| tGLOBAL { g_lingo->_indef = kStateInArgs; } globallist { g_lingo->_indef = kStateNone; }
- | tPROPERTY propertylist
+ | tPROPERTY { g_lingo->_indef = kStateInArgs; } propertylist { g_lingo->_indef = kStateNone; }
| tINSTANCE instancelist
| BLTIN '(' arglist ')' {
g_lingo->codeFunc($BLTIN, $arglist);
Commit: 13049abaff36e76c8b3937c5f1c1e03b3fe69b79
https://github.com/scummvm/scummvm/commit/13049abaff36e76c8b3937c5f1c1e03b3fe69b79
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:26:25+01:00
Commit Message:
DIRECTOR: LINGO: Arrays could be initialized with expressions
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index b56fdf2..2248558 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -567,7 +567,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 126
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1592
+#define YYLAST 1658
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 99
@@ -701,7 +701,7 @@ static const yytype_int16 yytoknum[] =
};
# endif
-#define YYPACT_NINF (-273)
+#define YYPACT_NINF (-269)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -715,43 +715,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 307, -78, -273, -273, 896, -273, 929, 1008, 65, 1041,
- -273, -273, -273, -273, -273, -25, -273, 781, -273, -273,
- -8, 896, 41, 97, 21, 38, 896, 817, 53, 896,
- 896, 896, 896, 896, 896, 896, -273, -273, 896, 896,
- 896, 82, 7, -273, -273, -273, -273, -273, 896, 42,
- 896, 623, -273, 1489, -273, -273, -273, -273, -273, -273,
- -273, -273, -273, -273, -7, 896, 1489, 896, 1489, 3,
- 896, 3, -273, -273, 896, 1489, 11, 896, -273, -273,
- 110, -273, 896, -273, 75, -273, 1093, -273, 128, -273,
- 1080, 130, -273, -10, 65, 65, 5, 105, 107, -273,
- 149, -273, 1093, -273, -273, 61, -273, 1142, 1175, 1208,
- 1241, 1456, 1406, 135, 138, -273, -273, 1419, 67, 68,
- -273, -273, 70, 78, 79, -273, -273, 386, 1489, 896,
- 1489, -273, -273, 896, 1489, -273, -273, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 148, 896, 1080, 1419, -43, 896,
- 26, 28, 896, 3, 148, -273, 86, 1489, 896, -273,
- -273, 37, 896, 896, -273, 896, 896, 24, 150, 896,
- 896, 896, -273, 896, -273, 171, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, -273, -273, -273, 99,
- -273, -273, 65, 65, -273, 65, 93, -273, -273, 1489,
- 151, -273, 1489, 163, 163, 163, 163, 1502, 1502, -273,
- -33, 163, 163, 163, 163, -33, -49, -49, -273, -273,
- -273, -71, -273, 1489, -273, -273, 1489, -28, 173, 1489,
- -273, -273, -273, 1489, 1489, 1489, 163, 896, 896, 174,
- 1489, 163, 1489, 1489, -273, 1489, 1274, 1489, 1307, 1489,
- 1340, 1489, 1373, 1489, 1489, 702, -273, 175, -273, -273,
- -273, 67, 68, -273, 544, -15, -273, 153, 106, 180,
- 106, -273, 148, 1489, 163, 65, 896, 896, 896, 896,
- -273, 544, -273, -273, -273, 123, 165, 896, 544, 702,
- 193, -273, -273, -273, -24, 168, 1489, 1489, 1489, 1489,
- -273, 137, -273, 896, 1489, -273, -273, -273, 465, 544,
- 106, 896, -273, 1489, -273, 96, -19, 199, -273, 1489,
- -273, 544, -273, -273, -273, 896, 141, -273, -273, -273,
- 131, 544, 544, 143, -273, 1489, -273, 702, 201, 145,
- -273, 544, 182, -273, -273, -273, 161, -273, 164, -273,
- 544, -273, -273
+ 307, -82, -269, -269, 981, -269, 1014, 1093, 31, 1126,
+ -269, -269, -269, -269, -269, -26, -269, 866, -269, -269,
+ 10, 981, 47, 220, 18, 35, 981, 902, 55, 981,
+ 981, 981, 981, 981, 981, 981, -269, -269, 981, 981,
+ 981, 386, 7, -269, -269, -269, -269, -269, 981, 25,
+ 981, 708, -269, 1555, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -2, 981, 1555, 981, 1555, -6,
+ 981, -6, -269, -269, 981, 1555, 37, 981, -269, -269,
+ 87, -269, 981, -269, 72, -269, 378, -269, 100, -269,
+ 144, 104, -269, 0, 31, 31, 14, 80, 103, -269,
+ 1472, -269, 378, -269, -269, 57, -269, 1167, 1200, 1233,
+ 1266, 1522, 1431, 131, 132, -269, -269, 1485, 58, 59,
+ -269, 1555, 64, 68, 70, -269, -269, 471, 1555, 981,
+ 1555, -269, -269, 981, 1555, -269, -269, 981, 981, 981,
+ 981, 981, 981, 981, 981, 981, 981, 981, 981, 981,
+ 981, 981, 981, 981, 145, 981, 144, 1485, -30, 981,
+ 24, 26, 981, -6, 145, -269, 75, 1555, 981, -269,
+ -269, 29, 981, 981, -269, 981, 981, 23, 136, 981,
+ 981, 981, -269, 981, -269, 151, 981, 981, 981, 981,
+ 981, 981, 981, 981, 981, 981, -269, -269, -269, 79,
+ -269, -269, 31, 31, -269, 981, -5, -269, -269, 1555,
+ 133, -269, 1555, 27, 27, 27, 27, 1568, 1568, -269,
+ 17, 27, 27, 27, 27, 17, -51, -51, -269, -269,
+ -269, -71, -269, 1555, -269, -269, 1555, -20, 170, 1555,
+ -269, -269, -269, 1555, 1555, 1555, 27, 981, 981, 171,
+ 1555, 27, 1555, 1555, -269, 1555, 1299, 1555, 1332, 1555,
+ 1365, 1555, 1398, 1555, 1555, 787, -269, 172, -269, -269,
+ 1555, 58, 59, -269, 629, 11, -269, 150, 105, 176,
+ 105, -269, 145, 1555, 27, 31, 981, 981, 981, 981,
+ -269, 629, -269, -269, -269, 117, 160, 981, 629, 787,
+ 193, -269, -269, -269, 16, 168, 1555, 1555, 1555, 1555,
+ -269, 134, -269, 981, 1555, -269, -269, -269, 550, 629,
+ 105, 981, -269, 1555, -269, 99, -23, 196, -269, 1555,
+ -269, 629, -269, -269, -269, 981, 138, -269, -269, -269,
+ 125, 629, 629, 139, -269, 1555, -269, 787, 200, 141,
+ -269, 629, 178, -269, -269, -269, 146, -269, 157, -269,
+ 629, -269, -269
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -801,12 +801,12 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -273, -273, 103, -273, -254, -273, 4, 35, -273, -273,
- -273, -273, -273, -273, 195, -273, -77, -50, -227, -273,
- 1, -4, -273, 76, 203, -273, -273, -273, -273, -273,
- -273, -17, -273, -273, -273, -273, -273, -273, -273, -273,
- -158, -273, -272, 205, 12, -273, -273, -273, -273, -273,
- 51
+ -269, -269, 112, -269, -254, -269, 33, 48, -269, -269,
+ -269, -269, -269, -269, 175, -269, -74, -50, -234, -269,
+ -7, -4, -269, 76, 195, -269, -269, -269, -269, -269,
+ -269, -18, -269, -269, -269, -269, -269, -269, -269, -269,
+ -158, -269, -268, 199, 9, -269, -269, -269, -269, -269,
+ 45
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -825,35 +825,35 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 66, 164, 68, 68, 46, 75, 237, 126, 303, 73,
- 103, 290, 337, 86, 63, 296, 143, 90, 69, 71,
- 79, 278, 100, 102, 279, 106, 107, 108, 109, 110,
- 111, 112, 143, 297, 115, 116, 117, 89, 175, 291,
- 152, 153, 121, 98, 128, 316, 130, 134, 328, 298,
- 176, 232, 159, 179, 150, 151, 152, 153, 8, 241,
- 99, 156, 338, 157, 280, 180, 157, 279, 320, 169,
- 157, 279, 247, 68, 318, 104, 319, 2, 167, 158,
- 210, 211, 160, 5, 248, 184, 155, 72, 10, 163,
- 11, 91, 92, 353, 2, 177, 178, 331, 159, 127,
- 5, 341, 129, 342, 72, 118, 162, 119, 30, 31,
- 32, 33, 93, 94, 95, 168, 271, 351, 272, 96,
- 234, 159, 235, 159, 304, 209, 97, 332, 333, 212,
- 360, 46, 165, 213, 214, 215, 216, 217, 218, 219,
+ 66, 73, 68, 68, 164, 75, 237, 126, 337, 103,
+ 63, 290, 303, 86, 143, 69, 71, 90, 271, 79,
+ 272, 278, 100, 102, 279, 106, 107, 108, 109, 110,
+ 111, 112, 291, 46, 115, 116, 117, 121, 152, 153,
+ 98, 296, 298, 2, 128, 316, 130, 134, 175, 5,
+ 8, 241, 328, 72, 10, 89, 11, 99, 338, 297,
+ 176, 156, 179, 157, 232, 159, 157, 318, 169, 319,
+ 157, 247, 280, 68, 180, 279, 158, 104, 167, 160,
+ 210, 211, 143, 248, 184, 129, 163, 177, 178, 159,
+ 331, 155, 143, 353, 341, 144, 342, 91, 92, 127,
+ 30, 31, 32, 33, 150, 151, 152, 153, 320, 165,
+ 351, 279, 168, 149, 150, 151, 152, 153, 234, 159,
+ 235, 159, 170, 360, 304, 209, 174, 41, 181, 212,
+ 332, 333, 162, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 170, 68, 174, 181, 182, 233, 185, 198, 236, 275,
- 200, 41, 277, 282, 239, 202, 203, 204, 243, 244,
- 230, 245, 246, 205, 206, 250, 251, 252, 41, 253,
- 120, 238, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 249, 254, 267, 281, 285, 292, 276, 183,
- 299, 300, 302, 268, 269, 312, 270, 137, 138, 139,
- 140, 141, 142, 313, 143, 317, 321, 144, 145, 146,
- 322, 339, 346, 354, 295, 350, 348, 355, 143, 357,
- 207, 144, 266, 147, 148, 149, 150, 151, 152, 153,
- 310, 311, 359, 283, 284, 361, 133, 242, 315, 149,
- 150, 151, 152, 153, 135, 344, 136, 273, 0, 0,
- 347, 0, 0, 0, 324, 0, 326, 0, 0, 0,
- 0, 0, 0, 330, 0, 336, 0, 0, 0, 0,
- 0, 343, 306, 307, 308, 309, 305, 0, 0, 0,
+ 182, 68, 185, 198, 200, 233, 202, 203, 236, 275,
+ 46, 204, 277, 205, 239, 206, 282, 230, 243, 244,
+ 238, 245, 246, 254, 267, 250, 251, 252, 249, 253,
+ 276, 171, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 281, 285, 292, 268, 269, 299, 302, 312,
+ 300, 270, 137, 138, 139, 140, 141, 142, 313, 143,
+ 172, 173, 144, 145, 146, 317, 321, 322, 339, 346,
+ 348, 350, 354, 355, 295, 357, 133, 359, 147, 148,
+ 149, 150, 151, 152, 153, 93, 94, 95, 361, 207,
+ 310, 311, 96, 283, 284, 266, 135, 242, 315, 97,
+ 136, 273, 0, 0, 0, 0, 0, 0, 344, 0,
+ 0, 0, 0, 347, 324, 0, 326, 0, 0, 0,
+ 0, 0, 0, 330, 0, 336, 0, 0, 305, 0,
+ 0, 343, 306, 307, 308, 309, 0, 0, 0, 0,
0, 0, 349, 314, 0, 352, 0, 0, 0, 0,
0, 356, 0, 358, 0, 0, 0, -5, 1, 323,
362, 0, 0, 0, 0, 0, 0, 329, 0, 2,
@@ -865,159 +865,165 @@ static const yytype_int16 yytable[] =
0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
32, 33, 34, 0, 0, 35, 36, 37, 0, 0,
0, 0, 0, 0, 38, 39, 0, 0, 2, -5,
- 40, 3, 4, 41, 5, 6, 7, 8, 9, 10,
- 0, 11, 0, 12, 13, 14, 0, 0, 0, 15,
- 16, 17, 18, 0, 0, 19, 0, 20, 0, 0,
- 21, 22, 23, 0, 0, 24, 0, 0, 0, 25,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 40, 3, 4, 41, 5, 0, 7, 8, 64, 118,
+ 0, 119, 0, 0, 0, 14, 0, 0, 82, 0,
+ 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65, 0, 23, 0, 0, 0, 137, 138, 139, 140,
+ 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 35, 36, 37, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
- 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 327, 12, 0, 14, 0, 0, 0, 15, 16,
- 17, 18, 0, 0, 0, 0, 20, 0, 0, 21,
- 22, 23, 0, 0, 24, 0, 0, 0, 0, 26,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 29,
- 0, 0, 0, 0, 0, 0, 30, 31, 32, 33,
- 34, 0, 0, 35, 36, 0, 0, 0, 0, 0,
- 0, 0, 38, 39, 0, 0, 2, 293, 40, 3,
- 4, 41, 5, 6, 7, 8, 9, 10, 0, 11,
- 0, 12, 0, 14, 0, 0, 0, 15, 16, 17,
- 18, 0, 0, 0, 0, 20, 0, 0, 21, 22,
- 23, 0, 0, 24, 0, 0, 0, 0, 26, 27,
- 0, 28, 0, 0, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 0, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 2, 293, 40, 3, 4,
- 41, 5, 6, 7, 8, 9, 10, 0, 11, 0,
- 12, 0, 14, 0, 0, 0, 15, 16, 17, 18,
- 0, 0, 0, 0, 0, 0, 0, 21, 0, 23,
- 0, 0, 0, 0, 0, 0, 0, 26, 27, 0,
- 28, 0, 0, 0, 0, 0, 0, 29, 0, 0,
- 0, 0, 0, 0, 30, 31, 32, 33, 34, 0,
- 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
- 38, 39, 0, 0, 2, 0, 40, 3, 4, 41,
- 5, 6, 7, 8, 9, 10, 0, 11, 0, 12,
- 0, 14, 0, 0, 0, 15, 16, 17, 0, 0,
- 0, 0, 0, 0, 0, 0, 21, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 26, 27, 0, 28,
- 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
- 0, 36, 0, 0, 0, 0, 0, 0, 0, 38,
- 39, 0, 0, 2, 0, 40, 3, 4, 41, 5,
- 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 81,
- 0, 82, 83, 84, 85, 65, 0, 23, 0, 2,
- 0, 0, 3, 4, 0, 5, 0, 7, 8, 64,
- 10, 0, 11, 0, 0, 29, 14, 0, 0, 0,
- 0, 0, 30, 31, 32, 33, 34, 82, 0, 84,
- 0, 65, 0, 23, 0, 0, 0, 0, 38, 39,
- 0, 0, 0, 101, 40, 0, 0, 41, 0, 0,
+ 33, 34, 147, 148, 149, 150, 151, 152, 153, 0,
+ 0, 0, 0, 38, 39, 0, 0, 0, 0, 40,
+ 0, 0, 41, 2, 120, 0, 3, 4, 0, 5,
+ 6, 7, 8, 9, 10, 0, 11, 0, 12, 13,
+ 14, 0, 0, 0, 15, 16, 17, 18, 0, 0,
+ 19, 0, 20, 0, 0, 21, 22, 23, 0, 0,
+ 24, 0, 0, 0, 25, 26, 27, 0, 28, 0,
+ 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
+ 0, 0, 30, 31, 32, 33, 34, 0, 0, 35,
+ 36, 37, 0, 0, 0, 0, 0, 0, 38, 39,
+ 0, 0, 2, 0, 40, 3, 4, 41, 5, 6,
+ 7, 8, 9, 10, 0, 11, 327, 12, 0, 14,
+ 0, 0, 0, 15, 16, 17, 18, 0, 0, 0,
+ 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
+ 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
+ 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, 293, 40, 3, 4, 41, 5, 6, 7,
+ 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
+ 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
+ 20, 0, 0, 21, 22, 23, 0, 0, 24, 0,
+ 0, 0, 0, 26, 27, 0, 28, 0, 0, 0,
+ 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+ 30, 31, 32, 33, 34, 0, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 0, 38, 39, 0, 0,
+ 2, 293, 40, 3, 4, 41, 5, 6, 7, 8,
+ 9, 10, 0, 11, 0, 12, 0, 14, 0, 0,
+ 0, 15, 16, 17, 18, 0, 0, 0, 0, 0,
+ 0, 0, 21, 0, 23, 0, 0, 0, 0, 0,
+ 0, 0, 26, 27, 0, 28, 0, 0, 0, 0,
+ 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 31, 32, 33, 34, 0, 0, 0, 36, 0, 0,
+ 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
+ 0, 40, 3, 4, 41, 5, 6, 7, 8, 9,
+ 10, 0, 11, 0, 12, 0, 14, 0, 0, 0,
+ 15, 16, 17, 0, 0, 0, 0, 0, 0, 0,
+ 0, 21, 0, 23, 0, 0, 0, 0, 0, 0,
+ 0, 26, 27, 0, 28, 0, 0, 0, 0, 0,
0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 0, 0, 0,
+ 32, 33, 34, 0, 0, 0, 36, 0, 0, 0,
0, 0, 0, 0, 38, 39, 0, 0, 2, 0,
40, 3, 4, 41, 5, 0, 7, 8, 64, 10,
0, 11, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
+ 65, 0, 23, 0, 2, 0, 0, 3, 4, 0,
+ 5, 0, 7, 8, 64, 10, 0, 11, 0, 0,
+ 29, 14, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 82, 0, 84, 0, 65, 0, 23, 0,
+ 0, 0, 0, 38, 39, 0, 0, 0, 101, 40,
+ 0, 0, 41, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+ 39, 0, 0, 2, 0, 40, 3, 4, 41, 5,
+ 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 65, 2, 23, 0, 3,
+ 4, 0, 5, 0, 7, 8, 64, 10, 0, 11,
+ 0, 0, 0, 14, 0, 29, 0, 0, 0, 0,
+ 0, 0, 30, 31, 32, 33, 34, 0, 65, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 38, 39,
+ 0, 0, 0, 0, 40, 0, 0, 41, 29, 0,
+ 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 2, 23, 0, 3, 4, 0, 5, 0, 7,
- 8, 64, 10, 0, 11, 0, 0, 0, 14, 0,
+ 0, 38, 39, 0, 0, 2, 0, 67, 3, 4,
+ 41, 5, 0, 7, 8, 64, 10, 0, 11, 0,
+ 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 65, 2, 23,
+ 0, 3, 4, 0, 5, 0, 7, 8, 64, 10,
+ 0, 11, 0, 0, 0, 14, 0, 29, 0, 0,
+ 0, 0, 0, 0, 30, 31, 32, 33, 34, 0,
+ 65, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 38, 39, 0, 0, 0, 0, 70, 0, 0, 41,
29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 65, 0, 23, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 0, 0, 40,
- 0, 0, 41, 29, 0, 0, 0, 0, 0, 0,
- 30, 31, 32, 33, 34, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 38, 39, 0, 0,
- 2, 0, 67, 3, 4, 41, 5, 0, 7, 8,
- 64, 10, 0, 11, 0, 0, 0, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 65, 2, 23, 0, 3, 4, 0, 5,
- 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
- 14, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 65, 0, 23, 0, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
- 0, 70, 0, 0, 41, 29, 0, 0, 0, 0,
- 0, 0, 30, 31, 32, 33, 34, 171, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 39,
- 0, 0, 0, 82, 74, 84, 0, 41, 137, 138,
- 139, 140, 141, 142, 0, 143, 172, 173, 144, 145,
- 146, 137, 138, 139, 140, 141, 142, 0, 143, 0,
- 0, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 0, 0, 0, 0, 0, 0, 147, 148, 149,
- 150, 151, 152, 153, 186, 0, 0, 0, 0, 0,
- 187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
- 144, 145, 146, 0, 0, 0, 0, 188, 0, 0,
- 0, 0, 0, 189, 0, 0, 147, 148, 149, 150,
- 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
- 143, 0, 0, 144, 145, 146, 0, 0, 0, 0,
- 190, 0, 0, 0, 0, 0, 191, 0, 0, 147,
- 148, 149, 150, 151, 152, 153, 137, 138, 139, 140,
- 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
- 0, 0, 0, 192, 0, 0, 0, 0, 0, 193,
- 0, 0, 147, 148, 149, 150, 151, 152, 153, 137,
- 138, 139, 140, 141, 142, 0, 143, 0, 0, 144,
- 145, 146, 0, 0, 0, 0, 286, 0, 0, 0,
- 0, 0, 0, 0, 0, 147, 148, 149, 150, 151,
- 152, 153, 137, 138, 139, 140, 141, 142, 0, 143,
- 0, 0, 144, 145, 146, 0, 0, 0, 0, 287,
- 0, 0, 0, 0, 0, 0, 0, 0, 147, 148,
- 149, 150, 151, 152, 153, 137, 138, 139, 140, 141,
+ 33, 34, 0, 0, 0, 0, 0, 0, 0, 186,
+ 0, 0, 0, 38, 39, 187, 0, 0, 0, 74,
+ 0, 0, 41, 0, 0, 137, 138, 139, 140, 141,
142, 0, 143, 0, 0, 144, 145, 146, 0, 0,
- 0, 0, 288, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 188, 0, 0, 0, 0, 0, 189, 0,
0, 147, 148, 149, 150, 151, 152, 153, 137, 138,
139, 140, 141, 142, 0, 143, 0, 0, 144, 145,
- 146, 0, 0, 0, 0, 289, 0, 0, 0, 0,
- 0, 0, 0, 0, 147, 148, 149, 150, 151, 152,
+ 146, 0, 0, 0, 0, 190, 0, 0, 0, 0,
+ 0, 191, 0, 0, 147, 148, 149, 150, 151, 152,
153, 137, 138, 139, 140, 141, 142, 0, 143, 0,
- 0, 144, 145, 146, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 196, 0, 0, 147, 148, 149,
+ 0, 144, 145, 146, 0, 0, 0, 0, 192, 0,
+ 0, 0, 0, 0, 193, 0, 0, 147, 148, 149,
150, 151, 152, 153, 137, 138, 139, 140, 141, 142,
- 0, 143, 0, 0, 144, 145, 146, 137, 138, 139,
- 140, 141, 142, 0, 143, 0, 0, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 0, 197, 0,
- 0, 0, 0, 147, 148, 149, 150, 151, 152, 153,
- 0, 0, 0, 201, 137, 138, 139, 140, 141, 142,
0, 143, 0, 0, 144, 145, 146, 0, 0, 0,
- 0, 0, 194, 195, 0, 0, 0, 0, 0, 0,
+ 0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
147, 148, 149, 150, 151, 152, 153, 137, 138, 139,
140, 141, 142, 0, 143, 0, 0, 144, 145, 146,
- 137, 138, 139, 140, 0, 0, 0, 143, 0, 0,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 0, 0, 0, 0, 287, 0, 0, 0, 0, 0,
+ 0, 0, 0, 147, 148, 149, 150, 151, 152, 153,
+ 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
+ 144, 145, 146, 0, 0, 0, 0, 288, 0, 0,
0, 0, 0, 0, 0, 0, 147, 148, 149, 150,
- 151, 152, 153
+ 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
+ 143, 0, 0, 144, 145, 146, 0, 0, 0, 0,
+ 289, 0, 0, 0, 0, 0, 0, 0, 0, 147,
+ 148, 149, 150, 151, 152, 153, 137, 138, 139, 140,
+ 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 196,
+ 0, 0, 147, 148, 149, 150, 151, 152, 153, 137,
+ 138, 139, 140, 141, 142, 0, 143, 0, 0, 144,
+ 145, 146, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 147, 148, 149, 150, 151,
+ 152, 153, 183, 197, 0, 0, 0, 0, 0, 0,
+ 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
+ 144, 145, 146, 137, 138, 139, 140, 141, 142, 0,
+ 143, 0, 0, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 0, 0, 0, 0, 0, 0, 147,
+ 148, 149, 150, 151, 152, 153, 0, 0, 0, 201,
+ 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
+ 144, 145, 146, 0, 0, 0, 0, 0, 194, 195,
+ 0, 0, 0, 0, 0, 0, 147, 148, 149, 150,
+ 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
+ 143, 0, 0, 144, 145, 146, 137, 138, 139, 140,
+ 0, 0, 0, 143, 0, 0, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 0, 0, 0, 0,
+ 0, 0, 147, 148, 149, 150, 151, 152, 153
};
static const yytype_int16 yycheck[] =
{
- 4, 78, 6, 7, 0, 9, 164, 0, 280, 8,
- 27, 265, 31, 17, 92, 30, 65, 21, 6, 7,
- 45, 92, 26, 27, 95, 29, 30, 31, 32, 33,
- 34, 35, 65, 48, 38, 39, 40, 45, 48, 266,
- 89, 90, 41, 22, 48, 299, 50, 51, 320, 276,
- 60, 94, 95, 48, 87, 88, 89, 90, 21, 22,
- 22, 65, 81, 67, 92, 60, 70, 95, 92, 86,
- 74, 95, 48, 77, 301, 22, 303, 12, 82, 67,
- 130, 131, 70, 18, 60, 102, 93, 22, 23, 77,
- 25, 50, 51, 347, 12, 94, 95, 324, 95, 92,
- 18, 328, 60, 330, 22, 23, 95, 25, 71, 72,
- 73, 74, 15, 16, 17, 40, 23, 344, 25, 22,
- 94, 95, 94, 95, 282, 129, 29, 31, 32, 133,
- 357, 127, 22, 137, 138, 139, 140, 141, 142, 143,
+ 4, 8, 6, 7, 78, 9, 164, 0, 31, 27,
+ 92, 265, 280, 17, 65, 6, 7, 21, 23, 45,
+ 25, 92, 26, 27, 95, 29, 30, 31, 32, 33,
+ 34, 35, 266, 0, 38, 39, 40, 41, 89, 90,
+ 22, 30, 276, 12, 48, 299, 50, 51, 48, 18,
+ 21, 22, 320, 22, 23, 45, 25, 22, 81, 48,
+ 60, 65, 48, 67, 94, 95, 70, 301, 86, 303,
+ 74, 48, 92, 77, 60, 95, 67, 22, 82, 70,
+ 130, 131, 65, 60, 102, 60, 77, 94, 95, 95,
+ 324, 93, 65, 347, 328, 68, 330, 50, 51, 92,
+ 71, 72, 73, 74, 87, 88, 89, 90, 92, 22,
+ 344, 95, 40, 86, 87, 88, 89, 90, 94, 95,
+ 94, 95, 22, 357, 282, 129, 22, 96, 48, 133,
+ 31, 32, 95, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 22, 155, 22, 48, 47, 159, 95, 22, 162, 209,
- 22, 96, 212, 240, 168, 98, 98, 97, 172, 173,
- 22, 175, 176, 95, 95, 179, 180, 181, 96, 183,
- 98, 95, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 42, 22, 95, 22, 22, 22, 47, 50,
- 47, 95, 22, 202, 203, 82, 205, 58, 59, 60,
- 61, 62, 63, 48, 65, 22, 48, 68, 69, 70,
- 83, 22, 81, 22, 274, 82, 95, 82, 65, 47,
- 127, 68, 197, 84, 85, 86, 87, 88, 89, 90,
- 290, 291, 81, 247, 248, 81, 51, 171, 298, 86,
- 87, 88, 89, 90, 51, 332, 51, 206, -1, -1,
- 337, -1, -1, -1, 314, -1, 316, -1, -1, -1,
- -1, -1, -1, 323, -1, 325, -1, -1, -1, -1,
- -1, 331, 286, 287, 288, 289, 285, -1, -1, -1,
+ 47, 155, 95, 22, 22, 159, 98, 98, 162, 209,
+ 127, 97, 212, 95, 168, 95, 240, 22, 172, 173,
+ 95, 175, 176, 22, 95, 179, 180, 181, 42, 183,
+ 47, 37, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 22, 22, 22, 202, 203, 47, 22, 82,
+ 95, 205, 58, 59, 60, 61, 62, 63, 48, 65,
+ 66, 67, 68, 69, 70, 22, 48, 83, 22, 81,
+ 95, 82, 22, 82, 274, 47, 51, 81, 84, 85,
+ 86, 87, 88, 89, 90, 15, 16, 17, 81, 127,
+ 290, 291, 22, 247, 248, 197, 51, 171, 298, 29,
+ 51, 206, -1, -1, -1, -1, -1, -1, 332, -1,
+ -1, -1, -1, 337, 314, -1, 316, -1, -1, -1,
+ -1, -1, -1, 323, -1, 325, -1, -1, 285, -1,
+ -1, 331, 286, 287, 288, 289, -1, -1, -1, -1,
-1, -1, 342, 297, -1, 345, -1, -1, -1, -1,
-1, 351, -1, 353, -1, -1, -1, 0, 1, 313,
360, -1, -1, -1, -1, -1, -1, 321, -1, 12,
@@ -1029,126 +1035,132 @@ static const yytype_int16 yycheck[] =
-1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
73, 74, 75, -1, -1, 78, 79, 80, -1, -1,
-1, -1, -1, -1, 87, 88, -1, -1, 12, 92,
- 93, 15, 16, 96, 18, 19, 20, 21, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, -1, -1, 33,
- 34, 35, 36, -1, -1, 39, -1, 41, -1, -1,
- 44, 45, 46, -1, -1, 49, -1, -1, -1, 53,
- 54, 55, -1, 57, -1, -1, -1, -1, -1, -1,
+ 93, 15, 16, 96, 18, -1, 20, 21, 22, 23,
+ -1, 25, -1, -1, -1, 29, -1, -1, 40, -1,
+ 42, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 44, -1, 46, -1, -1, -1, 58, 59, 60, 61,
+ 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, -1, 87, 88, -1, -1, 12, -1, 93,
- 15, 16, 96, 18, 19, 20, 21, 22, 23, -1,
- 25, 26, 27, -1, 29, -1, -1, -1, 33, 34,
- 35, 36, -1, -1, -1, -1, 41, -1, -1, 44,
- 45, 46, -1, -1, 49, -1, -1, -1, -1, 54,
- 55, -1, 57, -1, -1, -1, -1, -1, -1, 64,
- -1, -1, -1, -1, -1, -1, 71, 72, 73, 74,
- 75, -1, -1, 78, 79, -1, -1, -1, -1, -1,
- -1, -1, 87, 88, -1, -1, 12, 92, 93, 15,
- 16, 96, 18, 19, 20, 21, 22, 23, -1, 25,
- -1, 27, -1, 29, -1, -1, -1, 33, 34, 35,
- 36, -1, -1, -1, -1, 41, -1, -1, 44, 45,
- 46, -1, -1, 49, -1, -1, -1, -1, 54, 55,
- -1, 57, -1, -1, -1, -1, -1, -1, 64, -1,
- -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
- -1, -1, 78, 79, -1, -1, -1, -1, -1, -1,
- -1, 87, 88, -1, -1, 12, 92, 93, 15, 16,
- 96, 18, 19, 20, 21, 22, 23, -1, 25, -1,
- 27, -1, 29, -1, -1, -1, 33, 34, 35, 36,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, 46,
- -1, -1, -1, -1, -1, -1, -1, 54, 55, -1,
- 57, -1, -1, -1, -1, -1, -1, 64, -1, -1,
- -1, -1, -1, -1, 71, 72, 73, 74, 75, -1,
- -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
- 87, 88, -1, -1, 12, -1, 93, 15, 16, 96,
- 18, 19, 20, 21, 22, 23, -1, 25, -1, 27,
- -1, 29, -1, -1, -1, 33, 34, 35, -1, -1,
- -1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
- -1, -1, -1, -1, -1, -1, 54, 55, -1, 57,
- -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
- -1, -1, -1, 71, 72, 73, 74, 75, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, 87,
- 88, -1, -1, 12, -1, 93, 15, 16, 96, 18,
- -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
- 29, -1, -1, -1, -1, -1, -1, -1, -1, 38,
- -1, 40, 41, 42, 43, 44, -1, 46, -1, 12,
- -1, -1, 15, 16, -1, 18, -1, 20, 21, 22,
- 23, -1, 25, -1, -1, 64, 29, -1, -1, -1,
- -1, -1, 71, 72, 73, 74, 75, 40, -1, 42,
- -1, 44, -1, 46, -1, -1, -1, -1, 87, 88,
- -1, -1, -1, 56, 93, -1, -1, 96, -1, -1,
+ 74, 75, 84, 85, 86, 87, 88, 89, 90, -1,
+ -1, -1, -1, 87, 88, -1, -1, -1, -1, 93,
+ -1, -1, 96, 12, 98, -1, 15, 16, -1, 18,
+ 19, 20, 21, 22, 23, -1, 25, -1, 27, 28,
+ 29, -1, -1, -1, 33, 34, 35, 36, -1, -1,
+ 39, -1, 41, -1, -1, 44, 45, 46, -1, -1,
+ 49, -1, -1, -1, 53, 54, 55, -1, 57, -1,
+ -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
+ -1, -1, 71, 72, 73, 74, 75, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, -1, 87, 88,
+ -1, -1, 12, -1, 93, 15, 16, 96, 18, 19,
+ 20, 21, 22, 23, -1, 25, 26, 27, -1, 29,
+ -1, -1, -1, 33, 34, 35, 36, -1, -1, -1,
+ -1, 41, -1, -1, 44, 45, 46, -1, -1, 49,
+ -1, -1, -1, -1, 54, 55, -1, 57, -1, -1,
+ -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
+ -1, 71, 72, 73, 74, 75, -1, -1, 78, 79,
+ -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
+ -1, 12, 92, 93, 15, 16, 96, 18, 19, 20,
+ 21, 22, 23, -1, 25, -1, 27, -1, 29, -1,
+ -1, -1, 33, 34, 35, 36, -1, -1, -1, -1,
+ 41, -1, -1, 44, 45, 46, -1, -1, 49, -1,
+ -1, -1, -1, 54, 55, -1, 57, -1, -1, -1,
+ -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
+ 71, 72, 73, 74, 75, -1, -1, 78, 79, -1,
+ -1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
+ 12, 92, 93, 15, 16, 96, 18, 19, 20, 21,
+ 22, 23, -1, 25, -1, 27, -1, 29, -1, -1,
+ -1, 33, 34, 35, 36, -1, -1, -1, -1, -1,
+ -1, -1, 44, -1, 46, -1, -1, -1, -1, -1,
+ -1, -1, 54, 55, -1, 57, -1, -1, -1, -1,
+ -1, -1, 64, -1, -1, -1, -1, -1, -1, 71,
+ 72, 73, 74, 75, -1, -1, -1, 79, -1, -1,
+ -1, -1, -1, -1, -1, 87, 88, -1, -1, 12,
+ -1, 93, 15, 16, 96, 18, 19, 20, 21, 22,
+ 23, -1, 25, -1, 27, -1, 29, -1, -1, -1,
+ 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
+ -1, 44, -1, 46, -1, -1, -1, -1, -1, -1,
+ -1, 54, 55, -1, 57, -1, -1, -1, -1, -1,
-1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
- 73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
+ 73, 74, 75, -1, -1, -1, 79, -1, -1, -1,
-1, -1, -1, -1, 87, 88, -1, -1, 12, -1,
93, 15, 16, 96, 18, -1, 20, 21, 22, 23,
-1, 25, -1, -1, -1, 29, -1, -1, -1, -1,
+ -1, -1, -1, -1, 38, -1, 40, 41, 42, 43,
+ 44, -1, 46, -1, 12, -1, -1, 15, 16, -1,
+ 18, -1, 20, 21, 22, 23, -1, 25, -1, -1,
+ 64, 29, -1, -1, -1, -1, -1, 71, 72, 73,
+ 74, 75, 40, -1, 42, -1, 44, -1, 46, -1,
+ -1, -1, -1, 87, 88, -1, -1, -1, 56, 93,
+ -1, -1, 96, -1, -1, -1, 64, -1, -1, -1,
+ -1, -1, -1, 71, 72, 73, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, -1, -1, 12, -1, 93, 15, 16, 96, 18,
+ -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
+ 29, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 44, 12, 46, -1, 15,
+ 16, -1, 18, -1, 20, 21, 22, 23, -1, 25,
+ -1, -1, -1, 29, -1, 64, -1, -1, -1, -1,
+ -1, -1, 71, 72, 73, 74, 75, -1, 44, -1,
+ 46, -1, -1, -1, -1, -1, -1, -1, 87, 88,
+ -1, -1, -1, -1, 93, -1, -1, 96, 64, -1,
+ -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 44, 12, 46, -1, 15, 16, -1, 18, -1, 20,
- 21, 22, 23, -1, 25, -1, -1, -1, 29, -1,
+ -1, 87, 88, -1, -1, 12, -1, 93, 15, 16,
+ 96, 18, -1, 20, 21, 22, 23, -1, 25, -1,
+ -1, -1, 29, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 44, 12, 46,
+ -1, 15, 16, -1, 18, -1, 20, 21, 22, 23,
+ -1, 25, -1, -1, -1, 29, -1, 64, -1, -1,
+ -1, -1, -1, -1, 71, 72, 73, 74, 75, -1,
+ 44, -1, 46, -1, -1, -1, -1, -1, -1, -1,
+ 87, 88, -1, -1, -1, -1, 93, -1, -1, 96,
64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, -1, 44, -1, 46, -1, -1, -1, -1,
- -1, -1, -1, 87, 88, -1, -1, -1, -1, 93,
- -1, -1, 96, 64, -1, -1, -1, -1, -1, -1,
- 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
- 12, -1, 93, 15, 16, 96, 18, -1, 20, 21,
- 22, 23, -1, 25, -1, -1, -1, 29, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 44, 12, 46, -1, 15, 16, -1, 18,
- -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
- 29, -1, 64, -1, -1, -1, -1, -1, -1, 71,
- 72, 73, 74, 75, -1, 44, -1, 46, -1, -1,
- -1, -1, -1, -1, -1, 87, 88, -1, -1, -1,
- -1, 93, -1, -1, 96, 64, -1, -1, -1, -1,
- -1, -1, 71, 72, 73, 74, 75, 37, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 87, 88,
- -1, -1, -1, 40, 93, 42, -1, 96, 58, 59,
- 60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
- 70, 58, 59, 60, 61, 62, 63, -1, 65, -1,
- -1, 68, 69, 70, 84, 85, 86, 87, 88, 89,
- 90, -1, -1, -1, -1, -1, -1, 84, 85, 86,
- 87, 88, 89, 90, 42, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
- 68, 69, 70, -1, -1, -1, -1, 42, -1, -1,
- -1, -1, -1, 48, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
- 65, -1, -1, 68, 69, 70, -1, -1, -1, -1,
- 42, -1, -1, -1, -1, -1, 48, -1, -1, 84,
- 85, 86, 87, 88, 89, 90, 58, 59, 60, 61,
- 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
- -1, -1, -1, 42, -1, -1, -1, -1, -1, 48,
- -1, -1, 84, 85, 86, 87, 88, 89, 90, 58,
- 59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
- 69, 70, -1, -1, -1, -1, 42, -1, -1, -1,
- -1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
- 89, 90, 58, 59, 60, 61, 62, 63, -1, 65,
- -1, -1, 68, 69, 70, -1, -1, -1, -1, 42,
- -1, -1, -1, -1, -1, -1, -1, -1, 84, 85,
- 86, 87, 88, 89, 90, 58, 59, 60, 61, 62,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 42,
+ -1, -1, -1, 87, 88, 48, -1, -1, -1, 93,
+ -1, -1, 96, -1, -1, 58, 59, 60, 61, 62,
63, -1, 65, -1, -1, 68, 69, 70, -1, -1,
- -1, -1, 42, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 42, -1, -1, -1, -1, -1, 48, -1,
-1, 84, 85, 86, 87, 88, 89, 90, 58, 59,
60, 61, 62, 63, -1, 65, -1, -1, 68, 69,
70, -1, -1, -1, -1, 42, -1, -1, -1, -1,
- -1, -1, -1, -1, 84, 85, 86, 87, 88, 89,
+ -1, 48, -1, -1, 84, 85, 86, 87, 88, 89,
90, 58, 59, 60, 61, 62, 63, -1, 65, -1,
- -1, 68, 69, 70, -1, -1, -1, -1, -1, -1,
+ -1, 68, 69, 70, -1, -1, -1, -1, 42, -1,
-1, -1, -1, -1, 48, -1, -1, 84, 85, 86,
87, 88, 89, 90, 58, 59, 60, 61, 62, 63,
- -1, 65, -1, -1, 68, 69, 70, 58, 59, 60,
- 61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
- 84, 85, 86, 87, 88, 89, 90, -1, 92, -1,
- -1, -1, -1, 84, 85, 86, 87, 88, 89, 90,
- -1, -1, -1, 94, 58, 59, 60, 61, 62, 63,
-1, 65, -1, -1, 68, 69, 70, -1, -1, -1,
- -1, -1, 76, 77, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
84, 85, 86, 87, 88, 89, 90, 58, 59, 60,
61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
- 58, 59, 60, 61, -1, -1, -1, 65, -1, -1,
- 68, 69, 70, 84, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
+ -1, -1, -1, 84, 85, 86, 87, 88, 89, 90,
+ 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
+ 68, 69, 70, -1, -1, -1, -1, 42, -1, -1,
-1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, 90
+ 88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
+ 65, -1, -1, 68, 69, 70, -1, -1, -1, -1,
+ 42, -1, -1, -1, -1, -1, -1, -1, -1, 84,
+ 85, 86, 87, 88, 89, 90, 58, 59, 60, 61,
+ 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
+ -1, -1, 84, 85, 86, 87, 88, 89, 90, 58,
+ 59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
+ 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
+ 89, 90, 50, 92, -1, -1, -1, -1, -1, -1,
+ 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
+ 68, 69, 70, 58, 59, 60, 61, 62, 63, -1,
+ 65, -1, -1, 68, 69, 70, 84, 85, 86, 87,
+ 88, 89, 90, -1, -1, -1, -1, -1, -1, 84,
+ 85, 86, 87, 88, 89, 90, -1, -1, -1, 94,
+ 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
+ 68, 69, 70, -1, -1, -1, -1, -1, 76, 77,
+ -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
+ 88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
+ 65, -1, -1, 68, 69, 70, 58, 59, 60, 61,
+ -1, -1, -1, 65, -1, -1, 68, 69, 70, 84,
+ 85, 86, 87, 88, 89, 90, -1, -1, -1, -1,
+ -1, -1, 84, 85, 86, 87, 88, 89, 90
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1167,7 +1179,7 @@ static const yytype_uint8 yystos[] =
120, 50, 51, 15, 16, 17, 22, 29, 22, 22,
120, 56, 120, 130, 22, 128, 120, 120, 120, 120,
120, 120, 120, 125, 138, 120, 120, 120, 23, 25,
- 98, 119, 146, 147, 148, 149, 0, 92, 120, 60,
+ 98, 120, 146, 147, 148, 149, 0, 92, 120, 60,
120, 104, 110, 113, 120, 123, 142, 58, 59, 60,
61, 62, 63, 65, 68, 69, 70, 84, 85, 86,
87, 88, 89, 90, 115, 93, 120, 120, 143, 95,
@@ -1182,7 +1194,7 @@ static const yytype_uint8 yystos[] =
135, 22, 122, 120, 120, 120, 120, 48, 60, 42,
120, 120, 120, 120, 22, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 106, 106, 95, 119, 119,
- 119, 23, 25, 149, 117, 116, 47, 116, 92, 95,
+ 120, 23, 25, 149, 117, 116, 47, 116, 92, 95,
92, 22, 115, 120, 120, 22, 42, 42, 42, 42,
103, 117, 22, 92, 105, 116, 30, 48, 117, 47,
95, 141, 22, 141, 139, 119, 120, 120, 120, 120,
@@ -1675,73 +1687,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
case 19: /* BLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1679 "engines/director/lingo/lingo-gr.cpp"
+#line 1691 "engines/director/lingo/lingo-gr.cpp"
break;
case 20: /* FBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1685 "engines/director/lingo/lingo-gr.cpp"
+#line 1697 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* RBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1691 "engines/director/lingo/lingo-gr.cpp"
+#line 1703 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* ID */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1697 "engines/director/lingo/lingo-gr.cpp"
+#line 1709 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* STRING */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1703 "engines/director/lingo/lingo-gr.cpp"
+#line 1715 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* HANDLER */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1709 "engines/director/lingo/lingo-gr.cpp"
+#line 1721 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* SYMBOL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1715 "engines/director/lingo/lingo-gr.cpp"
+#line 1727 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* ENDCLAUSE */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1721 "engines/director/lingo/lingo-gr.cpp"
+#line 1733 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* tPLAYACCEL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1727 "engines/director/lingo/lingo-gr.cpp"
+#line 1739 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tMETHOD */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1733 "engines/director/lingo/lingo-gr.cpp"
+#line 1745 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* THEOBJECTFIELD */
#line 131 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1739 "engines/director/lingo/lingo-gr.cpp"
+#line 1751 "engines/director/lingo/lingo-gr.cpp"
break;
case 137: /* on */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1745 "engines/director/lingo/lingo-gr.cpp"
+#line 1757 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2011,7 +2023,7 @@ yyreduce:
case 4:
#line 137 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2015 "engines/director/lingo/lingo-gr.cpp"
+#line 2027 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2022,7 +2034,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2026 "engines/director/lingo/lingo-gr.cpp"
+#line 2038 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2030,19 +2042,19 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2034 "engines/director/lingo/lingo-gr.cpp"
+#line 2046 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 152 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2040 "engines/director/lingo/lingo-gr.cpp"
+#line 2052 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 153 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2046 "engines/director/lingo/lingo-gr.cpp"
+#line 2058 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2053,7 +2065,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2057 "engines/director/lingo/lingo-gr.cpp"
+#line 2069 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2065,7 +2077,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2069 "engines/director/lingo/lingo-gr.cpp"
+#line 2081 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2076,7 +2088,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2080 "engines/director/lingo/lingo-gr.cpp"
+#line 2092 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2088,7 +2100,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2092 "engines/director/lingo/lingo-gr.cpp"
+#line 2104 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2099,7 +2111,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2103 "engines/director/lingo/lingo-gr.cpp"
+#line 2115 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2110,7 +2122,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2114 "engines/director/lingo/lingo-gr.cpp"
+#line 2126 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2125,7 +2137,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2129 "engines/director/lingo/lingo-gr.cpp"
+#line 2141 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2136,7 +2148,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2140 "engines/director/lingo/lingo-gr.cpp"
+#line 2152 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
@@ -2147,7 +2159,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2151 "engines/director/lingo/lingo-gr.cpp"
+#line 2163 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2164,7 +2176,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2168 "engines/director/lingo/lingo-gr.cpp"
+#line 2180 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
@@ -2181,7 +2193,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2185 "engines/director/lingo/lingo-gr.cpp"
+#line 2197 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
@@ -2189,7 +2201,7 @@ yyreduce:
{
g_lingo->code1(LC::c_nextRepeat);
}
-#line 2193 "engines/director/lingo/lingo-gr.cpp"
+#line 2205 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2199,7 +2211,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2203 "engines/director/lingo/lingo-gr.cpp"
+#line 2215 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2208,7 +2220,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2212 "engines/director/lingo/lingo-gr.cpp"
+#line 2224 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
@@ -2217,7 +2229,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2221 "engines/director/lingo/lingo-gr.cpp"
+#line 2233 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
@@ -2225,7 +2237,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2229 "engines/director/lingo/lingo-gr.cpp"
+#line 2241 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2240,7 +2252,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2244 "engines/director/lingo/lingo-gr.cpp"
+#line 2256 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2255,7 +2267,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2259 "engines/director/lingo/lingo-gr.cpp"
+#line 2271 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2266,7 +2278,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2270 "engines/director/lingo/lingo-gr.cpp"
+#line 2282 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2281,7 +2293,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2285 "engines/director/lingo/lingo-gr.cpp"
+#line 2297 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2296,13 +2308,13 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2300 "engines/director/lingo/lingo-gr.cpp"
+#line 2312 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
#line 338 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2306 "engines/director/lingo/lingo-gr.cpp"
+#line 2318 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2312,7 +2324,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2316 "engines/director/lingo/lingo-gr.cpp"
+#line 2328 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2322,7 +2334,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2326 "engines/director/lingo/lingo-gr.cpp"
+#line 2338 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2333,25 +2345,25 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2337 "engines/director/lingo/lingo-gr.cpp"
+#line 2349 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 359 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2343 "engines/director/lingo/lingo-gr.cpp"
+#line 2355 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 361 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2349 "engines/director/lingo/lingo-gr.cpp"
+#line 2361 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 363 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2355 "engines/director/lingo/lingo-gr.cpp"
+#line 2367 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2361,7 +2373,7 @@ yyreduce:
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2365 "engines/director/lingo/lingo-gr.cpp"
+#line 2377 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
@@ -2369,7 +2381,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2373 "engines/director/lingo/lingo-gr.cpp"
+#line 2385 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
@@ -2377,7 +2389,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2381 "engines/director/lingo/lingo-gr.cpp"
+#line 2393 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2386,7 +2398,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2390 "engines/director/lingo/lingo-gr.cpp"
+#line 2402 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2395,7 +2407,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2399 "engines/director/lingo/lingo-gr.cpp"
+#line 2411 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2404,13 +2416,13 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2408 "engines/director/lingo/lingo-gr.cpp"
+#line 2420 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 393 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2426 "engines/director/lingo/lingo-gr.cpp"
break;
case 62:
@@ -2418,7 +2430,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2422 "engines/director/lingo/lingo-gr.cpp"
+#line 2434 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
@@ -2426,7 +2438,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2430 "engines/director/lingo/lingo-gr.cpp"
+#line 2442 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
@@ -2434,7 +2446,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2438 "engines/director/lingo/lingo-gr.cpp"
+#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
@@ -2447,7 +2459,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2451 "engines/director/lingo/lingo-gr.cpp"
+#line 2463 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2458,7 +2470,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2462 "engines/director/lingo/lingo-gr.cpp"
+#line 2474 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2468,193 +2480,193 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2472 "engines/director/lingo/lingo-gr.cpp"
+#line 2484 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
#line 424 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2478 "engines/director/lingo/lingo-gr.cpp"
+#line 2490 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
#line 425 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2484 "engines/director/lingo/lingo-gr.cpp"
+#line 2496 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
#line 426 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2490 "engines/director/lingo/lingo-gr.cpp"
+#line 2502 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
#line 427 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2496 "engines/director/lingo/lingo-gr.cpp"
+#line 2508 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
#line 428 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2502 "engines/director/lingo/lingo-gr.cpp"
+#line 2514 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
#line 429 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2508 "engines/director/lingo/lingo-gr.cpp"
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
#line 430 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2514 "engines/director/lingo/lingo-gr.cpp"
+#line 2526 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2532 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
#line 432 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2526 "engines/director/lingo/lingo-gr.cpp"
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
#line 433 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2532 "engines/director/lingo/lingo-gr.cpp"
+#line 2544 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2538 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2562 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2556 "engines/director/lingo/lingo-gr.cpp"
+#line 2568 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2562 "engines/director/lingo/lingo-gr.cpp"
+#line 2574 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2568 "engines/director/lingo/lingo-gr.cpp"
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2586 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
#line 441 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2592 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
#line 442 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2586 "engines/director/lingo/lingo-gr.cpp"
+#line 2598 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
#line 443 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2592 "engines/director/lingo/lingo-gr.cpp"
+#line 2604 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
#line 444 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2598 "engines/director/lingo/lingo-gr.cpp"
+#line 2610 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 445 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2604 "engines/director/lingo/lingo-gr.cpp"
+#line 2616 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 446 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2610 "engines/director/lingo/lingo-gr.cpp"
+#line 2622 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2616 "engines/director/lingo/lingo-gr.cpp"
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2622 "engines/director/lingo/lingo-gr.cpp"
+#line 2634 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2628 "engines/director/lingo/lingo-gr.cpp"
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2634 "engines/director/lingo/lingo-gr.cpp"
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2640 "engines/director/lingo/lingo-gr.cpp"
+#line 2652 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 453 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2646 "engines/director/lingo/lingo-gr.cpp"
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 454 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 2664 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 455 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2658 "engines/director/lingo/lingo-gr.cpp"
+#line 2670 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
@@ -2662,49 +2674,49 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2666 "engines/director/lingo/lingo-gr.cpp"
+#line 2678 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2672 "engines/director/lingo/lingo-gr.cpp"
+#line 2684 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2678 "engines/director/lingo/lingo-gr.cpp"
+#line 2690 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2684 "engines/director/lingo/lingo-gr.cpp"
+#line 2696 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2690 "engines/director/lingo/lingo-gr.cpp"
+#line 2702 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2696 "engines/director/lingo/lingo-gr.cpp"
+#line 2708 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2702 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
+#line 2720 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
@@ -2712,7 +2724,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2716 "engines/director/lingo/lingo-gr.cpp"
+#line 2728 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
@@ -2720,19 +2732,19 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2724 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2730 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2748 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
@@ -2741,7 +2753,7 @@ yyreduce:
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2757 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
@@ -2750,7 +2762,7 @@ yyreduce:
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2754 "engines/director/lingo/lingo-gr.cpp"
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
@@ -2759,7 +2771,7 @@ yyreduce:
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2763 "engines/director/lingo/lingo-gr.cpp"
+#line 2775 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
@@ -2768,7 +2780,7 @@ yyreduce:
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
@@ -2777,7 +2789,7 @@ yyreduce:
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2781 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
@@ -2786,25 +2798,25 @@ yyreduce:
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2790 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
break;
case 122:
#line 513 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2796 "engines/director/lingo/lingo-gr.cpp"
+#line 2808 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
#line 514 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2802 "engines/director/lingo/lingo-gr.cpp"
+#line 2814 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
#line 515 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2808 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
@@ -2813,7 +2825,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2817 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
@@ -2822,7 +2834,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2826 "engines/director/lingo/lingo-gr.cpp"
+#line 2838 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
@@ -2831,13 +2843,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2835 "engines/director/lingo/lingo-gr.cpp"
+#line 2847 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
#line 532 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2841 "engines/director/lingo/lingo-gr.cpp"
+#line 2853 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
@@ -2846,7 +2858,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2850 "engines/director/lingo/lingo-gr.cpp"
+#line 2862 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
@@ -2855,7 +2867,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2859 "engines/director/lingo/lingo-gr.cpp"
+#line 2871 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
@@ -2864,13 +2876,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2868 "engines/director/lingo/lingo-gr.cpp"
+#line 2880 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
#line 545 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2886 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
@@ -2879,19 +2891,19 @@ yyreduce:
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2883 "engines/director/lingo/lingo-gr.cpp"
+#line 2895 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
#line 575 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2889 "engines/director/lingo/lingo-gr.cpp"
+#line 2901 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
#line 575 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2895 "engines/director/lingo/lingo-gr.cpp"
+#line 2907 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
@@ -2902,19 +2914,19 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
#line 582 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2912 "engines/director/lingo/lingo-gr.cpp"
+#line 2924 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
#line 583 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2918 "engines/director/lingo/lingo-gr.cpp"
+#line 2930 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
@@ -2925,7 +2937,7 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2929 "engines/director/lingo/lingo-gr.cpp"
+#line 2941 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
@@ -2940,7 +2952,7 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
@@ -2952,61 +2964,61 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
#line 608 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
#line 608 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
#line 610 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
#line 613 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
#line 616 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
#line 617 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
@@ -3018,91 +3030,91 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
#line 629 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
#line 630 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
#line 631 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
#line 633 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
#line 634 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3064 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
#line 636 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3070 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
#line 638 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3064 "engines/director/lingo/lingo-gr.cpp"
+#line 3076 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
#line 639 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3070 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
#line 641 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3094 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
#line 643 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3100 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 644 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3106 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
#line 646 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3112 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
#line 647 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3106 "engines/director/lingo/lingo-gr.cpp"
+#line 3118 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
@@ -3111,7 +3123,7 @@ yyreduce:
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3115 "engines/director/lingo/lingo-gr.cpp"
+#line 3127 "engines/director/lingo/lingo-gr.cpp"
break;
case 170:
@@ -3120,11 +3132,11 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 3136 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3128 "engines/director/lingo/lingo-gr.cpp"
+#line 3140 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 5133d90..78551e6 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -640,8 +640,8 @@ valuelist: /* nothing */ { $$ = g_lingo->code2(LC::c_arraypush, 0); }
| linearlist { $$ = g_lingo->code1(LC::c_arraypush); $$ = g_lingo->codeInt($linearlist); }
| proplist { $$ = g_lingo->code1(LC::c_proparraypush); $$ = g_lingo->codeInt($proplist); }
-linearlist: simpleexpr { $$ = 1; }
- | linearlist ',' simpleexpr { $$ = $1 + 1; }
+linearlist: expr { $$ = 1; }
+ | linearlist ',' expr { $$ = $1 + 1; }
proplist: proppair { $$ = 1; }
| proplist ',' proppair { $$ = $1 + 1; }
Commit: f41de8e74a7f64d0f2e9f180340e831d6306d25b
https://github.com/scummvm/scummvm/commit/f41de8e74a7f64d0f2e9f180340e831d6306d25b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:27:39+01:00
Commit Message:
DIRECTOR: LINGO: Added test for initializing arrays with expressions
Changed paths:
R engines/director/lingo/tests/arrays.lingo
engines/director/lingo/tests/lists.lingo
diff --git a/engines/director/lingo/tests/arrays.lingo b/engines/director/lingo/tests/arrays.lingo
deleted file mode 100644
index 2d1c9ef..0000000
--- a/engines/director/lingo/tests/arrays.lingo
+++ /dev/null
@@ -1,2 +0,0 @@
-set a to [1, 2, 3]
-put a
diff --git a/engines/director/lingo/tests/lists.lingo b/engines/director/lingo/tests/lists.lingo
index 998af9e..0634e54 100644
--- a/engines/director/lingo/tests/lists.lingo
+++ b/engines/director/lingo/tests/lists.lingo
@@ -3,3 +3,8 @@ set y = [:]
set machinery = [#gears:6, #balls:3, #ramps:8]
set nested = [1, 2, [3, 4], 5]
set gList = ["car":1, "boat": 20]
+
+set a to [1, 2, 3]
+put a
+
+set gList = [point(70, 190), point(217, 66), point(364, 185)]
Commit: 990c2736f9237f8a84a37d4b040daa3d13f986a8
https://github.com/scummvm/scummvm/commit/990c2736f9237f8a84a37d4b040daa3d13f986a8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:32:33+01:00
Commit Message:
DIRECTOR: JANOTORIAL: Whitespace fixes
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 2248558..693b2fa 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -634,21 +634,21 @@ static const yytype_int16 yyrline[] =
0, 135, 135, 136, 137, 139, 140, 141, 143, 149,
152, 153, 154, 160, 167, 173, 180, 186, 193, 203,
210, 211, 212, 214, 215, 216, 217, 219, 220, 225,
- 236, 253, 265, 268, 273, 277, 282, 286, 296, 307,
- 308, 310, 317, 327, 338, 340, 346, 352, 359, 361,
- 363, 364, 365, 367, 373, 376, 379, 383, 387, 391,
- 393, 394, 395, 398, 401, 404, 412, 418, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 448, 449, 450, 451, 452, 453, 454, 455,
- 457, 460, 462, 463, 464, 465, 466, 467, 467, 468,
- 468, 469, 470, 473, 476, 477, 479, 483, 488, 492,
- 497, 501, 513, 514, 515, 516, 520, 524, 529, 530,
- 532, 533, 537, 541, 545, 545, 575, 575, 575, 582,
- 583, 583, 590, 600, 608, 608, 610, 611, 612, 613,
- 615, 616, 617, 619, 621, 629, 630, 631, 633, 634,
- 636, 638, 639, 640, 641, 643, 644, 646, 647, 649,
- 653
+ 236, 253, 265, 267, 272, 276, 281, 285, 295, 306,
+ 307, 309, 316, 326, 337, 339, 345, 351, 358, 360,
+ 362, 363, 364, 366, 372, 375, 378, 382, 386, 390,
+ 392, 393, 394, 397, 400, 403, 411, 417, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 447, 448, 449, 450, 451, 452, 453, 454,
+ 456, 459, 461, 462, 463, 464, 465, 466, 466, 467,
+ 467, 468, 469, 472, 475, 476, 478, 482, 487, 491,
+ 496, 500, 512, 513, 514, 515, 519, 523, 528, 529,
+ 531, 532, 536, 540, 544, 544, 574, 574, 574, 581,
+ 582, 582, 589, 599, 607, 607, 609, 610, 611, 612,
+ 614, 615, 616, 618, 620, 628, 629, 630, 632, 633,
+ 635, 637, 638, 639, 640, 642, 643, 645, 646, 648,
+ 652
};
#endif
@@ -2199,49 +2199,48 @@ yyreduce:
case 32:
#line 265 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->code1(LC::c_nextRepeat);
- }
-#line 2205 "engines/director/lingo/lingo-gr.cpp"
+ g_lingo->code1(LC::c_nextRepeat); }
+#line 2204 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
-#line 268 "engines/director/lingo/lingo-gr.y"
+#line 267 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2215 "engines/director/lingo/lingo-gr.cpp"
+#line 2214 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
-#line 273 "engines/director/lingo/lingo-gr.y"
+#line 272 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2224 "engines/director/lingo/lingo-gr.cpp"
+#line 2223 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
-#line 277 "engines/director/lingo/lingo-gr.y"
+#line 276 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2233 "engines/director/lingo/lingo-gr.cpp"
+#line 2232 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
-#line 282 "engines/director/lingo/lingo-gr.y"
+#line 281 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2241 "engines/director/lingo/lingo-gr.cpp"
+#line 2240 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
-#line 286 "engines/director/lingo/lingo-gr.y"
+#line 285 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2252,11 +2251,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2256 "engines/director/lingo/lingo-gr.cpp"
+#line 2255 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
-#line 296 "engines/director/lingo/lingo-gr.y"
+#line 295 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2267,22 +2266,22 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2271 "engines/director/lingo/lingo-gr.cpp"
+#line 2270 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
-#line 310 "engines/director/lingo/lingo-gr.y"
+#line 309 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2282 "engines/director/lingo/lingo-gr.cpp"
+#line 2281 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
-#line 317 "engines/director/lingo/lingo-gr.y"
+#line 316 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2293,11 +2292,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2297 "engines/director/lingo/lingo-gr.cpp"
+#line 2296 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
-#line 327 "engines/director/lingo/lingo-gr.y"
+#line 326 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2308,149 +2307,149 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2312 "engines/director/lingo/lingo-gr.cpp"
+#line 2311 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
-#line 338 "engines/director/lingo/lingo-gr.y"
+#line 337 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2318 "engines/director/lingo/lingo-gr.cpp"
+#line 2317 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
-#line 340 "engines/director/lingo/lingo-gr.y"
+#line 339 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2328 "engines/director/lingo/lingo-gr.cpp"
+#line 2327 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
-#line 346 "engines/director/lingo/lingo-gr.y"
+#line 345 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2338 "engines/director/lingo/lingo-gr.cpp"
+#line 2337 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
-#line 352 "engines/director/lingo/lingo-gr.y"
+#line 351 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2349 "engines/director/lingo/lingo-gr.cpp"
+#line 2348 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
-#line 359 "engines/director/lingo/lingo-gr.y"
+#line 358 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2355 "engines/director/lingo/lingo-gr.cpp"
+#line 2354 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
-#line 361 "engines/director/lingo/lingo-gr.y"
+#line 360 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2361 "engines/director/lingo/lingo-gr.cpp"
+#line 2360 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
-#line 363 "engines/director/lingo/lingo-gr.y"
+#line 362 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2367 "engines/director/lingo/lingo-gr.cpp"
+#line 2366 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
-#line 367 "engines/director/lingo/lingo-gr.y"
+#line 366 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2377 "engines/director/lingo/lingo-gr.cpp"
+#line 2376 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
-#line 373 "engines/director/lingo/lingo-gr.y"
+#line 372 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2385 "engines/director/lingo/lingo-gr.cpp"
+#line 2384 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
-#line 376 "engines/director/lingo/lingo-gr.y"
+#line 375 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2393 "engines/director/lingo/lingo-gr.cpp"
+#line 2392 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
-#line 379 "engines/director/lingo/lingo-gr.y"
+#line 378 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2402 "engines/director/lingo/lingo-gr.cpp"
+#line 2401 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
-#line 383 "engines/director/lingo/lingo-gr.y"
+#line 382 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2411 "engines/director/lingo/lingo-gr.cpp"
+#line 2410 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
-#line 387 "engines/director/lingo/lingo-gr.y"
+#line 386 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2420 "engines/director/lingo/lingo-gr.cpp"
+#line 2419 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
-#line 393 "engines/director/lingo/lingo-gr.y"
+#line 392 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2426 "engines/director/lingo/lingo-gr.cpp"
+#line 2425 "engines/director/lingo/lingo-gr.cpp"
break;
case 62:
-#line 395 "engines/director/lingo/lingo-gr.y"
+#line 394 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2434 "engines/director/lingo/lingo-gr.cpp"
+#line 2433 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
-#line 398 "engines/director/lingo/lingo-gr.y"
+#line 397 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2442 "engines/director/lingo/lingo-gr.cpp"
+#line 2441 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
-#line 401 "engines/director/lingo/lingo-gr.y"
+#line 400 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2450 "engines/director/lingo/lingo-gr.cpp"
+#line 2449 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
-#line 404 "engines/director/lingo/lingo-gr.y"
+#line 403 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2459,489 +2458,489 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2463 "engines/director/lingo/lingo-gr.cpp"
+#line 2462 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
-#line 412 "engines/director/lingo/lingo-gr.y"
+#line 411 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2473 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
-#line 418 "engines/director/lingo/lingo-gr.y"
+#line 417 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2484 "engines/director/lingo/lingo-gr.cpp"
+#line 2483 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
-#line 424 "engines/director/lingo/lingo-gr.y"
+#line 423 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2490 "engines/director/lingo/lingo-gr.cpp"
+#line 2489 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
-#line 425 "engines/director/lingo/lingo-gr.y"
+#line 424 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2496 "engines/director/lingo/lingo-gr.cpp"
+#line 2495 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
-#line 426 "engines/director/lingo/lingo-gr.y"
+#line 425 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2502 "engines/director/lingo/lingo-gr.cpp"
+#line 2501 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
-#line 427 "engines/director/lingo/lingo-gr.y"
+#line 426 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2508 "engines/director/lingo/lingo-gr.cpp"
+#line 2507 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
-#line 428 "engines/director/lingo/lingo-gr.y"
+#line 427 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2514 "engines/director/lingo/lingo-gr.cpp"
+#line 2513 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
-#line 429 "engines/director/lingo/lingo-gr.y"
+#line 428 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2519 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
-#line 430 "engines/director/lingo/lingo-gr.y"
+#line 429 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2526 "engines/director/lingo/lingo-gr.cpp"
+#line 2525 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
-#line 431 "engines/director/lingo/lingo-gr.y"
+#line 430 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2532 "engines/director/lingo/lingo-gr.cpp"
+#line 2531 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 432 "engines/director/lingo/lingo-gr.y"
+#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2538 "engines/director/lingo/lingo-gr.cpp"
+#line 2537 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 433 "engines/director/lingo/lingo-gr.y"
+#line 432 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2543 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 434 "engines/director/lingo/lingo-gr.y"
+#line 433 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2549 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 435 "engines/director/lingo/lingo-gr.y"
+#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2556 "engines/director/lingo/lingo-gr.cpp"
+#line 2555 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 436 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2562 "engines/director/lingo/lingo-gr.cpp"
+#line 2561 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 437 "engines/director/lingo/lingo-gr.y"
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2568 "engines/director/lingo/lingo-gr.cpp"
+#line 2567 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 438 "engines/director/lingo/lingo-gr.y"
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2573 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 439 "engines/director/lingo/lingo-gr.y"
+#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2579 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 440 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2586 "engines/director/lingo/lingo-gr.cpp"
+#line 2585 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 441 "engines/director/lingo/lingo-gr.y"
+#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2592 "engines/director/lingo/lingo-gr.cpp"
+#line 2591 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 441 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2598 "engines/director/lingo/lingo-gr.cpp"
+#line 2597 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 443 "engines/director/lingo/lingo-gr.y"
+#line 442 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2604 "engines/director/lingo/lingo-gr.cpp"
+#line 2603 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 444 "engines/director/lingo/lingo-gr.y"
+#line 443 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2610 "engines/director/lingo/lingo-gr.cpp"
+#line 2609 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 445 "engines/director/lingo/lingo-gr.y"
+#line 444 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2616 "engines/director/lingo/lingo-gr.cpp"
+#line 2615 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 446 "engines/director/lingo/lingo-gr.y"
+#line 445 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2622 "engines/director/lingo/lingo-gr.cpp"
+#line 2621 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 447 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2628 "engines/director/lingo/lingo-gr.cpp"
+#line 2627 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 449 "engines/director/lingo/lingo-gr.y"
+#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2634 "engines/director/lingo/lingo-gr.cpp"
+#line 2633 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 450 "engines/director/lingo/lingo-gr.y"
+#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2640 "engines/director/lingo/lingo-gr.cpp"
+#line 2639 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 451 "engines/director/lingo/lingo-gr.y"
+#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2646 "engines/director/lingo/lingo-gr.cpp"
+#line 2645 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 2651 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 453 "engines/director/lingo/lingo-gr.y"
+#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2658 "engines/director/lingo/lingo-gr.cpp"
+#line 2657 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 454 "engines/director/lingo/lingo-gr.y"
+#line 453 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2664 "engines/director/lingo/lingo-gr.cpp"
+#line 2663 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
-#line 455 "engines/director/lingo/lingo-gr.y"
+#line 454 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2670 "engines/director/lingo/lingo-gr.cpp"
+#line 2669 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
-#line 457 "engines/director/lingo/lingo-gr.y"
+#line 456 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2678 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
-#line 462 "engines/director/lingo/lingo-gr.y"
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2684 "engines/director/lingo/lingo-gr.cpp"
+#line 2683 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
-#line 465 "engines/director/lingo/lingo-gr.y"
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2690 "engines/director/lingo/lingo-gr.cpp"
+#line 2689 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 466 "engines/director/lingo/lingo-gr.y"
+#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2696 "engines/director/lingo/lingo-gr.cpp"
+#line 2695 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
-#line 467 "engines/director/lingo/lingo-gr.y"
+#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2702 "engines/director/lingo/lingo-gr.cpp"
+#line 2701 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
-#line 467 "engines/director/lingo/lingo-gr.y"
+#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
+#line 2707 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2713 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2720 "engines/director/lingo/lingo-gr.cpp"
+#line 2719 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
-#line 470 "engines/director/lingo/lingo-gr.y"
+#line 469 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2728 "engines/director/lingo/lingo-gr.cpp"
+#line 2727 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
-#line 473 "engines/director/lingo/lingo-gr.y"
+#line 472 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2735 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
-#line 476 "engines/director/lingo/lingo-gr.y"
+#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+#line 2741 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
-#line 477 "engines/director/lingo/lingo-gr.y"
+#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2748 "engines/director/lingo/lingo-gr.cpp"
+#line 2747 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
-#line 479 "engines/director/lingo/lingo-gr.y"
+#line 478 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2756 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
-#line 483 "engines/director/lingo/lingo-gr.y"
+#line 482 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2765 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
-#line 488 "engines/director/lingo/lingo-gr.y"
+#line 487 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2775 "engines/director/lingo/lingo-gr.cpp"
+#line 2774 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
-#line 492 "engines/director/lingo/lingo-gr.y"
+#line 491 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2784 "engines/director/lingo/lingo-gr.cpp"
+#line 2783 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
-#line 497 "engines/director/lingo/lingo-gr.y"
+#line 496 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2793 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
-#line 501 "engines/director/lingo/lingo-gr.y"
+#line 500 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2802 "engines/director/lingo/lingo-gr.cpp"
+#line 2801 "engines/director/lingo/lingo-gr.cpp"
break;
case 122:
-#line 513 "engines/director/lingo/lingo-gr.y"
+#line 512 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2808 "engines/director/lingo/lingo-gr.cpp"
+#line 2807 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
-#line 514 "engines/director/lingo/lingo-gr.y"
+#line 513 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2814 "engines/director/lingo/lingo-gr.cpp"
+#line 2813 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
-#line 515 "engines/director/lingo/lingo-gr.y"
+#line 514 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2819 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
-#line 516 "engines/director/lingo/lingo-gr.y"
+#line 515 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2828 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
-#line 520 "engines/director/lingo/lingo-gr.y"
+#line 519 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2838 "engines/director/lingo/lingo-gr.cpp"
+#line 2837 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
-#line 524 "engines/director/lingo/lingo-gr.y"
+#line 523 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2847 "engines/director/lingo/lingo-gr.cpp"
+#line 2846 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
-#line 532 "engines/director/lingo/lingo-gr.y"
+#line 531 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2853 "engines/director/lingo/lingo-gr.cpp"
+#line 2852 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 533 "engines/director/lingo/lingo-gr.y"
+#line 532 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2862 "engines/director/lingo/lingo-gr.cpp"
+#line 2861 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 537 "engines/director/lingo/lingo-gr.y"
+#line 536 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2871 "engines/director/lingo/lingo-gr.cpp"
+#line 2870 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
-#line 541 "engines/director/lingo/lingo-gr.y"
+#line 540 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2880 "engines/director/lingo/lingo-gr.cpp"
+#line 2879 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
-#line 545 "engines/director/lingo/lingo-gr.y"
+#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2886 "engines/director/lingo/lingo-gr.cpp"
+#line 2885 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
-#line 545 "engines/director/lingo/lingo-gr.y"
+#line 544 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2895 "engines/director/lingo/lingo-gr.cpp"
+#line 2894 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
-#line 575 "engines/director/lingo/lingo-gr.y"
+#line 574 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2901 "engines/director/lingo/lingo-gr.cpp"
+#line 2900 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
-#line 575 "engines/director/lingo/lingo-gr.y"
+#line 574 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2907 "engines/director/lingo/lingo-gr.cpp"
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
-#line 576 "engines/director/lingo/lingo-gr.y"
+#line 575 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2918 "engines/director/lingo/lingo-gr.cpp"
+#line 2917 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
-#line 582 "engines/director/lingo/lingo-gr.y"
+#line 581 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2924 "engines/director/lingo/lingo-gr.cpp"
+#line 2923 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
-#line 583 "engines/director/lingo/lingo-gr.y"
+#line 582 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2930 "engines/director/lingo/lingo-gr.cpp"
+#line 2929 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
-#line 584 "engines/director/lingo/lingo-gr.y"
+#line 583 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2941 "engines/director/lingo/lingo-gr.cpp"
+#line 2940 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
-#line 590 "engines/director/lingo/lingo-gr.y"
+#line 589 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -2952,11 +2951,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2955 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
-#line 600 "engines/director/lingo/lingo-gr.y"
+#line 599 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -2964,65 +2963,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2967 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
-#line 608 "engines/director/lingo/lingo-gr.y"
+#line 607 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2973 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
-#line 608 "engines/director/lingo/lingo-gr.y"
+#line 607 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2979 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
-#line 610 "engines/director/lingo/lingo-gr.y"
+#line 609 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+#line 2985 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
-#line 611 "engines/director/lingo/lingo-gr.y"
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 2991 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
-#line 612 "engines/director/lingo/lingo-gr.y"
+#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 2997 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
-#line 613 "engines/director/lingo/lingo-gr.y"
+#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 3003 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
-#line 616 "engines/director/lingo/lingo-gr.y"
+#line 615 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 3009 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
-#line 617 "engines/director/lingo/lingo-gr.y"
+#line 616 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 3015 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
-#line 619 "engines/director/lingo/lingo-gr.y"
+#line 618 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 3021 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
-#line 621 "engines/director/lingo/lingo-gr.y"
+#line 620 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3030,113 +3029,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3033 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
-#line 629 "engines/director/lingo/lingo-gr.y"
+#line 628 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3039 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
-#line 630 "engines/director/lingo/lingo-gr.y"
+#line 629 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3045 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
-#line 631 "engines/director/lingo/lingo-gr.y"
+#line 630 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3051 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
-#line 633 "engines/director/lingo/lingo-gr.y"
+#line 632 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3057 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
-#line 634 "engines/director/lingo/lingo-gr.y"
+#line 633 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3064 "engines/director/lingo/lingo-gr.cpp"
+#line 3063 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
-#line 636 "engines/director/lingo/lingo-gr.y"
+#line 635 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3070 "engines/director/lingo/lingo-gr.cpp"
+#line 3069 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
-#line 638 "engines/director/lingo/lingo-gr.y"
+#line 637 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3075 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
-#line 639 "engines/director/lingo/lingo-gr.y"
+#line 638 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3081 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
-#line 640 "engines/director/lingo/lingo-gr.y"
+#line 639 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3087 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
-#line 641 "engines/director/lingo/lingo-gr.y"
+#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3093 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
-#line 643 "engines/director/lingo/lingo-gr.y"
+#line 642 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3099 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
-#line 644 "engines/director/lingo/lingo-gr.y"
+#line 643 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3106 "engines/director/lingo/lingo-gr.cpp"
+#line 3105 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
-#line 646 "engines/director/lingo/lingo-gr.y"
+#line 645 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3112 "engines/director/lingo/lingo-gr.cpp"
+#line 3111 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
-#line 647 "engines/director/lingo/lingo-gr.y"
+#line 646 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3118 "engines/director/lingo/lingo-gr.cpp"
+#line 3117 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
-#line 649 "engines/director/lingo/lingo-gr.y"
+#line 648 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3127 "engines/director/lingo/lingo-gr.cpp"
+#line 3126 "engines/director/lingo/lingo-gr.cpp"
break;
case 170:
-#line 653 "engines/director/lingo/lingo-gr.y"
+#line 652 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3136 "engines/director/lingo/lingo-gr.cpp"
+#line 3135 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3140 "engines/director/lingo/lingo-gr.cpp"
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3368,5 +3367,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 659 "engines/director/lingo/lingo-gr.y"
+#line 658 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 78551e6..77e84ca 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -263,8 +263,7 @@ stmt: stmtoneliner
(*g_lingo->_currentScript)[$repeatwith + 4] = inc; /* increment */
(*g_lingo->_currentScript)[$repeatwith + 5] = end; } /* end, if cond fails */
| tNEXT tREPEAT {
- g_lingo->code1(LC::c_nextRepeat);
- }
+ g_lingo->code1(LC::c_nextRepeat); }
| when stmtonelinerwithif end {
inst end = 0;
WRITE_UINT32(&end, $end - $when);
Commit: 388963f8448be8592f680c635430f0466a3df8ff
https://github.com/scummvm/scummvm/commit/388963f8448be8592f680c635430f0466a3df8ff
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:43:58+01:00
Commit Message:
DIRECTOR: LINGO: Implement parsing and stub for 'repeat with...in <list>'
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 9cceb1d..06d0027 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1004,6 +1004,12 @@ void LC::c_repeatwithcode(void) {
Common::String countername((char *)&(*g_lingo->_currentScript)[savepc + 5]);
Symbol *counter = g_lingo->lookupVar(countername.c_str());
+ if (finish == 0 && inc == 0) {
+ warning("STUB: 'repeat with' over list ");
+ g_lingo->_pc = end + savepc - 1; /* next stmt */
+ return;
+ }
+
if (counter->type == CASTREF) {
error("Cast ref used as index: %s", countername.c_str());
}
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 693b2fa..ee221a3 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -179,53 +179,54 @@ extern int yydebug;
tGLOBAL = 289,
tGO = 290,
tIF = 291,
- tINTO = 292,
- tLOOP = 293,
- tMACRO = 294,
- tMOVIE = 295,
- tNEXT = 296,
- tOF = 297,
- tPREVIOUS = 298,
- tPUT = 299,
- tREPEAT = 300,
- tSET = 301,
- tTHEN = 302,
- tTO = 303,
- tWHEN = 304,
- tWITH = 305,
- tWHILE = 306,
- tNLELSE = 307,
- tFACTORY = 308,
- tOPEN = 309,
- tPLAY = 310,
- tDONE = 311,
- tINSTANCE = 312,
- tGE = 313,
- tLE = 314,
- tEQ = 315,
- tNEQ = 316,
- tAND = 317,
- tOR = 318,
- tNOT = 319,
- tMOD = 320,
- tAFTER = 321,
- tBEFORE = 322,
- tCONCAT = 323,
- tCONTAINS = 324,
- tSTARTS = 325,
- tCHAR = 326,
- tITEM = 327,
- tLINE = 328,
- tWORD = 329,
- tSPRITE = 330,
- tINTERSECTS = 331,
- tWITHIN = 332,
- tTELL = 333,
- tPROPERTY = 334,
- tON = 335,
- tENDIF = 336,
- tENDREPEAT = 337,
- tENDTELL = 338
+ tIN = 292,
+ tINTO = 293,
+ tLOOP = 294,
+ tMACRO = 295,
+ tMOVIE = 296,
+ tNEXT = 297,
+ tOF = 298,
+ tPREVIOUS = 299,
+ tPUT = 300,
+ tREPEAT = 301,
+ tSET = 302,
+ tTHEN = 303,
+ tTO = 304,
+ tWHEN = 305,
+ tWITH = 306,
+ tWHILE = 307,
+ tNLELSE = 308,
+ tFACTORY = 309,
+ tOPEN = 310,
+ tPLAY = 311,
+ tDONE = 312,
+ tINSTANCE = 313,
+ tGE = 314,
+ tLE = 315,
+ tEQ = 316,
+ tNEQ = 317,
+ tAND = 318,
+ tOR = 319,
+ tNOT = 320,
+ tMOD = 321,
+ tAFTER = 322,
+ tBEFORE = 323,
+ tCONCAT = 324,
+ tCONTAINS = 325,
+ tSTARTS = 326,
+ tCHAR = 327,
+ tITEM = 328,
+ tLINE = 329,
+ tWORD = 330,
+ tSPRITE = 331,
+ tINTERSECTS = 332,
+ tWITHIN = 333,
+ tTELL = 334,
+ tPROPERTY = 335,
+ tON = 336,
+ tENDIF = 337,
+ tENDREPEAT = 338,
+ tENDTELL = 339
};
#endif
@@ -248,7 +249,7 @@ union YYSTYPE
int oe;
} objectfield;
-#line 252 "engines/director/lingo/lingo-gr.cpp"
+#line 253 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -567,19 +568,19 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 126
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1658
+#define YYLAST 1685
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 99
+#define YYNTOKENS 100
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 51
/* YYNRULES -- Number of rules. */
-#define YYNRULES 170
+#define YYNRULES 171
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 363
+#define YYNSTATES 369
#define YYUNDEFTOK 2
-#define YYMAXUTOK 338
+#define YYMAXUTOK 339
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -592,15 +593,15 @@ union yyalloc
static const yytype_int8 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, 95, 88, 2, 90, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 98, 2,
- 84, 2, 85, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 92, 87, 2,
+ 94, 95, 90, 88, 96, 89, 2, 91, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 99, 2,
+ 85, 2, 86, 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, 96, 2, 97, 2, 2, 2, 2, 2, 2,
+ 2, 97, 2, 98, 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,
@@ -624,7 +625,7 @@ static const yytype_int8 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
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
};
#if YYDEBUG
@@ -634,21 +635,21 @@ static const yytype_int16 yyrline[] =
0, 135, 135, 136, 137, 139, 140, 141, 143, 149,
152, 153, 154, 160, 167, 173, 180, 186, 193, 203,
210, 211, 212, 214, 215, 216, 217, 219, 220, 225,
- 236, 253, 265, 267, 272, 276, 281, 285, 295, 306,
- 307, 309, 316, 326, 337, 339, 345, 351, 358, 360,
- 362, 363, 364, 366, 372, 375, 378, 382, 386, 390,
- 392, 393, 394, 397, 400, 403, 411, 417, 422, 423,
- 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 236, 253, 265, 276, 278, 283, 287, 292, 296, 306,
+ 317, 318, 320, 327, 337, 348, 350, 356, 362, 369,
+ 371, 373, 374, 375, 377, 383, 386, 389, 393, 397,
+ 401, 403, 404, 405, 408, 411, 414, 422, 428, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
- 444, 445, 447, 448, 449, 450, 451, 452, 453, 454,
- 456, 459, 461, 462, 463, 464, 465, 466, 466, 467,
- 467, 468, 469, 472, 475, 476, 478, 482, 487, 491,
- 496, 500, 512, 513, 514, 515, 519, 523, 528, 529,
- 531, 532, 536, 540, 544, 544, 574, 574, 574, 581,
- 582, 582, 589, 599, 607, 607, 609, 610, 611, 612,
- 614, 615, 616, 618, 620, 628, 629, 630, 632, 633,
- 635, 637, 638, 639, 640, 642, 643, 645, 646, 648,
- 652
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 455, 456, 458, 459, 460, 461, 462, 463, 464,
+ 465, 467, 470, 472, 473, 474, 475, 476, 477, 477,
+ 478, 478, 479, 480, 483, 486, 487, 489, 493, 498,
+ 502, 507, 511, 523, 524, 525, 526, 530, 534, 539,
+ 540, 542, 543, 547, 551, 555, 555, 585, 585, 585,
+ 592, 593, 593, 600, 610, 618, 618, 620, 621, 622,
+ 623, 625, 626, 627, 629, 631, 639, 640, 641, 643,
+ 644, 646, 648, 649, 650, 651, 653, 654, 656, 657,
+ 659, 663
};
#endif
@@ -662,15 +663,15 @@ static const char *const yytname[] =
"ARGCNORET", "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
"FLOAT", "BLTIN", "FBLTIN", "RBLTIN", "ID", "STRING", "HANDLER",
"SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD",
- "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tIF", "tINTO",
- "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
- "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE",
- "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE", "tGE", "tLE", "tEQ",
- "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
- "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
- "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tENDIF",
- "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
- "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
+ "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tIF", "tIN",
+ "tINTO", "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS",
+ "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE",
+ "tNLELSE", "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE", "tGE",
+ "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE",
+ "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD",
+ "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON",
+ "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'",
+ "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
"$accept", "program", "programline", "asgn", "stmtoneliner",
"stmtonelinerwithif", "stmt", "tellstart", "ifstmt", "elseifstmtlist",
"elseifstmt", "ifoneliner", "repeatwhile", "repeatwith", "if", "elseif",
@@ -696,8 +697,8 @@ static const yytype_int16 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, 60, 62, 38, 43, 45, 42,
- 47, 37, 10, 40, 41, 44, 91, 93, 58
+ 335, 336, 337, 338, 339, 60, 62, 38, 43, 45,
+ 42, 47, 37, 10, 40, 41, 44, 91, 93, 58
};
# endif
@@ -715,43 +716,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 307, -82, -269, -269, 981, -269, 1014, 1093, 31, 1126,
- -269, -269, -269, -269, -269, -26, -269, 866, -269, -269,
- 10, 981, 47, 220, 18, 35, 981, 902, 55, 981,
- 981, 981, 981, 981, 981, 981, -269, -269, 981, 981,
- 981, 386, 7, -269, -269, -269, -269, -269, 981, 25,
- 981, 708, -269, 1555, -269, -269, -269, -269, -269, -269,
- -269, -269, -269, -269, -2, 981, 1555, 981, 1555, -6,
- 981, -6, -269, -269, 981, 1555, 37, 981, -269, -269,
- 87, -269, 981, -269, 72, -269, 378, -269, 100, -269,
- 144, 104, -269, 0, 31, 31, 14, 80, 103, -269,
- 1472, -269, 378, -269, -269, 57, -269, 1167, 1200, 1233,
- 1266, 1522, 1431, 131, 132, -269, -269, 1485, 58, 59,
- -269, 1555, 64, 68, 70, -269, -269, 471, 1555, 981,
- 1555, -269, -269, 981, 1555, -269, -269, 981, 981, 981,
- 981, 981, 981, 981, 981, 981, 981, 981, 981, 981,
- 981, 981, 981, 981, 145, 981, 144, 1485, -30, 981,
- 24, 26, 981, -6, 145, -269, 75, 1555, 981, -269,
- -269, 29, 981, 981, -269, 981, 981, 23, 136, 981,
- 981, 981, -269, 981, -269, 151, 981, 981, 981, 981,
- 981, 981, 981, 981, 981, 981, -269, -269, -269, 79,
- -269, -269, 31, 31, -269, 981, -5, -269, -269, 1555,
- 133, -269, 1555, 27, 27, 27, 27, 1568, 1568, -269,
- 17, 27, 27, 27, 27, 17, -51, -51, -269, -269,
- -269, -71, -269, 1555, -269, -269, 1555, -20, 170, 1555,
- -269, -269, -269, 1555, 1555, 1555, 27, 981, 981, 171,
- 1555, 27, 1555, 1555, -269, 1555, 1299, 1555, 1332, 1555,
- 1365, 1555, 1398, 1555, 1555, 787, -269, 172, -269, -269,
- 1555, 58, 59, -269, 629, 11, -269, 150, 105, 176,
- 105, -269, 145, 1555, 27, 31, 981, 981, 981, 981,
- -269, 629, -269, -269, -269, 117, 160, 981, 629, 787,
- 193, -269, -269, -269, 16, 168, 1555, 1555, 1555, 1555,
- -269, 134, -269, 981, 1555, -269, -269, -269, 550, 629,
- 105, 981, -269, 1555, -269, 99, -23, 196, -269, 1555,
- -269, 629, -269, -269, -269, 981, 138, -269, -269, -269,
- 125, 629, 629, 139, -269, 1555, -269, 787, 200, 141,
- -269, 629, 178, -269, -269, -269, 146, -269, 157, -269,
- 629, -269, -269
+ 339, -52, -269, -269, 1023, -269, 1057, 1137, 31, 1171,
+ -269, -269, -269, -269, -269, -27, -269, 905, -269, -269,
+ 37, 1023, 7, 102, 29, 55, 1023, 943, 74, 1023,
+ 1023, 1023, 1023, 1023, 1023, 1023, -269, -269, 1023, 1023,
+ 1023, 419, 8, -269, -269, -269, -269, -269, 1023, -19,
+ 1023, 745, -269, 1581, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, 13, 1023, 1581, 1023, 1581, 16,
+ 1023, 16, -269, -269, 1023, 1581, 18, 1023, -269, -269,
+ 91, -269, 1023, -269, 75, -269, 411, -269, 93, -269,
+ 167, 98, -269, -29, 31, 31, -1, 80, 84, -269,
+ 1498, -269, 411, -269, -269, 27, -269, 1192, 1226, 1259,
+ 1292, 1548, 1457, 129, 131, -269, -269, 1511, 56, 58,
+ -269, 1581, 60, 64, 65, -269, -269, 505, 1581, 1023,
+ 1023, 1581, -269, -269, 1023, 1581, -269, -269, 1023, 1023,
+ 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
+ 1023, 1023, 1023, 1023, 1023, 132, 1023, 167, 1511, -2,
+ 1023, 2, 4, 1023, 16, 132, -269, 66, 1581, 1023,
+ -269, -269, 17, 1023, 1023, -269, 1023, 1023, 1, 120,
+ 1023, 1023, 1023, -269, 1023, -269, 142, 1023, 1023, 1023,
+ 1023, 1023, 1023, 1023, 1023, 1023, 1023, -269, -269, -269,
+ 70, -269, -269, 31, 31, -269, 1023, 51, -269, -269,
+ 1581, 1581, 119, -269, 1581, 15, 15, 15, 15, 1594,
+ 1594, -269, 20, 15, 15, 15, 15, 20, -26, -26,
+ -269, -269, -269, -72, -269, 1581, -269, -269, 1581, -41,
+ 149, 1581, -269, -269, -269, 1581, 1581, 1581, 15, 1023,
+ 1023, 152, 1581, 15, 1581, 1581, -269, 1581, 1325, 1581,
+ 1358, 1581, 1391, 1581, 1424, 1581, 1581, 825, -269, 153,
+ -269, -269, 1581, 56, 58, -269, 665, -269, -16, -269,
+ 133, 83, 160, 83, -269, 132, 1581, 15, 31, 1023,
+ 1023, 1023, 1023, -269, 665, -269, -269, -269, 110, 665,
+ 145, 1023, 665, 825, 173, -269, -269, -269, -25, 150,
+ 1581, 1581, 1581, 1581, -269, 114, -269, 123, 1023, 1581,
+ -269, -269, -269, 585, 665, 83, 1023, -269, -269, 1581,
+ -269, 48, -15, 181, -269, 1581, -269, 665, -269, -269,
+ -269, 1023, 125, -269, -269, -269, 112, 665, 665, 126,
+ -269, 1581, -269, 825, 188, 130, -269, 665, 164, -269,
+ -269, -269, 134, -269, 135, -269, 665, -269, -269
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -759,64 +760,64 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 54, 65, 0, 55, 155, 155, 0, 58,
- 57, 56, 134, 140, 67, 106, 107, 0, 46, 136,
+ 0, 0, 55, 66, 0, 56, 156, 156, 0, 59,
+ 58, 57, 135, 141, 68, 107, 108, 0, 47, 137,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 109, 144, 0, 0,
- 0, 161, 0, 3, 68, 27, 7, 28, 0, 0,
- 0, 0, 60, 21, 101, 61, 22, 103, 104, 6,
- 48, 20, 59, 4, 58, 0, 66, 155, 156, 113,
- 155, 63, 58, 100, 155, 158, 154, 155, 48, 105,
- 0, 122, 0, 123, 0, 124, 125, 127, 0, 32,
- 102, 0, 44, 0, 0, 0, 0, 0, 0, 139,
- 115, 130, 131, 133, 120, 111, 82, 0, 0, 0,
- 0, 0, 0, 0, 0, 87, 88, 0, 57, 56,
- 162, 165, 0, 163, 164, 167, 1, 5, 49, 0,
- 49, 49, 26, 0, 24, 25, 23, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 110, 145, 0, 0,
+ 0, 162, 0, 3, 69, 27, 7, 28, 0, 0,
+ 0, 0, 61, 21, 102, 62, 22, 104, 105, 6,
+ 49, 20, 60, 4, 59, 0, 67, 156, 157, 114,
+ 156, 64, 59, 101, 156, 159, 155, 156, 49, 106,
+ 0, 123, 0, 124, 0, 125, 126, 128, 0, 33,
+ 103, 0, 45, 0, 0, 0, 0, 0, 0, 140,
+ 116, 131, 132, 134, 121, 112, 83, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 89, 0, 58, 57,
+ 163, 166, 0, 164, 165, 168, 1, 5, 50, 0,
+ 0, 50, 50, 26, 0, 24, 25, 23, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 146, 155, 0, 156, 0, 0,
- 0, 0, 0, 135, 146, 116, 108, 129, 0, 126,
- 137, 0, 0, 0, 45, 0, 0, 0, 0, 0,
- 0, 0, 53, 0, 132, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 36, 36, 118, 110,
- 145, 89, 0, 0, 160, 0, 0, 2, 50, 49,
- 0, 33, 49, 78, 79, 76, 77, 80, 81, 73,
- 84, 85, 86, 75, 74, 83, 69, 70, 71, 72,
- 147, 0, 112, 157, 62, 64, 159, 0, 0, 128,
- 48, 8, 9, 10, 11, 15, 13, 0, 0, 0,
- 14, 12, 19, 114, 121, 92, 0, 94, 0, 96,
- 0, 98, 0, 90, 91, 0, 50, 0, 170, 169,
- 166, 0, 0, 168, 49, 0, 50, 0, 153, 0,
- 153, 117, 146, 16, 17, 0, 0, 0, 0, 0,
- 49, 49, 119, 51, 52, 0, 0, 0, 49, 0,
- 0, 50, 148, 50, 0, 0, 93, 95, 97, 99,
- 35, 0, 29, 0, 49, 39, 49, 149, 143, 141,
- 153, 0, 34, 49, 50, 49, 0, 150, 50, 18,
- 50, 49, 48, 47, 40, 0, 0, 48, 43, 151,
- 142, 138, 49, 0, 50, 49, 37, 0, 0, 0,
- 30, 49, 0, 49, 152, 31, 0, 50, 0, 38,
- 49, 42, 41
+ 0, 0, 0, 0, 0, 147, 156, 0, 157, 0,
+ 0, 0, 0, 0, 136, 147, 117, 109, 130, 0,
+ 127, 138, 0, 0, 0, 46, 0, 0, 0, 0,
+ 0, 0, 0, 54, 0, 133, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 37, 119,
+ 111, 146, 90, 0, 0, 161, 0, 0, 2, 51,
+ 50, 50, 0, 34, 50, 79, 80, 77, 78, 81,
+ 82, 74, 85, 86, 87, 76, 75, 84, 70, 71,
+ 72, 73, 148, 0, 113, 158, 63, 65, 160, 0,
+ 0, 129, 49, 8, 9, 10, 11, 15, 13, 0,
+ 0, 0, 14, 12, 19, 115, 122, 93, 0, 95,
+ 0, 97, 0, 99, 0, 91, 92, 0, 51, 0,
+ 171, 170, 167, 0, 0, 169, 50, 51, 0, 51,
+ 0, 154, 0, 154, 118, 147, 16, 17, 0, 0,
+ 0, 0, 0, 50, 50, 120, 52, 53, 0, 50,
+ 0, 0, 50, 0, 0, 51, 149, 51, 0, 0,
+ 94, 96, 98, 100, 36, 0, 29, 0, 0, 50,
+ 40, 50, 150, 144, 142, 154, 0, 35, 32, 50,
+ 51, 50, 0, 151, 51, 18, 51, 50, 49, 48,
+ 41, 0, 0, 49, 44, 152, 143, 139, 50, 0,
+ 51, 50, 38, 0, 0, 0, 30, 50, 0, 50,
+ 153, 31, 0, 51, 0, 39, 50, 43, 42
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -269, -269, 112, -269, -254, -269, 33, 48, -269, -269,
- -269, -269, -269, -269, 175, -269, -74, -50, -234, -269,
- -7, -4, -269, 76, 195, -269, -269, -269, -269, -269,
- -269, -18, -269, -269, -269, -269, -269, -269, -269, -269,
- -158, -269, -268, 199, 9, -269, -269, -269, -269, -269,
- 45
+ -269, -269, 87, -269, -258, -269, 6, 21, -269, -269,
+ -269, -269, -269, -269, 170, -269, -74, -10, -57, -269,
+ -7, -4, -269, 43, 172, -269, -269, -269, -269, -269,
+ -269, -17, -269, -269, -269, -269, -269, -269, -269, -269,
+ -158, -269, -268, 174, 5, -269, -269, -269, -269, -269,
+ 11
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 42, 43, 44, 45, 131, 294, 265, 47, 325,
- 334, 132, 48, 49, 50, 335, 154, 208, 274, 51,
- 52, 53, 54, 55, 56, 80, 113, 166, 199, 105,
- 57, 87, 58, 77, 59, 88, 240, 78, 60, 114,
- 231, 340, 301, 61, 161, 76, 62, 122, 123, 124,
+ -1, 42, 43, 44, 45, 132, 297, 267, 47, 331,
+ 340, 133, 48, 49, 50, 341, 155, 209, 276, 51,
+ 52, 53, 54, 55, 56, 80, 113, 167, 200, 105,
+ 57, 87, 58, 77, 59, 88, 242, 78, 60, 114,
+ 233, 346, 305, 61, 162, 76, 62, 122, 123, 124,
125
};
@@ -825,342 +826,348 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 66, 73, 68, 68, 164, 75, 237, 126, 337, 103,
- 63, 290, 303, 86, 143, 69, 71, 90, 271, 79,
- 272, 278, 100, 102, 279, 106, 107, 108, 109, 110,
- 111, 112, 291, 46, 115, 116, 117, 121, 152, 153,
- 98, 296, 298, 2, 128, 316, 130, 134, 175, 5,
- 8, 241, 328, 72, 10, 89, 11, 99, 338, 297,
- 176, 156, 179, 157, 232, 159, 157, 318, 169, 319,
- 157, 247, 280, 68, 180, 279, 158, 104, 167, 160,
- 210, 211, 143, 248, 184, 129, 163, 177, 178, 159,
- 331, 155, 143, 353, 341, 144, 342, 91, 92, 127,
- 30, 31, 32, 33, 150, 151, 152, 153, 320, 165,
- 351, 279, 168, 149, 150, 151, 152, 153, 234, 159,
- 235, 159, 170, 360, 304, 209, 174, 41, 181, 212,
- 332, 333, 162, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 182, 68, 185, 198, 200, 233, 202, 203, 236, 275,
- 46, 204, 277, 205, 239, 206, 282, 230, 243, 244,
- 238, 245, 246, 254, 267, 250, 251, 252, 249, 253,
- 276, 171, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 281, 285, 292, 268, 269, 299, 302, 312,
- 300, 270, 137, 138, 139, 140, 141, 142, 313, 143,
- 172, 173, 144, 145, 146, 317, 321, 322, 339, 346,
- 348, 350, 354, 355, 295, 357, 133, 359, 147, 148,
- 149, 150, 151, 152, 153, 93, 94, 95, 361, 207,
- 310, 311, 96, 283, 284, 266, 135, 242, 315, 97,
- 136, 273, 0, 0, 0, 0, 0, 0, 344, 0,
- 0, 0, 0, 347, 324, 0, 326, 0, 0, 0,
- 0, 0, 0, 330, 0, 336, 0, 0, 305, 0,
- 0, 343, 306, 307, 308, 309, 0, 0, 0, 0,
- 0, 0, 349, 314, 0, 352, 0, 0, 0, 0,
- 0, 356, 0, 358, 0, 0, 0, -5, 1, 323,
- 362, 0, 0, 0, 0, 0, 0, 329, 0, 2,
- 0, 0, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 345, 11, 0, 12, 13, 14, 0, 0, 0,
- 15, 16, 17, 18, 0, 0, 19, 0, 20, 0,
- 0, 21, 22, 23, 0, 0, 24, 0, 0, 0,
- 25, 26, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
- 32, 33, 34, 0, 0, 35, 36, 37, 0, 0,
- 0, 0, 0, 0, 38, 39, 0, 0, 2, -5,
- 40, 3, 4, 41, 5, 0, 7, 8, 64, 118,
- 0, 119, 0, 0, 0, 14, 0, 0, 82, 0,
- 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 0, 23, 0, 0, 0, 137, 138, 139, 140,
- 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 147, 148, 149, 150, 151, 152, 153, 0,
- 0, 0, 0, 38, 39, 0, 0, 0, 0, 40,
- 0, 0, 41, 2, 120, 0, 3, 4, 0, 5,
- 6, 7, 8, 9, 10, 0, 11, 0, 12, 13,
- 14, 0, 0, 0, 15, 16, 17, 18, 0, 0,
- 19, 0, 20, 0, 0, 21, 22, 23, 0, 0,
- 24, 0, 0, 0, 25, 26, 27, 0, 28, 0,
- 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
- 0, 0, 30, 31, 32, 33, 34, 0, 0, 35,
- 36, 37, 0, 0, 0, 0, 0, 0, 38, 39,
- 0, 0, 2, 0, 40, 3, 4, 41, 5, 6,
- 7, 8, 9, 10, 0, 11, 327, 12, 0, 14,
- 0, 0, 0, 15, 16, 17, 18, 0, 0, 0,
+ 66, 73, 68, 68, 165, 75, 46, 239, 126, 293,
+ 103, 69, 71, 86, 300, 307, 343, 90, 129, 79,
+ 176, 281, 100, 102, 282, 106, 107, 108, 109, 110,
+ 111, 112, 177, 301, 115, 116, 117, 121, 8, 243,
+ 144, 63, 130, 2, 128, 321, 131, 135, 180, 5,
+ 249, 98, 283, 72, 10, 282, 11, 334, 91, 92,
+ 181, 157, 250, 158, 153, 154, 158, 344, 325, 170,
+ 158, 282, 159, 68, 273, 161, 274, 99, 168, 338,
+ 339, 144, 164, 89, 145, 185, 144, 178, 179, 30,
+ 31, 32, 33, 234, 160, 359, 104, 236, 160, 237,
+ 160, 127, 150, 151, 152, 153, 154, 156, 151, 152,
+ 153, 154, 160, 166, 163, 171, 169, 93, 94, 95,
+ 175, 212, 213, 186, 96, 210, 211, 308, 41, 182,
+ 214, 97, 183, 46, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 199, 68, 201, 232, 203, 235, 204, 205, 238,
+ 206, 207, 240, 251, 256, 241, 269, 279, 285, 245,
+ 246, 284, 247, 248, 288, 295, 252, 253, 254, 304,
+ 255, 303, 306, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 316, 318, 322, 270, 271, 327, 326,
+ 277, 278, 272, 345, 280, 172, 328, 352, 354, 356,
+ 360, 294, 363, 361, 208, 244, 365, 367, 275, 268,
+ 299, 134, 302, 136, 0, 137, 138, 139, 140, 141,
+ 142, 143, 0, 144, 173, 174, 145, 146, 147, 0,
+ 0, 0, 0, 0, 0, 286, 287, 0, 323, 0,
+ 324, 0, 148, 149, 150, 151, 152, 153, 154, 0,
+ 0, 0, 0, 0, 350, 0, 298, 0, 0, 353,
+ 0, 0, 0, 337, 0, 0, 0, 347, 0, 348,
+ 0, 309, 0, 314, 315, 310, 311, 312, 313, 317,
+ 0, 0, 320, 357, 0, 0, 0, 319, 0, 0,
+ 0, 0, 0, 0, 0, 0, 366, 0, 0, 330,
+ 0, 332, 0, 0, 329, 0, 0, 0, 0, 336,
+ 0, 342, 335, 0, 0, 0, 0, 349, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 351, 355, -5,
+ 1, 358, 0, 0, 0, 0, 0, 362, 0, 364,
+ 0, 2, 0, 0, 3, 4, 368, 5, 6, 7,
+ 8, 9, 10, 0, 11, 0, 12, 13, 14, 0,
+ 0, 0, 15, 16, 17, 18, 0, 0, 0, 19,
0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
- 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 25, 26, 27, 0, 28, 0, 0,
0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 293, 40, 3, 4, 41, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
- 20, 0, 0, 21, 22, 23, 0, 0, 24, 0,
- 0, 0, 0, 26, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
- 30, 31, 32, 33, 34, 0, 0, 35, 36, 0,
- 0, 0, 0, 0, 0, 0, 38, 39, 0, 0,
- 2, 293, 40, 3, 4, 41, 5, 6, 7, 8,
- 9, 10, 0, 11, 0, 12, 0, 14, 0, 0,
- 0, 15, 16, 17, 18, 0, 0, 0, 0, 0,
- 0, 0, 21, 0, 23, 0, 0, 0, 0, 0,
- 0, 0, 26, 27, 0, 28, 0, 0, 0, 0,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 0, 0, 36, 0, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
- 0, 40, 3, 4, 41, 5, 6, 7, 8, 9,
- 10, 0, 11, 0, 12, 0, 14, 0, 0, 0,
- 15, 16, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 23, 0, 0, 0, 0, 0, 0,
- 0, 26, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
- 32, 33, 34, 0, 0, 0, 36, 0, 0, 0,
- 0, 0, 0, 0, 38, 39, 0, 0, 2, 0,
- 40, 3, 4, 41, 5, 0, 7, 8, 64, 10,
- 0, 11, 0, 0, 0, 14, 0, 0, 0, 0,
+ 37, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, -5, 40, 3, 4, 41, 5, 0, 7,
+ 8, 64, 118, 0, 119, 0, 0, 0, 14, 0,
+ 0, 0, 82, 0, 84, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 65, 0, 23, 0, 0, 0,
+ 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
+ 145, 146, 147, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 148, 149, 150, 151,
+ 152, 153, 154, 0, 0, 0, 0, 38, 39, 0,
+ 0, 0, 0, 40, 0, 0, 41, 2, 120, 0,
+ 3, 4, 0, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 13, 14, 0, 0, 0, 15, 16,
+ 17, 18, 0, 0, 0, 19, 0, 20, 0, 0,
+ 21, 22, 23, 0, 0, 24, 0, 0, 0, 25,
+ 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 35, 36, 37, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
+ 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
+ 11, 333, 12, 0, 14, 0, 0, 0, 15, 16,
+ 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
+ 21, 22, 23, 0, 0, 24, 0, 0, 0, 0,
+ 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 35, 36, 0, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 296, 40,
+ 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
+ 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
+ 21, 22, 23, 0, 0, 24, 0, 0, 0, 0,
+ 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 35, 36, 0, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 296, 40,
+ 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
+ 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
+ 21, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 0, 36, 0, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
+ 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 21, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 0, 36, 0, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
+ 3, 4, 41, 5, 0, 7, 8, 64, 10, 0,
+ 11, 0, 0, 0, 14, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
- 65, 0, 23, 0, 2, 0, 0, 3, 4, 0,
- 5, 0, 7, 8, 64, 10, 0, 11, 0, 0,
- 29, 14, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 82, 0, 84, 0, 65, 0, 23, 0,
- 0, 0, 0, 38, 39, 0, 0, 0, 101, 40,
- 0, 0, 41, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
- 39, 0, 0, 2, 0, 40, 3, 4, 41, 5,
- 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 65, 2, 23, 0, 3,
- 4, 0, 5, 0, 7, 8, 64, 10, 0, 11,
- 0, 0, 0, 14, 0, 29, 0, 0, 0, 0,
- 0, 0, 30, 31, 32, 33, 34, 0, 65, 0,
- 23, 0, 0, 0, 0, 0, 0, 0, 38, 39,
- 0, 0, 0, 0, 40, 0, 0, 41, 29, 0,
+ 65, 0, 23, 0, 0, 2, 0, 0, 3, 4,
+ 0, 5, 0, 7, 8, 64, 10, 0, 11, 0,
+ 29, 0, 14, 0, 0, 0, 0, 30, 31, 32,
+ 33, 34, 0, 0, 82, 0, 84, 0, 65, 0,
+ 23, 0, 0, 38, 39, 0, 0, 0, 0, 40,
+ 101, 0, 41, 0, 0, 0, 0, 0, 29, 0,
0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 2, 0, 67, 3, 4,
+ 0, 38, 39, 0, 0, 2, 0, 40, 3, 4,
41, 5, 0, 7, 8, 64, 10, 0, 11, 0,
0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 65, 2, 23,
- 0, 3, 4, 0, 5, 0, 7, 8, 64, 10,
- 0, 11, 0, 0, 0, 14, 0, 29, 0, 0,
- 0, 0, 0, 0, 30, 31, 32, 33, 34, 0,
- 65, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 38, 39, 0, 0, 0, 0, 70, 0, 0, 41,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 0, 0, 0, 0, 0, 186,
- 0, 0, 0, 38, 39, 187, 0, 0, 0, 74,
- 0, 0, 41, 0, 0, 137, 138, 139, 140, 141,
- 142, 0, 143, 0, 0, 144, 145, 146, 0, 0,
- 0, 0, 188, 0, 0, 0, 0, 0, 189, 0,
- 0, 147, 148, 149, 150, 151, 152, 153, 137, 138,
- 139, 140, 141, 142, 0, 143, 0, 0, 144, 145,
- 146, 0, 0, 0, 0, 190, 0, 0, 0, 0,
- 0, 191, 0, 0, 147, 148, 149, 150, 151, 152,
- 153, 137, 138, 139, 140, 141, 142, 0, 143, 0,
- 0, 144, 145, 146, 0, 0, 0, 0, 192, 0,
- 0, 0, 0, 0, 193, 0, 0, 147, 148, 149,
- 150, 151, 152, 153, 137, 138, 139, 140, 141, 142,
- 0, 143, 0, 0, 144, 145, 146, 0, 0, 0,
- 0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
- 147, 148, 149, 150, 151, 152, 153, 137, 138, 139,
- 140, 141, 142, 0, 143, 0, 0, 144, 145, 146,
- 0, 0, 0, 0, 287, 0, 0, 0, 0, 0,
- 0, 0, 0, 147, 148, 149, 150, 151, 152, 153,
- 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
- 144, 145, 146, 0, 0, 0, 0, 288, 0, 0,
- 0, 0, 0, 0, 0, 0, 147, 148, 149, 150,
- 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
- 143, 0, 0, 144, 145, 146, 0, 0, 0, 0,
- 289, 0, 0, 0, 0, 0, 0, 0, 0, 147,
- 148, 149, 150, 151, 152, 153, 137, 138, 139, 140,
- 141, 142, 0, 143, 0, 0, 144, 145, 146, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 196,
- 0, 0, 147, 148, 149, 150, 151, 152, 153, 137,
- 138, 139, 140, 141, 142, 0, 143, 0, 0, 144,
- 145, 146, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 147, 148, 149, 150, 151,
- 152, 153, 183, 197, 0, 0, 0, 0, 0, 0,
- 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
- 144, 145, 146, 137, 138, 139, 140, 141, 142, 0,
- 143, 0, 0, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 0, 0, 0, 0, 0, 0, 147,
- 148, 149, 150, 151, 152, 153, 0, 0, 0, 201,
- 137, 138, 139, 140, 141, 142, 0, 143, 0, 0,
- 144, 145, 146, 0, 0, 0, 0, 0, 194, 195,
- 0, 0, 0, 0, 0, 0, 147, 148, 149, 150,
- 151, 152, 153, 137, 138, 139, 140, 141, 142, 0,
- 143, 0, 0, 144, 145, 146, 137, 138, 139, 140,
- 0, 0, 0, 143, 0, 0, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 0, 0, 0, 0,
- 0, 0, 147, 148, 149, 150, 151, 152, 153
+ 0, 0, 0, 0, 0, 0, 0, 0, 65, 2,
+ 23, 0, 3, 4, 0, 5, 0, 7, 8, 64,
+ 10, 0, 11, 0, 0, 0, 14, 0, 29, 0,
+ 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
+ 0, 0, 65, 0, 23, 0, 0, 0, 0, 0,
+ 0, 38, 39, 0, 0, 0, 0, 40, 0, 0,
+ 41, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 31, 32, 33, 34, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
+ 0, 67, 3, 4, 41, 5, 0, 7, 8, 64,
+ 10, 0, 11, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 65, 2, 23, 0, 3, 4, 0, 5,
+ 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
+ 14, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 31, 32, 33, 34, 0, 0, 65, 0, 23, 0,
+ 0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
+ 0, 70, 0, 0, 41, 187, 29, 0, 0, 0,
+ 0, 188, 0, 30, 31, 32, 33, 34, 0, 0,
+ 0, 138, 139, 140, 141, 142, 143, 0, 144, 38,
+ 39, 145, 146, 147, 0, 74, 0, 0, 41, 189,
+ 0, 0, 0, 0, 0, 190, 0, 148, 149, 150,
+ 151, 152, 153, 154, 0, 138, 139, 140, 141, 142,
+ 143, 0, 144, 0, 0, 145, 146, 147, 0, 0,
+ 0, 0, 191, 0, 0, 0, 0, 0, 192, 0,
+ 0, 148, 149, 150, 151, 152, 153, 154, 138, 139,
+ 140, 141, 142, 143, 0, 144, 0, 0, 145, 146,
+ 147, 0, 0, 0, 0, 193, 0, 0, 0, 0,
+ 0, 194, 0, 0, 148, 149, 150, 151, 152, 153,
+ 154, 138, 139, 140, 141, 142, 143, 0, 144, 0,
+ 0, 145, 146, 147, 0, 0, 0, 0, 289, 0,
+ 0, 0, 0, 0, 0, 0, 0, 148, 149, 150,
+ 151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
+ 0, 144, 0, 0, 145, 146, 147, 0, 0, 0,
+ 0, 290, 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 149, 150, 151, 152, 153, 154, 138, 139, 140,
+ 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
+ 0, 0, 0, 0, 291, 0, 0, 0, 0, 0,
+ 0, 0, 0, 148, 149, 150, 151, 152, 153, 154,
+ 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
+ 145, 146, 147, 0, 0, 0, 0, 292, 0, 0,
+ 0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
+ 152, 153, 154, 138, 139, 140, 141, 142, 143, 0,
+ 144, 0, 0, 145, 146, 147, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 197, 0, 0, 148,
+ 149, 150, 151, 152, 153, 154, 138, 139, 140, 141,
+ 142, 143, 0, 144, 0, 0, 145, 146, 147, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 148, 149, 150, 151, 152, 153, 154, 184,
+ 198, 0, 0, 0, 0, 0, 0, 138, 139, 140,
+ 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
+ 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
+ 152, 153, 154, 0, 0, 0, 202, 138, 139, 140,
+ 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
+ 0, 0, 0, 0, 0, 195, 196, 0, 0, 0,
+ 0, 0, 0, 148, 149, 150, 151, 152, 153, 154,
+ 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
+ 145, 146, 147, 138, 139, 140, 141, 0, 0, 0,
+ 144, 0, 0, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 0, 0, 0, 0, 0, 0, 148,
+ 149, 150, 151, 152, 153, 154
};
static const yytype_int16 yycheck[] =
{
- 4, 8, 6, 7, 78, 9, 164, 0, 31, 27,
- 92, 265, 280, 17, 65, 6, 7, 21, 23, 45,
- 25, 92, 26, 27, 95, 29, 30, 31, 32, 33,
- 34, 35, 266, 0, 38, 39, 40, 41, 89, 90,
- 22, 30, 276, 12, 48, 299, 50, 51, 48, 18,
- 21, 22, 320, 22, 23, 45, 25, 22, 81, 48,
- 60, 65, 48, 67, 94, 95, 70, 301, 86, 303,
- 74, 48, 92, 77, 60, 95, 67, 22, 82, 70,
- 130, 131, 65, 60, 102, 60, 77, 94, 95, 95,
- 324, 93, 65, 347, 328, 68, 330, 50, 51, 92,
- 71, 72, 73, 74, 87, 88, 89, 90, 92, 22,
- 344, 95, 40, 86, 87, 88, 89, 90, 94, 95,
- 94, 95, 22, 357, 282, 129, 22, 96, 48, 133,
- 31, 32, 95, 137, 138, 139, 140, 141, 142, 143,
+ 4, 8, 6, 7, 78, 9, 0, 165, 0, 267,
+ 27, 6, 7, 17, 30, 283, 31, 21, 37, 46,
+ 49, 93, 26, 27, 96, 29, 30, 31, 32, 33,
+ 34, 35, 61, 49, 38, 39, 40, 41, 21, 22,
+ 66, 93, 61, 12, 48, 303, 50, 51, 49, 18,
+ 49, 22, 93, 22, 23, 96, 25, 325, 51, 52,
+ 61, 65, 61, 67, 90, 91, 70, 82, 93, 86,
+ 74, 96, 67, 77, 23, 70, 25, 22, 82, 31,
+ 32, 66, 77, 46, 69, 102, 66, 94, 95, 72,
+ 73, 74, 75, 95, 96, 353, 22, 95, 96, 95,
+ 96, 93, 87, 88, 89, 90, 91, 94, 88, 89,
+ 90, 91, 96, 22, 96, 22, 41, 15, 16, 17,
+ 22, 131, 132, 96, 22, 129, 130, 285, 97, 49,
+ 134, 29, 48, 127, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 47, 155, 95, 22, 22, 159, 98, 98, 162, 209,
- 127, 97, 212, 95, 168, 95, 240, 22, 172, 173,
- 95, 175, 176, 22, 95, 179, 180, 181, 42, 183,
- 47, 37, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 22, 22, 22, 202, 203, 47, 22, 82,
- 95, 205, 58, 59, 60, 61, 62, 63, 48, 65,
- 66, 67, 68, 69, 70, 22, 48, 83, 22, 81,
- 95, 82, 22, 82, 274, 47, 51, 81, 84, 85,
- 86, 87, 88, 89, 90, 15, 16, 17, 81, 127,
- 290, 291, 22, 247, 248, 197, 51, 171, 298, 29,
- 51, 206, -1, -1, -1, -1, -1, -1, 332, -1,
- -1, -1, -1, 337, 314, -1, 316, -1, -1, -1,
- -1, -1, -1, 323, -1, 325, -1, -1, 285, -1,
- -1, 331, 286, 287, 288, 289, -1, -1, -1, -1,
- -1, -1, 342, 297, -1, 345, -1, -1, -1, -1,
- -1, 351, -1, 353, -1, -1, -1, 0, 1, 313,
- 360, -1, -1, -1, -1, -1, -1, 321, -1, 12,
- -1, -1, 15, 16, -1, 18, 19, 20, 21, 22,
- 23, 335, 25, -1, 27, 28, 29, -1, -1, -1,
- 33, 34, 35, 36, -1, -1, 39, -1, 41, -1,
- -1, 44, 45, 46, -1, -1, 49, -1, -1, -1,
- 53, 54, 55, -1, 57, -1, -1, -1, -1, -1,
- -1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
- 73, 74, 75, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, -1, 87, 88, -1, -1, 12, 92,
- 93, 15, 16, 96, 18, -1, 20, 21, 22, 23,
- -1, 25, -1, -1, -1, 29, -1, -1, 40, -1,
- 42, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 44, -1, 46, -1, -1, -1, 58, 59, 60, 61,
- 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
- 64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, 84, 85, 86, 87, 88, 89, 90, -1,
- -1, -1, -1, 87, 88, -1, -1, -1, -1, 93,
- -1, -1, 96, 12, 98, -1, 15, 16, -1, 18,
- 19, 20, 21, 22, 23, -1, 25, -1, 27, 28,
- 29, -1, -1, -1, 33, 34, 35, 36, -1, -1,
- 39, -1, 41, -1, -1, 44, 45, 46, -1, -1,
- 49, -1, -1, -1, 53, 54, 55, -1, 57, -1,
- -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
- -1, -1, 71, 72, 73, 74, 75, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, -1, -1, 87, 88,
- -1, -1, 12, -1, 93, 15, 16, 96, 18, 19,
- 20, 21, 22, 23, -1, 25, 26, 27, -1, 29,
- -1, -1, -1, 33, 34, 35, 36, -1, -1, -1,
- -1, 41, -1, -1, 44, 45, 46, -1, -1, 49,
- -1, -1, -1, -1, 54, 55, -1, 57, -1, -1,
- -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
- -1, 71, 72, 73, 74, 75, -1, -1, 78, 79,
- -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
- -1, 12, 92, 93, 15, 16, 96, 18, 19, 20,
- 21, 22, 23, -1, 25, -1, 27, -1, 29, -1,
- -1, -1, 33, 34, 35, 36, -1, -1, -1, -1,
- 41, -1, -1, 44, 45, 46, -1, -1, 49, -1,
- -1, -1, -1, 54, 55, -1, 57, -1, -1, -1,
- -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
- 71, 72, 73, 74, 75, -1, -1, 78, 79, -1,
- -1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
- 12, 92, 93, 15, 16, 96, 18, 19, 20, 21,
- 22, 23, -1, 25, -1, 27, -1, 29, -1, -1,
- -1, 33, 34, 35, 36, -1, -1, -1, -1, -1,
- -1, -1, 44, -1, 46, -1, -1, -1, -1, -1,
- -1, -1, 54, 55, -1, 57, -1, -1, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, -1, 71,
- 72, 73, 74, 75, -1, -1, -1, 79, -1, -1,
- -1, -1, -1, -1, -1, 87, 88, -1, -1, 12,
- -1, 93, 15, 16, 96, 18, 19, 20, 21, 22,
- 23, -1, 25, -1, 27, -1, 29, -1, -1, -1,
- 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
- -1, 44, -1, 46, -1, -1, -1, -1, -1, -1,
- -1, 54, 55, -1, 57, -1, -1, -1, -1, -1,
- -1, 64, -1, -1, -1, -1, -1, -1, 71, 72,
- 73, 74, 75, -1, -1, -1, 79, -1, -1, -1,
- -1, -1, -1, -1, 87, 88, -1, -1, 12, -1,
- 93, 15, 16, 96, 18, -1, 20, 21, 22, 23,
- -1, 25, -1, -1, -1, 29, -1, -1, -1, -1,
- -1, -1, -1, -1, 38, -1, 40, 41, 42, 43,
- 44, -1, 46, -1, 12, -1, -1, 15, 16, -1,
- 18, -1, 20, 21, 22, 23, -1, 25, -1, -1,
- 64, 29, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, 40, -1, 42, -1, 44, -1, 46, -1,
- -1, -1, -1, 87, 88, -1, -1, -1, 56, 93,
- -1, -1, 96, -1, -1, -1, 64, -1, -1, -1,
- -1, -1, -1, 71, 72, 73, 74, 75, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
- 88, -1, -1, 12, -1, 93, 15, 16, 96, 18,
- -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
- 29, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 44, 12, 46, -1, 15,
- 16, -1, 18, -1, 20, 21, 22, 23, -1, 25,
- -1, -1, -1, 29, -1, 64, -1, -1, -1, -1,
- -1, -1, 71, 72, 73, 74, 75, -1, 44, -1,
- 46, -1, -1, -1, -1, -1, -1, -1, 87, 88,
- -1, -1, -1, -1, 93, -1, -1, 96, 64, -1,
- -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
+ 154, 22, 156, 22, 22, 99, 160, 99, 98, 163,
+ 96, 96, 96, 43, 22, 169, 96, 48, 242, 173,
+ 174, 22, 176, 177, 22, 22, 180, 181, 182, 96,
+ 184, 48, 22, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 83, 49, 22, 203, 204, 84, 49,
+ 210, 211, 206, 22, 214, 38, 83, 82, 96, 83,
+ 22, 268, 48, 83, 127, 172, 82, 82, 207, 198,
+ 277, 51, 279, 51, -1, 51, 59, 60, 61, 62,
+ 63, 64, -1, 66, 67, 68, 69, 70, 71, -1,
+ -1, -1, -1, -1, -1, 249, 250, -1, 305, -1,
+ 307, -1, 85, 86, 87, 88, 89, 90, 91, -1,
+ -1, -1, -1, -1, 338, -1, 276, -1, -1, 343,
+ -1, -1, -1, 330, -1, -1, -1, 334, -1, 336,
+ -1, 288, -1, 293, 294, 289, 290, 291, 292, 299,
+ -1, -1, 302, 350, -1, -1, -1, 301, -1, -1,
+ -1, -1, -1, -1, -1, -1, 363, -1, -1, 319,
+ -1, 321, -1, -1, 318, -1, -1, -1, -1, 329,
+ -1, 331, 326, -1, -1, -1, -1, 337, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 341, 348, 0,
+ 1, 351, -1, -1, -1, -1, -1, 357, -1, 359,
+ -1, 12, -1, -1, 15, 16, 366, 18, 19, 20,
+ 21, 22, 23, -1, 25, -1, 27, 28, 29, -1,
+ -1, -1, 33, 34, 35, 36, -1, -1, -1, 40,
+ -1, 42, -1, -1, 45, 46, 47, -1, -1, 50,
+ -1, -1, -1, 54, 55, 56, -1, 58, -1, -1,
+ -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
+ -1, 72, 73, 74, 75, 76, -1, -1, 79, 80,
+ 81, -1, -1, -1, -1, -1, -1, 88, 89, -1,
+ -1, 12, 93, 94, 15, 16, 97, 18, -1, 20,
+ 21, 22, 23, -1, 25, -1, -1, -1, 29, -1,
+ -1, -1, 41, -1, 43, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 45, -1, 47, -1, -1, -1,
+ 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
+ 69, 70, 71, -1, 65, -1, -1, -1, -1, -1,
+ -1, 72, 73, 74, 75, 76, 85, 86, 87, 88,
+ 89, 90, 91, -1, -1, -1, -1, 88, 89, -1,
+ -1, -1, -1, 94, -1, -1, 97, 12, 99, -1,
+ 15, 16, -1, 18, 19, 20, 21, 22, 23, -1,
+ 25, -1, 27, 28, 29, -1, -1, -1, 33, 34,
+ 35, 36, -1, -1, -1, 40, -1, 42, -1, -1,
+ 45, 46, 47, -1, -1, 50, -1, -1, -1, 54,
+ 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
+ 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, 79, 80, 81, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
+ 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
+ 25, 26, 27, -1, 29, -1, -1, -1, 33, 34,
+ 35, 36, -1, -1, -1, -1, -1, 42, -1, -1,
+ 45, 46, 47, -1, -1, 50, -1, -1, -1, -1,
+ 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
+ 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, 79, 80, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, -1, 12, 93, 94,
+ 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
+ 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
+ 35, 36, -1, -1, -1, -1, -1, 42, -1, -1,
+ 45, 46, 47, -1, -1, 50, -1, -1, -1, -1,
+ 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
+ 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, 79, 80, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, -1, 12, 93, 94,
+ 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
+ 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
+ 35, 36, -1, -1, -1, -1, -1, -1, -1, -1,
+ 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
+ 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, -1, 80, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
+ 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
+ 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
+ 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
+ 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, -1, 80, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
+ 15, 16, 97, 18, -1, 20, 21, 22, 23, -1,
+ 25, -1, -1, -1, 29, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 39, -1, 41, 42, 43, 44,
+ 45, -1, 47, -1, -1, 12, -1, -1, 15, 16,
+ -1, 18, -1, 20, 21, 22, 23, -1, 25, -1,
+ 65, -1, 29, -1, -1, -1, -1, 72, 73, 74,
+ 75, 76, -1, -1, 41, -1, 43, -1, 45, -1,
+ 47, -1, -1, 88, 89, -1, -1, -1, -1, 94,
+ 57, -1, 97, -1, -1, -1, -1, -1, 65, -1,
+ -1, -1, -1, -1, -1, 72, 73, 74, 75, 76,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 87, 88, -1, -1, 12, -1, 93, 15, 16,
- 96, 18, -1, 20, 21, 22, 23, -1, 25, -1,
+ -1, 88, 89, -1, -1, 12, -1, 94, 15, 16,
+ 97, 18, -1, 20, 21, 22, 23, -1, 25, -1,
-1, -1, 29, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, 12, 46,
- -1, 15, 16, -1, 18, -1, 20, 21, 22, 23,
- -1, 25, -1, -1, -1, 29, -1, 64, -1, -1,
- -1, -1, -1, -1, 71, 72, 73, 74, 75, -1,
- 44, -1, 46, -1, -1, -1, -1, -1, -1, -1,
- 87, 88, -1, -1, -1, -1, 93, -1, -1, 96,
- 64, -1, -1, -1, -1, -1, -1, 71, 72, 73,
- 74, 75, -1, -1, -1, -1, -1, -1, -1, 42,
- -1, -1, -1, 87, 88, 48, -1, -1, -1, 93,
- -1, -1, 96, -1, -1, 58, 59, 60, 61, 62,
- 63, -1, 65, -1, -1, 68, 69, 70, -1, -1,
- -1, -1, 42, -1, -1, -1, -1, -1, 48, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 58, 59,
- 60, 61, 62, 63, -1, 65, -1, -1, 68, 69,
- 70, -1, -1, -1, -1, 42, -1, -1, -1, -1,
- -1, 48, -1, -1, 84, 85, 86, 87, 88, 89,
- 90, 58, 59, 60, 61, 62, 63, -1, 65, -1,
- -1, 68, 69, 70, -1, -1, -1, -1, 42, -1,
- -1, -1, -1, -1, 48, -1, -1, 84, 85, 86,
- 87, 88, 89, 90, 58, 59, 60, 61, 62, 63,
- -1, 65, -1, -1, 68, 69, 70, -1, -1, -1,
- -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
- 84, 85, 86, 87, 88, 89, 90, 58, 59, 60,
- 61, 62, 63, -1, 65, -1, -1, 68, 69, 70,
- -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
- -1, -1, -1, 84, 85, 86, 87, 88, 89, 90,
- 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
- 68, 69, 70, -1, -1, -1, -1, 42, -1, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
- 65, -1, -1, 68, 69, 70, -1, -1, -1, -1,
- 42, -1, -1, -1, -1, -1, -1, -1, -1, 84,
- 85, 86, 87, 88, 89, 90, 58, 59, 60, 61,
- 62, 63, -1, 65, -1, -1, 68, 69, 70, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
- -1, -1, 84, 85, 86, 87, 88, 89, 90, 58,
- 59, 60, 61, 62, 63, -1, 65, -1, -1, 68,
- 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
- 89, 90, 50, 92, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
- 68, 69, 70, 58, 59, 60, 61, 62, 63, -1,
- 65, -1, -1, 68, 69, 70, 84, 85, 86, 87,
- 88, 89, 90, -1, -1, -1, -1, -1, -1, 84,
- 85, 86, 87, 88, 89, 90, -1, -1, -1, 94,
- 58, 59, 60, 61, 62, 63, -1, 65, -1, -1,
- 68, 69, 70, -1, -1, -1, -1, -1, 76, 77,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 58, 59, 60, 61, 62, 63, -1,
- 65, -1, -1, 68, 69, 70, 58, 59, 60, 61,
- -1, -1, -1, 65, -1, -1, 68, 69, 70, 84,
- 85, 86, 87, 88, 89, 90, -1, -1, -1, -1,
- -1, -1, 84, 85, 86, 87, 88, 89, 90
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, 12,
+ 47, -1, 15, 16, -1, 18, -1, 20, 21, 22,
+ 23, -1, 25, -1, -1, -1, 29, -1, 65, -1,
+ -1, -1, -1, -1, -1, 72, 73, 74, 75, 76,
+ -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
+ -1, 88, 89, -1, -1, -1, -1, 94, -1, -1,
+ 97, -1, 65, -1, -1, -1, -1, -1, -1, 72,
+ 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 88, 89, -1, -1, 12,
+ -1, 94, 15, 16, 97, 18, -1, 20, 21, 22,
+ 23, -1, 25, -1, -1, -1, 29, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 45, 12, 47, -1, 15, 16, -1, 18,
+ -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
+ 29, -1, 65, -1, -1, -1, -1, -1, -1, 72,
+ 73, 74, 75, 76, -1, -1, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, 88, 89, -1, -1, -1,
+ -1, 94, -1, -1, 97, 43, 65, -1, -1, -1,
+ -1, 49, -1, 72, 73, 74, 75, 76, -1, -1,
+ -1, 59, 60, 61, 62, 63, 64, -1, 66, 88,
+ 89, 69, 70, 71, -1, 94, -1, -1, 97, 43,
+ -1, -1, -1, -1, -1, 49, -1, 85, 86, 87,
+ 88, 89, 90, 91, -1, 59, 60, 61, 62, 63,
+ 64, -1, 66, -1, -1, 69, 70, 71, -1, -1,
+ -1, -1, 43, -1, -1, -1, -1, -1, 49, -1,
+ -1, 85, 86, 87, 88, 89, 90, 91, 59, 60,
+ 61, 62, 63, 64, -1, 66, -1, -1, 69, 70,
+ 71, -1, -1, -1, -1, 43, -1, -1, -1, -1,
+ -1, 49, -1, -1, 85, 86, 87, 88, 89, 90,
+ 91, 59, 60, 61, 62, 63, 64, -1, 66, -1,
+ -1, 69, 70, 71, -1, -1, -1, -1, 43, -1,
+ -1, -1, -1, -1, -1, -1, -1, 85, 86, 87,
+ 88, 89, 90, 91, 59, 60, 61, 62, 63, 64,
+ -1, 66, -1, -1, 69, 70, 71, -1, -1, -1,
+ -1, 43, -1, -1, -1, -1, -1, -1, -1, -1,
+ 85, 86, 87, 88, 89, 90, 91, 59, 60, 61,
+ 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
+ -1, -1, -1, -1, 43, -1, -1, -1, -1, -1,
+ -1, -1, -1, 85, 86, 87, 88, 89, 90, 91,
+ 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
+ 69, 70, 71, -1, -1, -1, -1, 43, -1, -1,
+ -1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
+ 89, 90, 91, 59, 60, 61, 62, 63, 64, -1,
+ 66, -1, -1, 69, 70, 71, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 49, -1, -1, 85,
+ 86, 87, 88, 89, 90, 91, 59, 60, 61, 62,
+ 63, 64, -1, 66, -1, -1, 69, 70, 71, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 85, 86, 87, 88, 89, 90, 91, 51,
+ 93, -1, -1, -1, -1, -1, -1, 59, 60, 61,
+ 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
+ 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
+ 69, 70, 71, 85, 86, 87, 88, 89, 90, 91,
+ -1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
+ 89, 90, 91, -1, -1, -1, 95, 59, 60, 61,
+ 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
+ -1, -1, -1, -1, -1, 77, 78, -1, -1, -1,
+ -1, -1, -1, 85, 86, 87, 88, 89, 90, 91,
+ 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
+ 69, 70, 71, 59, 60, 61, 62, -1, -1, -1,
+ 66, -1, -1, 69, 70, 71, 85, 86, 87, 88,
+ 89, 90, 91, -1, -1, -1, -1, -1, -1, 85,
+ 86, 87, 88, 89, 90, 91
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1168,65 +1175,65 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 1, 12, 15, 16, 18, 19, 20, 21, 22,
- 23, 25, 27, 28, 29, 33, 34, 35, 36, 39,
- 41, 44, 45, 46, 49, 53, 54, 55, 57, 64,
- 71, 72, 73, 74, 75, 78, 79, 80, 87, 88,
- 93, 96, 100, 101, 102, 103, 105, 107, 111, 112,
- 113, 118, 119, 120, 121, 122, 123, 129, 131, 133,
- 137, 142, 145, 92, 22, 44, 120, 93, 120, 143,
- 93, 143, 22, 119, 93, 120, 144, 132, 136, 45,
- 124, 38, 40, 41, 42, 43, 120, 130, 134, 45,
- 120, 50, 51, 15, 16, 17, 22, 29, 22, 22,
- 120, 56, 120, 130, 22, 128, 120, 120, 120, 120,
- 120, 120, 120, 125, 138, 120, 120, 120, 23, 25,
- 98, 120, 146, 147, 148, 149, 0, 92, 120, 60,
- 120, 104, 110, 113, 120, 123, 142, 58, 59, 60,
- 61, 62, 63, 65, 68, 69, 70, 84, 85, 86,
- 87, 88, 89, 90, 115, 93, 120, 120, 143, 95,
- 143, 143, 95, 143, 115, 22, 126, 120, 40, 130,
- 22, 37, 66, 67, 22, 48, 60, 119, 119, 48,
- 60, 48, 47, 50, 130, 95, 42, 48, 42, 48,
- 42, 48, 42, 48, 76, 77, 48, 92, 22, 127,
- 22, 94, 98, 98, 97, 95, 95, 101, 116, 120,
- 116, 116, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 22, 139, 94, 120, 94, 94, 120, 139, 95, 120,
- 135, 22, 122, 120, 120, 120, 120, 48, 60, 42,
- 120, 120, 120, 120, 22, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 106, 106, 95, 119, 119,
- 120, 23, 25, 149, 117, 116, 47, 116, 92, 95,
- 92, 22, 115, 120, 120, 22, 42, 42, 42, 42,
- 103, 117, 22, 92, 105, 116, 30, 48, 117, 47,
- 95, 141, 22, 141, 139, 119, 120, 120, 120, 120,
- 116, 116, 82, 48, 120, 116, 103, 22, 117, 117,
- 92, 48, 83, 120, 116, 108, 116, 26, 141, 120,
- 116, 117, 31, 32, 109, 114, 116, 31, 81, 22,
- 140, 117, 117, 116, 115, 120, 81, 115, 95, 116,
- 82, 117, 116, 103, 22, 82, 116, 47, 116, 81,
- 117, 81, 116
+ 23, 25, 27, 28, 29, 33, 34, 35, 36, 40,
+ 42, 45, 46, 47, 50, 54, 55, 56, 58, 65,
+ 72, 73, 74, 75, 76, 79, 80, 81, 88, 89,
+ 94, 97, 101, 102, 103, 104, 106, 108, 112, 113,
+ 114, 119, 120, 121, 122, 123, 124, 130, 132, 134,
+ 138, 143, 146, 93, 22, 45, 121, 94, 121, 144,
+ 94, 144, 22, 120, 94, 121, 145, 133, 137, 46,
+ 125, 39, 41, 42, 43, 44, 121, 131, 135, 46,
+ 121, 51, 52, 15, 16, 17, 22, 29, 22, 22,
+ 121, 57, 121, 131, 22, 129, 121, 121, 121, 121,
+ 121, 121, 121, 126, 139, 121, 121, 121, 23, 25,
+ 99, 121, 147, 148, 149, 150, 0, 93, 121, 37,
+ 61, 121, 105, 111, 114, 121, 124, 143, 59, 60,
+ 61, 62, 63, 64, 66, 69, 70, 71, 85, 86,
+ 87, 88, 89, 90, 91, 116, 94, 121, 121, 144,
+ 96, 144, 144, 96, 144, 116, 22, 127, 121, 41,
+ 131, 22, 38, 67, 68, 22, 49, 61, 120, 120,
+ 49, 61, 49, 48, 51, 131, 96, 43, 49, 43,
+ 49, 43, 49, 43, 49, 77, 78, 49, 93, 22,
+ 128, 22, 95, 99, 99, 98, 96, 96, 102, 117,
+ 121, 121, 117, 117, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 22, 140, 95, 121, 95, 95, 121, 140,
+ 96, 121, 136, 22, 123, 121, 121, 121, 121, 49,
+ 61, 43, 121, 121, 121, 121, 22, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 107, 107, 96,
+ 120, 120, 121, 23, 25, 150, 118, 117, 117, 48,
+ 117, 93, 96, 93, 22, 116, 121, 121, 22, 43,
+ 43, 43, 43, 104, 118, 22, 93, 106, 117, 118,
+ 30, 49, 118, 48, 96, 142, 22, 142, 140, 120,
+ 121, 121, 121, 121, 117, 117, 83, 117, 49, 121,
+ 117, 104, 22, 118, 118, 93, 49, 84, 83, 121,
+ 117, 109, 117, 26, 142, 121, 117, 118, 31, 32,
+ 110, 115, 117, 31, 82, 22, 141, 118, 118, 117,
+ 116, 121, 82, 116, 96, 117, 83, 118, 117, 104,
+ 22, 83, 117, 48, 117, 82, 118, 82, 117
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 99, 100, 100, 100, 101, 101, 101, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 103, 103, 103, 104, 104, 104, 104, 105, 105, 105,
- 105, 105, 105, 105, 105, 105, 106, 107, 107, 108,
- 108, 109, 110, 110, 111, 112, 113, 114, 115, 116,
- 117, 117, 117, 118, 119, 119, 119, 119, 119, 119,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
- 122, 122, 123, 123, 123, 123, 123, 124, 123, 125,
- 123, 123, 123, 123, 123, 123, 126, 126, 127, 127,
- 128, 128, 129, 129, 129, 129, 129, 129, 130, 130,
- 131, 131, 131, 131, 132, 131, 134, 135, 133, 133,
- 136, 133, 133, 133, 138, 137, 139, 139, 139, 139,
- 140, 140, 140, 141, 142, 143, 143, 143, 144, 144,
- 145, 146, 146, 146, 146, 147, 147, 148, 148, 149,
- 149
+ 0, 100, 101, 101, 101, 102, 102, 102, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 104, 104, 104, 105, 105, 105, 105, 106, 106, 106,
+ 106, 106, 106, 106, 106, 106, 106, 107, 108, 108,
+ 109, 109, 110, 111, 111, 112, 113, 114, 115, 116,
+ 117, 118, 118, 118, 119, 120, 120, 120, 120, 120,
+ 120, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 122, 122, 122, 122, 122, 122, 122,
+ 122, 123, 123, 124, 124, 124, 124, 124, 125, 124,
+ 126, 124, 124, 124, 124, 124, 124, 127, 127, 128,
+ 128, 129, 129, 130, 130, 130, 130, 130, 130, 131,
+ 131, 132, 132, 132, 132, 133, 132, 135, 136, 134,
+ 134, 137, 134, 134, 134, 139, 138, 140, 140, 140,
+ 140, 141, 141, 141, 142, 143, 144, 144, 144, 145,
+ 145, 146, 147, 147, 147, 147, 148, 148, 149, 149,
+ 150, 150
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1235,21 +1242,21 @@ static const yytype_int8 yyr2[] =
0, 2, 3, 1, 2, 0, 1, 1, 4, 4,
4, 4, 4, 4, 4, 4, 5, 5, 8, 4,
1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
- 10, 11, 2, 3, 7, 6, 0, 9, 12, 0,
- 2, 6, 11, 7, 2, 3, 1, 1, 0, 0,
- 0, 2, 2, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 4, 2, 4, 1, 2, 1, 1, 3,
+ 10, 11, 7, 2, 3, 7, 6, 0, 9, 12,
+ 0, 2, 6, 11, 7, 2, 3, 1, 1, 0,
+ 0, 0, 2, 2, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 4, 2, 4, 1, 2, 1, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 3, 3, 3, 3, 2, 2, 3,
- 4, 4, 4, 6, 4, 6, 4, 6, 4, 6,
- 2, 1, 2, 1, 1, 2, 1, 0, 3, 0,
- 3, 2, 4, 2, 4, 2, 1, 3, 1, 3,
- 1, 3, 2, 2, 2, 2, 3, 2, 3, 2,
- 2, 2, 3, 2, 0, 3, 0, 0, 9, 2,
- 0, 7, 8, 6, 0, 3, 0, 1, 3, 4,
- 0, 1, 3, 0, 2, 0, 1, 3, 1, 3,
- 3, 0, 1, 1, 1, 1, 3, 1, 3, 3,
- 3
+ 3, 3, 3, 2, 3, 3, 3, 3, 2, 2,
+ 3, 4, 4, 4, 6, 4, 6, 4, 6, 4,
+ 6, 2, 1, 2, 1, 1, 2, 1, 0, 3,
+ 0, 3, 2, 4, 2, 4, 2, 1, 3, 1,
+ 3, 1, 3, 2, 2, 2, 2, 3, 2, 3,
+ 2, 2, 2, 3, 2, 0, 3, 0, 0, 9,
+ 2, 0, 7, 8, 6, 0, 3, 0, 1, 3,
+ 4, 0, 1, 3, 0, 2, 0, 1, 3, 1,
+ 3, 3, 0, 1, 1, 1, 1, 3, 1, 3,
+ 3, 3
};
@@ -1687,73 +1694,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
case 19: /* BLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1691 "engines/director/lingo/lingo-gr.cpp"
+#line 1698 "engines/director/lingo/lingo-gr.cpp"
break;
case 20: /* FBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1697 "engines/director/lingo/lingo-gr.cpp"
+#line 1704 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* RBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1703 "engines/director/lingo/lingo-gr.cpp"
+#line 1710 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* ID */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1709 "engines/director/lingo/lingo-gr.cpp"
+#line 1716 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* STRING */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1715 "engines/director/lingo/lingo-gr.cpp"
+#line 1722 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* HANDLER */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1721 "engines/director/lingo/lingo-gr.cpp"
+#line 1728 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* SYMBOL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1727 "engines/director/lingo/lingo-gr.cpp"
+#line 1734 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* ENDCLAUSE */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1733 "engines/director/lingo/lingo-gr.cpp"
+#line 1740 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* tPLAYACCEL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1739 "engines/director/lingo/lingo-gr.cpp"
+#line 1746 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tMETHOD */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1745 "engines/director/lingo/lingo-gr.cpp"
+#line 1752 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* THEOBJECTFIELD */
#line 131 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1751 "engines/director/lingo/lingo-gr.cpp"
+#line 1758 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137: /* on */
+ case 138: /* on */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1757 "engines/director/lingo/lingo-gr.cpp"
+#line 1764 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2023,7 +2030,7 @@ yyreduce:
case 4:
#line 137 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2027 "engines/director/lingo/lingo-gr.cpp"
+#line 2034 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2034,7 +2041,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2038 "engines/director/lingo/lingo-gr.cpp"
+#line 2045 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2042,19 +2049,19 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2046 "engines/director/lingo/lingo-gr.cpp"
+#line 2053 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 152 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2052 "engines/director/lingo/lingo-gr.cpp"
+#line 2059 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 153 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2058 "engines/director/lingo/lingo-gr.cpp"
+#line 2065 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2065,7 +2072,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2069 "engines/director/lingo/lingo-gr.cpp"
+#line 2076 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2077,7 +2084,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2081 "engines/director/lingo/lingo-gr.cpp"
+#line 2088 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2088,7 +2095,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2092 "engines/director/lingo/lingo-gr.cpp"
+#line 2099 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2100,7 +2107,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2104 "engines/director/lingo/lingo-gr.cpp"
+#line 2111 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2111,7 +2118,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2115 "engines/director/lingo/lingo-gr.cpp"
+#line 2122 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2122,7 +2129,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2126 "engines/director/lingo/lingo-gr.cpp"
+#line 2133 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2137,7 +2144,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2141 "engines/director/lingo/lingo-gr.cpp"
+#line 2148 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2148,7 +2155,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2152 "engines/director/lingo/lingo-gr.cpp"
+#line 2159 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
@@ -2159,7 +2166,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2163 "engines/director/lingo/lingo-gr.cpp"
+#line 2170 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2176,7 +2183,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2180 "engines/director/lingo/lingo-gr.cpp"
+#line 2187 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
@@ -2193,54 +2200,69 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2197 "engines/director/lingo/lingo-gr.cpp"
+#line 2204 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
#line 265 "engines/director/lingo/lingo-gr.y"
+ {
+ inst list = 0, body = 0, end = 0;
+ WRITE_UINT32(&list, (yyvsp[-4].code) - (yyvsp[-6].code));
+ WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-6].code));
+ WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-6].code));
+ (*g_lingo->_currentScript)[(yyvsp[-6].code) + 1] = list; /* initial count value */
+ (*g_lingo->_currentScript)[(yyvsp[-6].code) + 2] = 0; /* final count value */
+ (*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = body; /* body of loop */
+ (*g_lingo->_currentScript)[(yyvsp[-6].code) + 4] = 0; /* increment */
+ (*g_lingo->_currentScript)[(yyvsp[-6].code) + 5] = end; }
+#line 2219 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 33:
+#line 276 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2204 "engines/director/lingo/lingo-gr.cpp"
+#line 2226 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33:
-#line 267 "engines/director/lingo/lingo-gr.y"
+ case 34:
+#line 278 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2214 "engines/director/lingo/lingo-gr.cpp"
+#line 2236 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34:
-#line 272 "engines/director/lingo/lingo-gr.y"
+ case 35:
+#line 283 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2223 "engines/director/lingo/lingo-gr.cpp"
+#line 2245 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
-#line 276 "engines/director/lingo/lingo-gr.y"
+ case 36:
+#line 287 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2232 "engines/director/lingo/lingo-gr.cpp"
+#line 2254 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36:
-#line 281 "engines/director/lingo/lingo-gr.y"
+ case 37:
+#line 292 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2240 "engines/director/lingo/lingo-gr.cpp"
+#line 2262 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37:
-#line 285 "engines/director/lingo/lingo-gr.y"
+ case 38:
+#line 296 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2251,11 +2273,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2255 "engines/director/lingo/lingo-gr.cpp"
+#line 2277 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
-#line 295 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 306 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2266,22 +2288,22 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2270 "engines/director/lingo/lingo-gr.cpp"
+#line 2292 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41:
-#line 309 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 320 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2281 "engines/director/lingo/lingo-gr.cpp"
+#line 2303 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
-#line 316 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 327 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2292,11 +2314,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2296 "engines/director/lingo/lingo-gr.cpp"
+#line 2318 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
-#line 326 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 337 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2307,149 +2329,149 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2311 "engines/director/lingo/lingo-gr.cpp"
+#line 2333 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 337 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 348 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2317 "engines/director/lingo/lingo-gr.cpp"
+#line 2339 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 339 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 350 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2327 "engines/director/lingo/lingo-gr.cpp"
+#line 2349 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 345 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 356 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2337 "engines/director/lingo/lingo-gr.cpp"
+#line 2359 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 351 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 362 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2348 "engines/director/lingo/lingo-gr.cpp"
+#line 2370 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48:
-#line 358 "engines/director/lingo/lingo-gr.y"
+ case 49:
+#line 369 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2354 "engines/director/lingo/lingo-gr.cpp"
+#line 2376 "engines/director/lingo/lingo-gr.cpp"
break;
- case 49:
-#line 360 "engines/director/lingo/lingo-gr.y"
+ case 50:
+#line 371 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2360 "engines/director/lingo/lingo-gr.cpp"
+#line 2382 "engines/director/lingo/lingo-gr.cpp"
break;
- case 50:
-#line 362 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 373 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2366 "engines/director/lingo/lingo-gr.cpp"
+#line 2388 "engines/director/lingo/lingo-gr.cpp"
break;
- case 53:
-#line 366 "engines/director/lingo/lingo-gr.y"
+ case 54:
+#line 377 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2376 "engines/director/lingo/lingo-gr.cpp"
+#line 2398 "engines/director/lingo/lingo-gr.cpp"
break;
- case 54:
-#line 372 "engines/director/lingo/lingo-gr.y"
+ case 55:
+#line 383 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2384 "engines/director/lingo/lingo-gr.cpp"
+#line 2406 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55:
-#line 375 "engines/director/lingo/lingo-gr.y"
+ case 56:
+#line 386 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2392 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56:
-#line 378 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 389 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2401 "engines/director/lingo/lingo-gr.cpp"
+#line 2423 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
-#line 382 "engines/director/lingo/lingo-gr.y"
+ case 58:
+#line 393 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2410 "engines/director/lingo/lingo-gr.cpp"
+#line 2432 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58:
-#line 386 "engines/director/lingo/lingo-gr.y"
+ case 59:
+#line 397 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2419 "engines/director/lingo/lingo-gr.cpp"
+#line 2441 "engines/director/lingo/lingo-gr.cpp"
break;
- case 60:
-#line 392 "engines/director/lingo/lingo-gr.y"
+ case 61:
+#line 403 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2425 "engines/director/lingo/lingo-gr.cpp"
+#line 2447 "engines/director/lingo/lingo-gr.cpp"
break;
- case 62:
-#line 394 "engines/director/lingo/lingo-gr.y"
+ case 63:
+#line 405 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2433 "engines/director/lingo/lingo-gr.cpp"
+#line 2455 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
-#line 397 "engines/director/lingo/lingo-gr.y"
+ case 64:
+#line 408 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2441 "engines/director/lingo/lingo-gr.cpp"
+#line 2463 "engines/director/lingo/lingo-gr.cpp"
break;
- case 64:
-#line 400 "engines/director/lingo/lingo-gr.y"
+ case 65:
+#line 411 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2449 "engines/director/lingo/lingo-gr.cpp"
+#line 2471 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 403 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 414 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2458,489 +2480,489 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2462 "engines/director/lingo/lingo-gr.cpp"
+#line 2484 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 411 "engines/director/lingo/lingo-gr.y"
+ case 67:
+#line 422 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2473 "engines/director/lingo/lingo-gr.cpp"
+#line 2495 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
-#line 417 "engines/director/lingo/lingo-gr.y"
+ case 68:
+#line 428 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2483 "engines/director/lingo/lingo-gr.cpp"
+#line 2505 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 423 "engines/director/lingo/lingo-gr.y"
+ case 70:
+#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2489 "engines/director/lingo/lingo-gr.cpp"
+#line 2511 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
-#line 424 "engines/director/lingo/lingo-gr.y"
+ case 71:
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2495 "engines/director/lingo/lingo-gr.cpp"
+#line 2517 "engines/director/lingo/lingo-gr.cpp"
break;
- case 71:
-#line 425 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2501 "engines/director/lingo/lingo-gr.cpp"
+#line 2523 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
-#line 426 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2507 "engines/director/lingo/lingo-gr.cpp"
+#line 2529 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 427 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2513 "engines/director/lingo/lingo-gr.cpp"
+#line 2535 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
-#line 428 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2519 "engines/director/lingo/lingo-gr.cpp"
+#line 2541 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 429 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2525 "engines/director/lingo/lingo-gr.cpp"
+#line 2547 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 430 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 441 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2531 "engines/director/lingo/lingo-gr.cpp"
+#line 2553 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 431 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 442 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2537 "engines/director/lingo/lingo-gr.cpp"
+#line 2559 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 432 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 443 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2543 "engines/director/lingo/lingo-gr.cpp"
+#line 2565 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 433 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 444 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2549 "engines/director/lingo/lingo-gr.cpp"
+#line 2571 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 434 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 445 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2555 "engines/director/lingo/lingo-gr.cpp"
+#line 2577 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 435 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 446 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2561 "engines/director/lingo/lingo-gr.cpp"
+#line 2583 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
-#line 436 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 447 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2567 "engines/director/lingo/lingo-gr.cpp"
+#line 2589 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 437 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2573 "engines/director/lingo/lingo-gr.cpp"
+#line 2595 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 438 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2579 "engines/director/lingo/lingo-gr.cpp"
+#line 2601 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 439 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2585 "engines/director/lingo/lingo-gr.cpp"
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 440 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2591 "engines/director/lingo/lingo-gr.cpp"
+#line 2613 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
-#line 441 "engines/director/lingo/lingo-gr.y"
+ case 88:
+#line 452 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2597 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
-#line 442 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 453 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2603 "engines/director/lingo/lingo-gr.cpp"
+#line 2625 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
-#line 443 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 454 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2609 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
-#line 444 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 455 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2615 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
-#line 445 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 456 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2621 "engines/director/lingo/lingo-gr.cpp"
+#line 2643 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
-#line 447 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 458 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2627 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
-#line 448 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 459 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2633 "engines/director/lingo/lingo-gr.cpp"
+#line 2655 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
-#line 449 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 460 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2639 "engines/director/lingo/lingo-gr.cpp"
+#line 2661 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
-#line 450 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2645 "engines/director/lingo/lingo-gr.cpp"
+#line 2667 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
-#line 451 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2651 "engines/director/lingo/lingo-gr.cpp"
+#line 2673 "engines/director/lingo/lingo-gr.cpp"
break;
- case 97:
-#line 452 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 463 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2657 "engines/director/lingo/lingo-gr.cpp"
+#line 2679 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98:
-#line 453 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2663 "engines/director/lingo/lingo-gr.cpp"
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99:
-#line 454 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2669 "engines/director/lingo/lingo-gr.cpp"
+#line 2691 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
-#line 456 "engines/director/lingo/lingo-gr.y"
+ case 101:
+#line 467 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 2699 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
-#line 461 "engines/director/lingo/lingo-gr.y"
+ case 103:
+#line 472 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2683 "engines/director/lingo/lingo-gr.cpp"
+#line 2705 "engines/director/lingo/lingo-gr.cpp"
break;
- case 105:
-#line 464 "engines/director/lingo/lingo-gr.y"
+ case 106:
+#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2689 "engines/director/lingo/lingo-gr.cpp"
+#line 2711 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
-#line 465 "engines/director/lingo/lingo-gr.y"
+ case 107:
+#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2695 "engines/director/lingo/lingo-gr.cpp"
+#line 2717 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 466 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2701 "engines/director/lingo/lingo-gr.cpp"
+#line 2723 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 466 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2707 "engines/director/lingo/lingo-gr.cpp"
+#line 2729 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 467 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2713 "engines/director/lingo/lingo-gr.cpp"
+#line 2735 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 467 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2719 "engines/director/lingo/lingo-gr.cpp"
+#line 2741 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 469 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 480 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2727 "engines/director/lingo/lingo-gr.cpp"
+#line 2749 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 472 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 483 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2735 "engines/director/lingo/lingo-gr.cpp"
+#line 2757 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 475 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 486 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2741 "engines/director/lingo/lingo-gr.cpp"
+#line 2763 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 476 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2747 "engines/director/lingo/lingo-gr.cpp"
+#line 2769 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 489 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2756 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 482 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 493 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2765 "engines/director/lingo/lingo-gr.cpp"
+#line 2787 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 487 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 498 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2796 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 491 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 502 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2783 "engines/director/lingo/lingo-gr.cpp"
+#line 2805 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 496 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 507 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2814 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 500 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 511 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2801 "engines/director/lingo/lingo-gr.cpp"
+#line 2823 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 512 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 523 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2807 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 513 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 524 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2813 "engines/director/lingo/lingo-gr.cpp"
+#line 2835 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 514 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 525 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2819 "engines/director/lingo/lingo-gr.cpp"
+#line 2841 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 515 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 526 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2828 "engines/director/lingo/lingo-gr.cpp"
+#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 519 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 530 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2837 "engines/director/lingo/lingo-gr.cpp"
+#line 2859 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 523 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2846 "engines/director/lingo/lingo-gr.cpp"
+#line 2868 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
-#line 531 "engines/director/lingo/lingo-gr.y"
+ case 131:
+#line 542 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2852 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
-#line 532 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 543 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
+#line 2883 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 536 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 547 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2870 "engines/director/lingo/lingo-gr.cpp"
+#line 2892 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 540 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 551 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2879 "engines/director/lingo/lingo-gr.cpp"
+#line 2901 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 544 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 555 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2885 "engines/director/lingo/lingo-gr.cpp"
+#line 2907 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 544 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 555 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2894 "engines/director/lingo/lingo-gr.cpp"
+#line 2916 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 574 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 585 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2900 "engines/director/lingo/lingo-gr.cpp"
+#line 2922 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 574 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 585 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2928 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 575 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 586 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2917 "engines/director/lingo/lingo-gr.cpp"
+#line 2939 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 581 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 592 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2923 "engines/director/lingo/lingo-gr.cpp"
+#line 2945 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 582 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 593 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2929 "engines/director/lingo/lingo-gr.cpp"
+#line 2951 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 583 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 594 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 600 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -2951,11 +2973,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2955 "engines/director/lingo/lingo-gr.cpp"
+#line 2977 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 599 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 610 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -2963,65 +2985,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2967 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 607 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 618 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2973 "engines/director/lingo/lingo-gr.cpp"
+#line 2995 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 607 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 618 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2979 "engines/director/lingo/lingo-gr.cpp"
+#line 3001 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 609 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 620 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2985 "engines/director/lingo/lingo-gr.cpp"
+#line 3007 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 610 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 621 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2991 "engines/director/lingo/lingo-gr.cpp"
+#line 3013 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2997 "engines/director/lingo/lingo-gr.cpp"
+#line 3019 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 612 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3003 "engines/director/lingo/lingo-gr.cpp"
+#line 3025 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
-#line 615 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 626 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3009 "engines/director/lingo/lingo-gr.cpp"
+#line 3031 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 616 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 627 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3015 "engines/director/lingo/lingo-gr.cpp"
+#line 3037 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 618 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 629 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3021 "engines/director/lingo/lingo-gr.cpp"
+#line 3043 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 620 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 631 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3029,113 +3051,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3033 "engines/director/lingo/lingo-gr.cpp"
+#line 3055 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 628 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 639 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3039 "engines/director/lingo/lingo-gr.cpp"
+#line 3061 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 629 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3045 "engines/director/lingo/lingo-gr.cpp"
+#line 3067 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 630 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 641 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3051 "engines/director/lingo/lingo-gr.cpp"
+#line 3073 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 632 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3057 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 633 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 644 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3063 "engines/director/lingo/lingo-gr.cpp"
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 635 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 646 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3069 "engines/director/lingo/lingo-gr.cpp"
+#line 3091 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 637 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 648 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3075 "engines/director/lingo/lingo-gr.cpp"
+#line 3097 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 638 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 649 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3081 "engines/director/lingo/lingo-gr.cpp"
+#line 3103 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 639 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 650 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3087 "engines/director/lingo/lingo-gr.cpp"
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 651 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3093 "engines/director/lingo/lingo-gr.cpp"
+#line 3115 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 653 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3099 "engines/director/lingo/lingo-gr.cpp"
+#line 3121 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 654 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3105 "engines/director/lingo/lingo-gr.cpp"
+#line 3127 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 656 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3111 "engines/director/lingo/lingo-gr.cpp"
+#line 3133 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
-#line 646 "engines/director/lingo/lingo-gr.y"
+ case 169:
+#line 657 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3117 "engines/director/lingo/lingo-gr.cpp"
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 648 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 659 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3126 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 663 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3135 "engines/director/lingo/lingo-gr.cpp"
+#line 3157 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3139 "engines/director/lingo/lingo-gr.cpp"
+#line 3161 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3367,5 +3389,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 658 "engines/director/lingo/lingo-gr.y"
+#line 669 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 9d15da0..7938120 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -83,53 +83,54 @@ extern int yydebug;
tGLOBAL = 289,
tGO = 290,
tIF = 291,
- tINTO = 292,
- tLOOP = 293,
- tMACRO = 294,
- tMOVIE = 295,
- tNEXT = 296,
- tOF = 297,
- tPREVIOUS = 298,
- tPUT = 299,
- tREPEAT = 300,
- tSET = 301,
- tTHEN = 302,
- tTO = 303,
- tWHEN = 304,
- tWITH = 305,
- tWHILE = 306,
- tNLELSE = 307,
- tFACTORY = 308,
- tOPEN = 309,
- tPLAY = 310,
- tDONE = 311,
- tINSTANCE = 312,
- tGE = 313,
- tLE = 314,
- tEQ = 315,
- tNEQ = 316,
- tAND = 317,
- tOR = 318,
- tNOT = 319,
- tMOD = 320,
- tAFTER = 321,
- tBEFORE = 322,
- tCONCAT = 323,
- tCONTAINS = 324,
- tSTARTS = 325,
- tCHAR = 326,
- tITEM = 327,
- tLINE = 328,
- tWORD = 329,
- tSPRITE = 330,
- tINTERSECTS = 331,
- tWITHIN = 332,
- tTELL = 333,
- tPROPERTY = 334,
- tON = 335,
- tENDIF = 336,
- tENDREPEAT = 337,
- tENDTELL = 338
+ tIN = 292,
+ tINTO = 293,
+ tLOOP = 294,
+ tMACRO = 295,
+ tMOVIE = 296,
+ tNEXT = 297,
+ tOF = 298,
+ tPREVIOUS = 299,
+ tPUT = 300,
+ tREPEAT = 301,
+ tSET = 302,
+ tTHEN = 303,
+ tTO = 304,
+ tWHEN = 305,
+ tWITH = 306,
+ tWHILE = 307,
+ tNLELSE = 308,
+ tFACTORY = 309,
+ tOPEN = 310,
+ tPLAY = 311,
+ tDONE = 312,
+ tINSTANCE = 313,
+ tGE = 314,
+ tLE = 315,
+ tEQ = 316,
+ tNEQ = 317,
+ tAND = 318,
+ tOR = 319,
+ tNOT = 320,
+ tMOD = 321,
+ tAFTER = 322,
+ tBEFORE = 323,
+ tCONCAT = 324,
+ tCONTAINS = 325,
+ tSTARTS = 326,
+ tCHAR = 327,
+ tITEM = 328,
+ tLINE = 329,
+ tWORD = 330,
+ tSPRITE = 331,
+ tINTERSECTS = 332,
+ tWITHIN = 333,
+ tTELL = 334,
+ tPROPERTY = 335,
+ tON = 336,
+ tENDIF = 337,
+ tENDREPEAT = 338,
+ tENDTELL = 339
};
#endif
@@ -152,7 +153,7 @@ union YYSTYPE
int oe;
} objectfield;
-#line 156 "engines/director/lingo/lingo-gr.h"
+#line 157 "engines/director/lingo/lingo-gr.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 77e84ca..5de6874 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -107,7 +107,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token<s> ID STRING HANDLER SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token<objectfield> THEOBJECTFIELD
-%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tIF tINTO tLOOP tMACRO
+%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tIF tIN tINTO tLOOP tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tDONE tINSTANCE
%token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
@@ -262,6 +262,17 @@ stmt: stmtoneliner
(*g_lingo->_currentScript)[$repeatwith + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[$repeatwith + 4] = inc; /* increment */
(*g_lingo->_currentScript)[$repeatwith + 5] = end; } /* end, if cond fails */
+ | repeatwith tIN expr[list] end stmtlist end[end3] tENDREPEAT {
+ inst list = 0, body = 0, end = 0;
+ WRITE_UINT32(&list, $list - $repeatwith);
+ WRITE_UINT32(&body, $stmtlist - $repeatwith);
+ WRITE_UINT32(&end, $end3 - $repeatwith);
+ (*g_lingo->_currentScript)[$repeatwith + 1] = list; /* initial count value */
+ (*g_lingo->_currentScript)[$repeatwith + 2] = 0; /* final count value */
+ (*g_lingo->_currentScript)[$repeatwith + 3] = body; /* body of loop */
+ (*g_lingo->_currentScript)[$repeatwith + 4] = 0; /* increment */
+ (*g_lingo->_currentScript)[$repeatwith + 5] = end; } /* end, if cond fails */
+
| tNEXT tREPEAT {
g_lingo->code1(LC::c_nextRepeat); }
| when stmtonelinerwithif end {
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 8da5e77..fa8d7e7 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 77
-#define YY_END_OF_BUFFER 78
+#define YY_NUM_RULES 78
+#define YY_END_OF_BUFFER 79
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -375,46 +375,46 @@ struct yy_trans_info
};
static yyconst flex_int16_t yy_accept[366] =
{ 0,
- 0, 0, 78, 76, 4, 74, 74, 76, 76, 76,
- 73, 73, 73, 72, 73, 69, 73, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 76, 3, 3, 70, 4, 74,
- 0, 0, 0, 75, 5, 68, 2, 71, 72, 67,
- 65, 66, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 22, 13, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 35, 36, 70, 38, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 58, 70,
- 70, 70, 1, 3, 3, 0, 70, 5, 2, 71,
-
- 70, 7, 70, 70, 70, 70, 70, 70, 16, 70,
- 70, 0, 70, 70, 70, 70, 70, 70, 70, 31,
- 70, 70, 34, 70, 70, 70, 70, 44, 70, 46,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 0,
- 70, 70, 70, 9, 70, 11, 12, 15, 0, 18,
- 70, 0, 70, 70, 25, 26, 27, 28, 70, 70,
- 70, 33, 37, 40, 70, 70, 70, 70, 70, 70,
- 49, 0, 57, 62, 70, 60, 64, 0, 70, 6,
- 70, 70, 0, 16, 70, 21, 70, 70, 29, 70,
- 32, 0, 70, 70, 70, 70, 70, 70, 70, 56,
-
- 56, 56, 56, 56, 63, 70, 0, 70, 8, 70,
- 0, 16, 19, 0, 70, 70, 70, 0, 70, 70,
- 70, 45, 0, 59, 48, 0, 0, 56, 56, 56,
- 56, 61, 0, 70, 70, 14, 0, 70, 70, 0,
- 30, 0, 70, 70, 70, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 56, 56, 56, 0, 17, 10,
- 0, 23, 70, 30, 30, 0, 70, 42, 43, 0,
- 0, 0, 0, 0, 0, 0, 56, 56, 56, 56,
- 17, 0, 70, 30, 0, 41, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 56, 0, 24, 39,
-
- 0, 0, 0, 47, 55, 54, 55, 0, 0, 0,
- 0, 56, 0, 0, 0, 20, 47, 0, 0, 0,
- 54, 0, 0, 0, 0, 0, 0, 0, 0, 47,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
- 51, 47, 0, 0, 0, 55, 54, 54, 55, 0,
- 51, 47, 53, 54, 54, 0, 54, 0, 54, 0,
- 0, 0, 0, 52, 0
+ 0, 0, 79, 77, 4, 75, 75, 77, 77, 77,
+ 74, 74, 74, 73, 74, 70, 74, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 77, 3, 3, 71, 4, 75,
+ 0, 0, 0, 76, 5, 69, 2, 72, 73, 68,
+ 66, 67, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 22, 13, 26, 71, 71, 71, 71,
+ 71, 71, 71, 71, 36, 37, 71, 39, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 59, 71,
+ 71, 71, 1, 3, 3, 0, 71, 5, 2, 72,
+
+ 71, 7, 71, 71, 71, 71, 71, 71, 16, 71,
+ 71, 0, 71, 71, 71, 71, 71, 71, 71, 32,
+ 71, 71, 35, 71, 71, 71, 71, 45, 71, 47,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
+ 71, 71, 71, 9, 71, 11, 12, 15, 0, 18,
+ 71, 0, 71, 71, 25, 27, 28, 29, 71, 71,
+ 71, 34, 38, 41, 71, 71, 71, 71, 71, 71,
+ 50, 0, 58, 63, 71, 61, 65, 0, 71, 6,
+ 71, 71, 0, 16, 71, 21, 71, 71, 30, 71,
+ 33, 0, 71, 71, 71, 71, 71, 71, 71, 57,
+
+ 57, 57, 57, 57, 64, 71, 0, 71, 8, 71,
+ 0, 16, 19, 0, 71, 71, 71, 0, 71, 71,
+ 71, 46, 0, 60, 49, 0, 0, 57, 57, 57,
+ 57, 62, 0, 71, 71, 14, 0, 71, 71, 0,
+ 31, 0, 71, 71, 71, 0, 0, 0, 0, 0,
+ 0, 0, 0, 57, 57, 57, 57, 0, 17, 10,
+ 0, 23, 71, 31, 31, 0, 71, 43, 44, 0,
+ 0, 0, 0, 0, 0, 0, 57, 57, 57, 57,
+ 17, 0, 71, 31, 0, 42, 0, 0, 0, 0,
+ 0, 0, 0, 0, 57, 0, 57, 0, 24, 40,
+
+ 0, 0, 0, 48, 56, 55, 56, 0, 0, 0,
+ 0, 57, 0, 0, 0, 20, 48, 0, 0, 0,
+ 55, 0, 0, 0, 0, 0, 0, 0, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 48, 0, 0, 0, 56, 55, 55, 56, 0,
+ 52, 48, 54, 55, 55, 0, 55, 0, 55, 0,
+ 0, 0, 0, 53, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -1288,26 +1288,31 @@ YY_RULE_SETUP
case 26:
YY_RULE_SETUP
#line 136 "engines/director/lingo/lingo-lex.l"
-{ count(); return tITEM; }
+{ count(); return tIN; }
YY_BREAK
case 27:
YY_RULE_SETUP
#line 137 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLINE; }
+{ count(); return tITEM; }
YY_BREAK
case 28:
YY_RULE_SETUP
#line 138 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tLOOP); }
+{ count(); return tLINE; }
YY_BREAK
case 29:
YY_RULE_SETUP
#line 139 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMACRO; }
+{ count(); return checkImmediate(tLOOP); }
YY_BREAK
case 30:
YY_RULE_SETUP
#line 140 "engines/director/lingo/lingo-lex.l"
+{ count(); return tMACRO; }
+ YY_BREAK
+case 31:
+YY_RULE_SETUP
+#line 141 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1320,50 +1325,45 @@ YY_RULE_SETUP
return tMETHOD;
}
YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 151 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOD; }
- YY_BREAK
case 32:
YY_RULE_SETUP
#line 152 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOVIE; }
+{ count(); return tMOD; }
YY_BREAK
case 33:
YY_RULE_SETUP
#line 153 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEXT; }
+{ count(); return tMOVIE; }
YY_BREAK
case 34:
YY_RULE_SETUP
#line 154 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNOT; }
+{ count(); return tNEXT; }
YY_BREAK
case 35:
YY_RULE_SETUP
#line 155 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOF; }
+{ count(); return tNOT; }
YY_BREAK
case 36:
YY_RULE_SETUP
#line 156 "engines/director/lingo/lingo-lex.l"
-{ count(); return tON; } // D3
+{ count(); return tOF; }
YY_BREAK
case 37:
YY_RULE_SETUP
#line 157 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOPEN; }
+{ count(); return tON; } // D3
YY_BREAK
case 38:
YY_RULE_SETUP
#line 158 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOR; }
+{ count(); return tOPEN; }
YY_BREAK
case 39:
YY_RULE_SETUP
#line 159 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPLAY; }
+{ count(); return tOR; }
YY_BREAK
case 40:
YY_RULE_SETUP
@@ -1373,36 +1373,41 @@ YY_RULE_SETUP
case 41:
YY_RULE_SETUP
#line 161 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
+{ count(); return tPLAY; }
YY_BREAK
case 42:
YY_RULE_SETUP
#line 162 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPREVIOUS; }
+{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
case 43:
YY_RULE_SETUP
#line 163 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPROPERTY; } // D4
+{ count(); return tPREVIOUS; }
YY_BREAK
case 44:
YY_RULE_SETUP
#line 164 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPUT; }
+{ count(); return tPROPERTY; } // D4
YY_BREAK
case 45:
YY_RULE_SETUP
#line 165 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tREPEAT); }
+{ count(); return tPUT; }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 166 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSET; }
+{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 167 "engines/director/lingo/lingo-lex.l"
+{ count(); return tSET; }
+ YY_BREAK
+case 48:
+YY_RULE_SETUP
+#line 168 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1424,19 +1429,19 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 187 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSTARTS; }
- YY_BREAK
case 49:
YY_RULE_SETUP
#line 188 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTELL; }
+{ count(); return tSTARTS; }
YY_BREAK
case 50:
YY_RULE_SETUP
#line 189 "engines/director/lingo/lingo-lex.l"
+{ count(); return tTELL; }
+ YY_BREAK
+case 51:
+YY_RULE_SETUP
+#line 190 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1446,9 +1451,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
-case 51:
+case 52:
YY_RULE_SETUP
-#line 197 "engines/director/lingo/lingo-lex.l"
+#line 198 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1457,9 +1462,9 @@ YY_RULE_SETUP
return FBLTIN;
}
YY_BREAK
-case 52:
+case 53:
YY_RULE_SETUP
-#line 204 "engines/director/lingo/lingo-lex.l"
+#line 205 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1484,9 +1489,9 @@ YY_RULE_SETUP
error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
}
YY_BREAK
-case 53:
+case 54:
YY_RULE_SETUP
-#line 227 "engines/director/lingo/lingo-lex.l"
+#line 228 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1508,9 +1513,9 @@ YY_RULE_SETUP
error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
}
YY_BREAK
-case 54:
+case 55:
YY_RULE_SETUP
-#line 247 "engines/director/lingo/lingo-lex.l"
+#line 248 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1569,9 +1574,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 55:
+case 56:
YY_RULE_SETUP
-#line 304 "engines/director/lingo/lingo-lex.l"
+#line 305 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1604,9 +1609,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 56:
+case 57:
YY_RULE_SETUP
-#line 335 "engines/director/lingo/lingo-lex.l"
+#line 336 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1627,74 +1632,74 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 354 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTHEN; }
- YY_BREAK
case 58:
YY_RULE_SETUP
#line 355 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTO; }
+{ count(); return tTHEN; }
YY_BREAK
case 59:
YY_RULE_SETUP
#line 356 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSPRITE; }
+{ count(); return tTO; }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 357 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITH; }
+{ count(); return tSPRITE; }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 358 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITHIN; }
+{ count(); return tWITH; }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 359 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHEN; }
+{ count(); return tWITHIN; }
YY_BREAK
case 63:
YY_RULE_SETUP
#line 360 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHILE; }
+{ count(); return tWHEN; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 361 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWORD; }
+{ count(); return tWHILE; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 363 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEQ; }
+#line 362 "engines/director/lingo/lingo-lex.l"
+{ count(); return tWORD; }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 364 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGE; }
+{ count(); return tNEQ; }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 365 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLE; }
+{ count(); return tGE; }
YY_BREAK
case 68:
YY_RULE_SETUP
#line 366 "engines/director/lingo/lingo-lex.l"
-{ count(); return tCONCAT; }
+{ count(); return tLE; }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 367 "engines/director/lingo/lingo-lex.l"
-{ count(); return tEQ; }
+{ count(); return tCONCAT; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 369 "engines/director/lingo/lingo-lex.l"
+#line 368 "engines/director/lingo/lingo-lex.l"
+{ count(); return tEQ; }
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 370 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1728,43 +1733,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
-case 71:
-YY_RULE_SETUP
-#line 401 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.f = atof(yytext); return FLOAT; }
- YY_BREAK
case 72:
YY_RULE_SETUP
#line 402 "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 73:
YY_RULE_SETUP
#line 403 "engines/director/lingo/lingo-lex.l"
-{ count(); return *yytext; }
+{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 74:
-/* rule 74 can match eol */
YY_RULE_SETUP
#line 404 "engines/director/lingo/lingo-lex.l"
-{ count(); return '\n'; }
+{ count(); return *yytext; }
YY_BREAK
case 75:
+/* rule 75 can match eol */
YY_RULE_SETUP
#line 405 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
+{ count(); return '\n'; }
YY_BREAK
case 76:
YY_RULE_SETUP
#line 406 "engines/director/lingo/lingo-lex.l"
-{ count(); }
+{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 408 "engines/director/lingo/lingo-lex.l"
+#line 407 "engines/director/lingo/lingo-lex.l"
+{ count(); }
+ YY_BREAK
+case 78:
+YY_RULE_SETUP
+#line 409 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1768 "engines/director/lingo/lingo-lex.cpp"
+#line 1773 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2724,7 +2729,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 408 "engines/director/lingo/lingo-lex.l"
+#line 409 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index b454bf1..decba22 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -133,6 +133,7 @@ go { count(); return tGO; }
instance { count(); return tINSTANCE; }
intersects { count(); return tINTERSECTS; }
into { count(); return tINTO; }
+in { count(); return tIN; }
item { count(); return tITEM; }
line { count(); return tLINE; }
loop { count(); return checkImmediate(tLOOP); }
Commit: 37b473cc0d9a4b26e416142539ae9b8ab331b9b7
https://github.com/scummvm/scummvm/commit/37b473cc0d9a4b26e416142539ae9b8ab331b9b7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T13:51:41+01:00
Commit Message:
DIRECTOR: LINGO: Improved debug message
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 791bdee..08c038c 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -126,8 +126,8 @@ const char *Lingo::findNextDefinition(const char *s) {
}
void Lingo::addCode(const char *code, ScriptType type, uint16 id) {
- debugC(1, kDebugLingoCompile, "Add code for type %s with id %d\n"
- "***********\n%s\n\n***********", scriptType2str(type), id, code);
+ debugC(1, kDebugLingoCompile, "Add code for type %s(%d) with id %d\n"
+ "***********\n%s\n\n***********", scriptType2str(type), type, id, code);
if (_scriptContexts[type].contains(id)) {
for (size_t j = 0; j < _scriptContexts[type][id]->functions.size(); j++) {
More information about the Scummvm-git-logs
mailing list