[Scummvm-git-logs] scummvm master -> 31211258ada55f1ea6c06cd6c4a99cfcdc64a82a
sev-
sev at scummvm.org
Mon Jun 1 09:44:27 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
2e5b1698b0 DIRECTOR: LINGO: Implemented preprocessor for 'when'
cd09d117f3 DIRECTOR: LINGO: Changed grammar for 'when', so it is simpler
31211258ad DIRECTOR: LINGO: Simplified grammar, we do not need if one liners!!!
Commit: 2e5b1698b073cdae524e90954010e9e7774fefcc
https://github.com/scummvm/scummvm/commit/2e5b1698b073cdae524e90954010e9e7774fefcc
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T11:44:07+02:00
Commit Message:
DIRECTOR: LINGO: Implemented preprocessor for 'when'
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 e207a2dabc..e0e9a98c7b 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -25,6 +25,7 @@
namespace Director {
+Common::String preprocessWhen(Common::String in, bool *changed);
Common::String preprocessReturn(Common::String in);
Common::String preprocessPlay(Common::String in);
Common::String preprocessSound(Common::String in);
@@ -181,15 +182,20 @@ Common::String Lingo::codePreprocessor(const char *s, ScriptType type, uint16 id
res1 = patchLingoCode(res1, type, id, linenumber);
- res1 = preprocessReturn(res1);
- res1 = preprocessPlay(res1);
- res1 = preprocessSound(res1);
+ bool changed = false;
+ res1 = preprocessWhen(res1, &changed);
+
+ if (!changed) {
+ res1 = preprocessReturn(res1);
+ res1 = preprocessPlay(res1);
+ res1 = preprocessSound(res1);
+ }
res += res1;
linenumber++; // We do it here because of 'continue' statements
- if (line.size() < 4) { // If line is too small, then skip it
+ if (line.size() < 4 || changed) { // If line is too small, then skip it
if (*s) // copy newline symbol
res += *s++;
@@ -378,6 +384,76 @@ const char *strcasestr(const char *s, const char *find) {
}
#endif
+// when ID then statement -> when ID then "statement"
+Common::String preprocessWhen(Common::String in, bool *changed) {
+ Common::String res, next;
+ const char *ptr = in.c_str();
+ const char *beg = ptr;
+ const char *nextPtr;
+
+ while ((ptr = strcasestr(beg, "when")) != NULL) {
+ if (ptr > in.c_str() && Common::isAlnum(*(ptr - 1))) { // If we're in the middle of a word
+ res += *beg++;
+ continue;
+ }
+
+ ptr += 4; // end of 'play'
+ res += Common::String(beg, ptr);
+
+ if (!*ptr) // If it is end of the line
+ break;
+
+ if (Common::isAlnum(*ptr)) { // If it is in the middle of the word
+ beg = ptr;
+ continue;
+ }
+
+ *changed = true;
+
+ res += ' ';
+ next = nexttok(ptr, &nextPtr); // ID
+ res += next;
+
+ res += ' ';
+ next = nexttok(nextPtr, &nextPtr); // then
+ res += next;
+
+ res += ' ';
+ res += '"';
+
+ // now we need to preprocess quotes
+ bool skipQuote = false;
+ while (*nextPtr) {
+ if (*nextPtr == '"') {
+ res += "\" & QUOTE ";
+
+ if (*(nextPtr + 1))
+ res += "& \"";
+ else
+ skipQuote = true; // we do not want the last quote
+ } else {
+ res += *nextPtr;
+ }
+
+ nextPtr++;
+ }
+
+ if (!skipQuote)
+ res += '"';
+
+ beg = nextPtr;
+
+ break;
+ }
+
+ res += Common::String(beg);
+
+ if (in.size() != res.size())
+ debugC(2, kDebugLingoParse, "WHEN: in: %s\nout: %s", in.c_str(), res.c_str());
+
+ return res;
+}
+
// "hello" & return && "world" -> "hello" & scummvm_return && "world"
//
// This is to let the grammar not confuse RETURN constant with
Commit: cd09d117f3013fe8f744c73f456d3a07aea29ca6
https://github.com/scummvm/scummvm/commit/cd09d117f3013fe8f744c73f456d3a07aea29ca6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T11:44:07+02:00
Commit Message:
DIRECTOR: LINGO: Changed grammar for 'when', so it is simpler
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index e666582119..12b6ad293a 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -131,7 +131,7 @@ static struct FuncDescr {
{ LC::c_themenuitementityassign,"c_themenuitementityassign","EF" },
{ LC::c_varpush, "c_varpush", "s" },
{ LC::c_voidpush, "c_voidpush", "" },
- { LC::c_whencode, "c_whencode", "os" },
+ { LC::c_whencode, "c_whencode", "s" },
{ LC::c_within, "c_within", "" },
{ LC::c_wordOf, "c_wordOf", "" }, // D3
{ LC::c_wordToOf, "c_wordToOf", "" }, // D3
@@ -1169,32 +1169,10 @@ void LC::c_exitRepeat(void) {
}
void LC::c_whencode() {
- Datum d;
- uint start = g_lingo->_pc;
- uint end = g_lingo->readInt() + start - 1;
Common::String eventname(g_lingo->readString());
+ Common::String code = g_lingo->pop().asString();
- start = g_lingo->_pc;
-
- debugC(1, kDebugLingoExec, "c_whencode([%5d][%5d], %s)", start, end, eventname.c_str());
-
- int entity = g_lingo->_currentEntityId;
- g_lingo->_currentEntityId = 0;
-
- Symbol sym = g_lingo->codeDefine(eventname, start, 0, NULL, end, false); // Redefine, but not remove code
-
- g_lingo->_currentEntityId = entity;
-
- if (debugChannelSet(1, kDebugLingoExec)) {
- uint pc = 0;
- while (pc < sym.u.defn->size()) {
- uint spc = pc;
- Common::String instr = g_lingo->decodeInstruction(sym.u.defn, pc, &pc);
- debugC(1, kDebugLingoExec, "[%5d] %s", spc, instr.c_str());
- }
- }
-
- g_lingo->_pc = end + 1;
+ warning("STUB: c_whencode('%s', '%s'", eventname.c_str(), code.c_str());
}
void LC::c_tellcode() {
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 4a6620253a..907892225c 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -412,62 +412,59 @@ enum yysymbol_kind_t
YYSYMBOL_programline = 106, /* programline */
YYSYMBOL_asgn = 107, /* asgn */
YYSYMBOL_stmtoneliner = 108, /* stmtoneliner */
- YYSYMBOL_stmtonelinerwithif = 109, /* stmtonelinerwithif */
- YYSYMBOL_stmt = 110, /* stmt */
- YYSYMBOL_111_1 = 111, /* $@1 */
- YYSYMBOL_112_2 = 112, /* $@2 */
- YYSYMBOL_113_3 = 113, /* $@3 */
- YYSYMBOL_114_4 = 114, /* $@4 */
- YYSYMBOL_115_5 = 115, /* $@5 */
- YYSYMBOL_116_6 = 116, /* $@6 */
- YYSYMBOL_117_7 = 117, /* $@7 */
- YYSYMBOL_118_8 = 118, /* $@8 */
- YYSYMBOL_119_9 = 119, /* $@9 */
- YYSYMBOL_tellstart = 120, /* tellstart */
- YYSYMBOL_ifstmt = 121, /* ifstmt */
- YYSYMBOL_elseifstmtlist = 122, /* elseifstmtlist */
- YYSYMBOL_elseifstmt = 123, /* elseifstmt */
- YYSYMBOL_ifoneliner = 124, /* ifoneliner */
- YYSYMBOL_jumpifz = 125, /* jumpifz */
- YYSYMBOL_jump = 126, /* jump */
- YYSYMBOL_varassign = 127, /* varassign */
- YYSYMBOL_if = 128, /* if */
- YYSYMBOL_begin = 129, /* begin */
- YYSYMBOL_end = 130, /* end */
- YYSYMBOL_stmtlist = 131, /* stmtlist */
- YYSYMBOL_when = 132, /* when */
- YYSYMBOL_simpleexpr = 133, /* simpleexpr */
- YYSYMBOL_expr = 134, /* expr */
- YYSYMBOL_chunkexpr = 135, /* chunkexpr */
- YYSYMBOL_reference = 136, /* reference */
- YYSYMBOL_proc = 137, /* proc */
- YYSYMBOL_138_10 = 138, /* $@10 */
- YYSYMBOL_139_11 = 139, /* $@11 */
- YYSYMBOL_140_12 = 140, /* $@12 */
- YYSYMBOL_globallist = 141, /* globallist */
- YYSYMBOL_propertylist = 142, /* propertylist */
- YYSYMBOL_instancelist = 143, /* instancelist */
- YYSYMBOL_gotofunc = 144, /* gotofunc */
- YYSYMBOL_gotomovie = 145, /* gotomovie */
- YYSYMBOL_playfunc = 146, /* playfunc */
- YYSYMBOL_147_13 = 147, /* $@13 */
- YYSYMBOL_defn = 148, /* defn */
- YYSYMBOL_149_14 = 149, /* $@14 */
- YYSYMBOL_150_15 = 150, /* $@15 */
- YYSYMBOL_151_16 = 151, /* $@16 */
- YYSYMBOL_on = 152, /* on */
- YYSYMBOL_153_17 = 153, /* $@17 */
- YYSYMBOL_argdef = 154, /* argdef */
- YYSYMBOL_endargdef = 155, /* endargdef */
- YYSYMBOL_argstore = 156, /* argstore */
- YYSYMBOL_macro = 157, /* macro */
- YYSYMBOL_arglist = 158, /* arglist */
- YYSYMBOL_nonemptyarglist = 159, /* nonemptyarglist */
- YYSYMBOL_list = 160, /* list */
- YYSYMBOL_valuelist = 161, /* valuelist */
- YYSYMBOL_linearlist = 162, /* linearlist */
- YYSYMBOL_proplist = 163, /* proplist */
- YYSYMBOL_proppair = 164 /* proppair */
+ YYSYMBOL_stmt = 109, /* stmt */
+ YYSYMBOL_110_1 = 110, /* $@1 */
+ YYSYMBOL_111_2 = 111, /* $@2 */
+ YYSYMBOL_112_3 = 112, /* $@3 */
+ YYSYMBOL_113_4 = 113, /* $@4 */
+ YYSYMBOL_114_5 = 114, /* $@5 */
+ YYSYMBOL_115_6 = 115, /* $@6 */
+ YYSYMBOL_116_7 = 116, /* $@7 */
+ YYSYMBOL_117_8 = 117, /* $@8 */
+ YYSYMBOL_118_9 = 118, /* $@9 */
+ YYSYMBOL_tellstart = 119, /* tellstart */
+ YYSYMBOL_ifstmt = 120, /* ifstmt */
+ YYSYMBOL_elseifstmtlist = 121, /* elseifstmtlist */
+ YYSYMBOL_elseifstmt = 122, /* elseifstmt */
+ YYSYMBOL_jumpifz = 123, /* jumpifz */
+ YYSYMBOL_jump = 124, /* jump */
+ YYSYMBOL_varassign = 125, /* varassign */
+ YYSYMBOL_if = 126, /* if */
+ YYSYMBOL_begin = 127, /* begin */
+ YYSYMBOL_end = 128, /* end */
+ YYSYMBOL_stmtlist = 129, /* stmtlist */
+ YYSYMBOL_simpleexpr = 130, /* simpleexpr */
+ YYSYMBOL_expr = 131, /* expr */
+ YYSYMBOL_chunkexpr = 132, /* chunkexpr */
+ YYSYMBOL_reference = 133, /* reference */
+ YYSYMBOL_proc = 134, /* proc */
+ YYSYMBOL_135_10 = 135, /* $@10 */
+ YYSYMBOL_136_11 = 136, /* $@11 */
+ YYSYMBOL_137_12 = 137, /* $@12 */
+ YYSYMBOL_globallist = 138, /* globallist */
+ YYSYMBOL_propertylist = 139, /* propertylist */
+ YYSYMBOL_instancelist = 140, /* instancelist */
+ YYSYMBOL_gotofunc = 141, /* gotofunc */
+ YYSYMBOL_gotomovie = 142, /* gotomovie */
+ YYSYMBOL_playfunc = 143, /* playfunc */
+ YYSYMBOL_144_13 = 144, /* $@13 */
+ YYSYMBOL_defn = 145, /* defn */
+ YYSYMBOL_146_14 = 146, /* $@14 */
+ YYSYMBOL_147_15 = 147, /* $@15 */
+ YYSYMBOL_148_16 = 148, /* $@16 */
+ YYSYMBOL_on = 149, /* on */
+ YYSYMBOL_150_17 = 150, /* $@17 */
+ YYSYMBOL_argdef = 151, /* argdef */
+ YYSYMBOL_endargdef = 152, /* endargdef */
+ YYSYMBOL_argstore = 153, /* argstore */
+ YYSYMBOL_macro = 154, /* macro */
+ YYSYMBOL_arglist = 155, /* arglist */
+ YYSYMBOL_nonemptyarglist = 156, /* nonemptyarglist */
+ YYSYMBOL_list = 157, /* list */
+ YYSYMBOL_valuelist = 158, /* valuelist */
+ YYSYMBOL_linearlist = 159, /* linearlist */
+ YYSYMBOL_proplist = 160, /* proplist */
+ YYSYMBOL_proppair = 161 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -775,18 +772,18 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 126
+#define YYFINAL 125
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2656
+#define YYLAST 2541
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 61
+#define YYNNTS 58
/* YYNRULES -- Number of rules. */
-#define YYNRULES 182
+#define YYNRULES 175
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 383
+#define YYNSTATES 364
#define YYMAXUTOK 343
@@ -845,23 +842,22 @@ static const yytype_int16 yyrline[] =
{
0, 170, 170, 171, 173, 174, 175, 177, 184, 188,
199, 200, 201, 208, 215, 222, 229, 235, 242, 253,
- 260, 261, 262, 264, 265, 266, 267, 269, 270, 275,
- 287, 291, 294, 286, 318, 322, 325, 317, 351, 357,
- 363, 350, 390, 392, 397, 401, 406, 410, 417, 425,
- 426, 428, 434, 440, 446, 450, 454, 458, 461, 463,
- 465, 466, 467, 469, 475, 478, 481, 485, 489, 493,
- 501, 502, 503, 514, 515, 516, 519, 522, 525, 528,
- 534, 539, 545, 546, 547, 548, 549, 550, 551, 552,
- 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
- 563, 564, 565, 566, 567, 569, 570, 571, 572, 573,
- 574, 575, 576, 578, 581, 583, 584, 585, 586, 587,
- 588, 588, 589, 589, 590, 590, 591, 594, 597, 598,
- 600, 605, 611, 616, 622, 627, 640, 641, 642, 643,
- 647, 651, 656, 657, 659, 663, 667, 671, 671, 701,
- 701, 701, 707, 708, 708, 714, 722, 728, 728, 731,
- 732, 733, 735, 736, 737, 739, 741, 749, 750, 751,
- 753, 754, 756, 758, 759, 760, 761, 763, 764, 766,
- 767, 769, 773
+ 260, 261, 262, 269, 270, 275, 287, 291, 294, 286,
+ 318, 322, 325, 317, 351, 357, 363, 350, 390, 392,
+ 395, 399, 404, 408, 415, 423, 424, 426, 444, 448,
+ 452, 456, 459, 461, 463, 464, 465, 467, 470, 473,
+ 477, 481, 485, 493, 494, 495, 506, 507, 508, 511,
+ 514, 517, 520, 526, 531, 537, 538, 539, 540, 541,
+ 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 561, 562,
+ 563, 564, 565, 566, 567, 568, 570, 573, 575, 576,
+ 577, 578, 579, 580, 580, 581, 581, 582, 582, 583,
+ 586, 589, 590, 592, 597, 603, 608, 614, 619, 632,
+ 633, 634, 635, 639, 643, 648, 649, 651, 655, 659,
+ 663, 663, 693, 693, 693, 699, 700, 700, 706, 714,
+ 720, 720, 723, 724, 725, 727, 728, 729, 731, 733,
+ 741, 742, 743, 745, 746, 748, 750, 751, 752, 753,
+ 755, 756, 758, 759, 761, 765
};
#endif
@@ -893,12 +889,11 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tENDIF",
"tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
"'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
- "$accept", "program", "programline", "asgn", "stmtoneliner",
- "stmtonelinerwithif", "stmt", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6",
- "$@7", "$@8", "$@9", "tellstart", "ifstmt", "elseifstmtlist",
- "elseifstmt", "ifoneliner", "jumpifz", "jump", "varassign", "if",
- "begin", "end", "stmtlist", "when", "simpleexpr", "expr", "chunkexpr",
- "reference", "proc", "$@10", "$@11", "$@12", "globallist",
+ "$accept", "program", "programline", "asgn", "stmtoneliner", "stmt",
+ "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
+ "tellstart", "ifstmt", "elseifstmtlist", "elseifstmt", "jumpifz", "jump",
+ "varassign", "if", "begin", "end", "stmtlist", "simpleexpr", "expr",
+ "chunkexpr", "reference", "proc", "$@10", "$@11", "$@12", "globallist",
"propertylist", "instancelist", "gotofunc", "gotomovie", "playfunc",
"$@13", "defn", "$@14", "$@15", "$@16", "on", "$@17", "argdef",
"endargdef", "argstore", "macro", "arglist", "nonemptyarglist", "list",
@@ -927,12 +922,12 @@ static const yytype_int16 yytoknum[] =
};
#endif
-#define YYPACT_NINF (-278)
+#define YYPACT_NINF (-295)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-174)
+#define YYTABLE_NINF (-167)
#define yytable_value_is_error(Yyn) \
0
@@ -941,45 +936,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 788, -92, -278, -278, 55, -278, 610, 326, 55, -33,
- 511, -278, -278, -278, -278, -278, -278, -8, -278, 1890,
- -278, -278, -278, -1, 2046, -47, 35, 29, 33, 2128,
- 1927, -278, 2128, 2128, 2128, 2128, 2128, 2128, 2128, -278,
- -278, 2128, 2128, 2128, 421, 74, 24, -278, -278, -278,
- -278, 2128, 1726, -278, 2548, -278, -278, -278, -278, -278,
- -278, -278, -278, -278, -278, -278, -278, 17, 2046, 2009,
- 2548, 23, 2009, 23, -278, 55, 2009, 2548, 26, 699,
- -278, -278, 101, 2128, -278, 82, -278, 2120, -278, 122,
- -278, 123, 393, 124, -278, -7, 55, 55, 40, 98,
- 104, -278, 2445, 2120, -278, 128, -278, 2168, 2201, 2234,
- 2267, 2515, 2432, 132, 133, -278, -278, 2478, 61, 62,
- -278, 2548, 58, 68, 72, -278, -278, 788, 2548, -278,
- -278, 2128, 2548, -278, -278, 2128, 2128, 2128, 2128, 2128,
- 2128, 2128, 2128, 2128, 2128, 2128, 2128, 2128, 2128, 2128,
- 2128, 2128, 151, 2009, 393, 2478, -35, 2128, -20, -278,
- 18, 2128, 23, 151, -278, 79, 2548, 2128, -278, -278,
- 55, 25, 2128, 2128, -31, 2128, 2128, 2128, 57, 144,
- 2128, 2128, 2128, -278, 2128, -278, -278, 80, 2128, 2128,
- 2128, 2128, 2128, 2128, 2128, 2128, 2128, 2128, -278, -278,
- -278, 94, -278, -278, 55, 55, -278, 2128, 85, -278,
- 142, -278, 2548, 15, 15, 15, 15, 2561, 2561, -278,
- -3, 15, 15, 15, 15, -3, -53, -53, -278, -278,
- -278, -75, -278, 2548, -278, -278, 2548, -40, 170, 2548,
- -278, 153, -278, -278, 2548, 2548, 2128, 2128, 2548, 2548,
- 15, 2128, 2128, 172, 2548, 15, 2548, 2548, 173, 2548,
- 2300, 2548, 2333, 2548, 2366, 2548, 2399, 2548, 2548, 1808,
- -278, 177, -278, -278, 2548, 61, 62, -278, -278, 152,
- -278, 178, -278, -278, 151, 2128, 2548, 240, -278, 2548,
- 15, 55, -278, 2128, 2128, 2128, 2128, -278, 1215, -278,
- 1129, 1808, -278, -278, -278, 16, 2548, -278, -278, -278,
- 1300, 155, 2548, 2548, 2548, 2548, -278, -278, -278, 118,
- -278, 125, 874, 959, -278, -278, -278, -278, 126, 2128,
- -278, 60, 174, 129, 188, -278, -278, 162, 182, -278,
- 2548, -278, 2128, -278, 134, -278, -278, -278, 119, 1044,
- -278, 2128, 164, -278, 2548, -278, 1808, 195, -278, 2548,
- 2128, 1385, 169, -278, -278, 1471, -278, 2548, 137, -278,
- 138, -278, -278, -278, -278, 1129, -278, 1556, -278, -278,
- -278, 1641, -278
+ 772, -83, -295, -295, 88, -295, 594, 310, 88, -27,
+ 495, -295, -295, -295, -295, -295, -295, -17, -295, 1792,
+ -295, -295, -295, -12, 1948, 27, 41, 30, 53, 224,
+ 1829, -295, 224, 224, 224, 224, 224, 224, 224, -295,
+ -295, 224, 224, 224, 405, 81, -56, -295, -295, -295,
+ -295, 224, -295, 2433, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -11, 1948, 1911, 2433,
+ 4, 1911, 4, -295, 88, 1911, 2433, 6, 683, -295,
+ -295, 77, 224, -295, 61, -295, 2020, -295, 82, -295,
+ 84, 1987, 85, -295, -49, 88, 88, -8, 58, 60,
+ -295, 2330, 2020, -295, 90, -295, 2053, 2086, 2119, 2152,
+ 2400, 2317, 92, 93, -295, -295, 2363, 17, 36, -295,
+ 2433, 40, 43, 45, -295, -295, 772, 2433, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 120, 1911, 1987, 2363, -14,
+ 224, -9, -295, -3, 224, 4, 120, -295, 47, 2433,
+ 224, -295, -295, 88, 16, 224, 224, -10, 224, 224,
+ 224, -1, 101, 224, 224, 224, 224, 224, -295, -295,
+ 50, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, -295, -295, -295, 51, -295, -295, 88, 88, -295,
+ 224, -7, -295, 99, 117, 117, 117, 117, 2446, 2446,
+ -295, -45, 117, 117, 117, 117, -45, -51, -51, -295,
+ -295, -295, -46, -295, 2433, -295, -295, 2433, -29, 127,
+ 2433, -295, 112, -295, -295, 2433, 2433, 224, 224, 2433,
+ 2433, 117, 224, 224, 131, 2433, 117, 2433, 2433, 2433,
+ 132, 2433, 2185, 2433, 2218, 2433, 2251, 2433, 2284, 2433,
+ 2433, 1710, -295, 135, -295, -295, 2433, 17, 36, -295,
+ -295, -295, 139, -295, -295, 120, 224, 2433, 378, -295,
+ 2433, 117, 88, -295, 224, 224, 224, 224, -295, 1199,
+ -295, 1113, -295, -295, -295, -22, 2433, -295, -295, -295,
+ 1284, 119, 2433, 2433, 2433, 2433, -295, -295, -295, 86,
+ -295, 858, 943, -295, -295, -295, -295, 98, 224, -295,
+ 64, 165, -295, -295, 138, 158, -295, 2433, -295, 224,
+ -295, 109, -295, 96, 1028, -295, 224, 143, -295, 2433,
+ -295, 173, -295, 2433, 224, 1369, 149, -295, 1455, -295,
+ 2433, 121, -295, -295, -295, -295, -295, 1113, 1540, -295,
+ -295, -295, 1625, -295
};
/* YYDEFACTSTATE-NUM -- Default reduction number in state STATE-NUM.
@@ -987,69 +980,65 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 64, 69, 0, 65, 0, 0, 0, 0,
- 0, 67, 66, 147, 153, 80, 81, 119, 120, 0,
- 136, 57, 149, 0, 0, 0, 0, 0, 0, 0,
- 0, 124, 0, 0, 0, 0, 0, 0, 0, 122,
- 157, 0, 0, 0, 0, 0, 2, 82, 27, 6,
- 28, 0, 0, 73, 21, 114, 74, 22, 116, 117,
- 5, 58, 20, 71, 72, 68, 79, 68, 0, 0,
- 168, 127, 0, 76, 113, 0, 0, 170, 166, 0,
- 58, 118, 0, 0, 137, 0, 138, 139, 141, 0,
- 42, 0, 115, 0, 58, 0, 0, 0, 0, 0,
- 0, 152, 129, 144, 146, 0, 96, 0, 0, 0,
- 0, 0, 0, 0, 0, 101, 102, 0, 67, 66,
- 174, 177, 0, 175, 176, 179, 1, 0, 54, 59,
- 26, 0, 24, 25, 23, 0, 0, 0, 0, 0,
+ 0, 0, 57, 62, 0, 58, 0, 0, 0, 0,
+ 0, 60, 59, 140, 146, 73, 74, 112, 113, 0,
+ 129, 51, 142, 0, 0, 0, 0, 0, 0, 0,
+ 0, 117, 0, 0, 0, 0, 0, 0, 0, 115,
+ 150, 0, 0, 0, 0, 0, 2, 75, 23, 6,
+ 24, 0, 66, 21, 107, 67, 22, 109, 110, 5,
+ 52, 20, 64, 65, 61, 72, 61, 0, 0, 161,
+ 120, 0, 69, 106, 0, 0, 163, 159, 0, 52,
+ 111, 0, 0, 130, 0, 131, 132, 134, 0, 38,
+ 0, 108, 0, 52, 0, 0, 0, 0, 0, 0,
+ 145, 122, 137, 139, 0, 89, 0, 0, 0, 0,
+ 0, 0, 0, 0, 94, 95, 0, 60, 59, 167,
+ 170, 0, 168, 169, 172, 1, 0, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 159, 0, 0, 168, 0, 0, 0, 78,
- 0, 0, 148, 159, 130, 121, 143, 0, 140, 150,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 145, 134, 125, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 46, 46,
- 132, 123, 158, 70, 0, 0, 172, 0, 0, 3,
- 0, 43, 54, 92, 93, 90, 91, 94, 95, 87,
- 98, 99, 100, 89, 88, 97, 83, 84, 85, 86,
- 160, 0, 126, 169, 75, 77, 171, 0, 0, 142,
- 58, 0, 7, 8, 10, 11, 0, 0, 54, 15,
- 13, 0, 0, 0, 14, 12, 19, 128, 0, 105,
- 0, 107, 0, 109, 0, 111, 0, 103, 104, 0,
- 60, 0, 182, 181, 178, 0, 0, 180, 60, 0,
- 165, 0, 165, 131, 159, 0, 38, 30, 60, 16,
- 17, 0, 135, 0, 0, 0, 0, 59, 0, 133,
- 0, 0, 60, 161, 60, 0, 9, 58, 56, 56,
- 0, 0, 106, 108, 110, 112, 45, 61, 62, 0,
- 49, 55, 0, 0, 165, 39, 31, 35, 0, 0,
- 44, 58, 0, 0, 162, 60, 54, 0, 0, 29,
- 18, 58, 0, 50, 0, 58, 53, 163, 155, 0,
- 40, 0, 0, 60, 54, 47, 0, 0, 60, 32,
- 0, 0, 0, 58, 164, 0, 54, 36, 0, 60,
- 0, 41, 60, 54, 48, 0, 52, 0, 60, 51,
- 33, 0, 37
+ 0, 0, 0, 0, 0, 152, 0, 0, 161, 0,
+ 0, 0, 71, 0, 0, 141, 152, 123, 114, 136,
+ 0, 133, 143, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 138, 127,
+ 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 42, 42, 125, 116, 151, 63, 0, 0, 165,
+ 0, 0, 3, 0, 85, 86, 83, 84, 87, 88,
+ 80, 91, 92, 93, 82, 81, 90, 76, 77, 78,
+ 79, 153, 0, 119, 162, 68, 70, 164, 0, 0,
+ 135, 52, 0, 7, 8, 10, 11, 0, 0, 48,
+ 15, 13, 0, 0, 0, 14, 12, 19, 39, 121,
+ 0, 98, 0, 100, 0, 102, 0, 104, 0, 96,
+ 97, 0, 54, 0, 175, 174, 171, 0, 0, 173,
+ 54, 158, 0, 158, 124, 152, 0, 34, 26, 54,
+ 16, 17, 0, 128, 0, 0, 0, 0, 53, 0,
+ 126, 0, 54, 154, 54, 0, 9, 52, 50, 50,
+ 0, 0, 99, 101, 103, 105, 41, 55, 56, 0,
+ 45, 0, 0, 158, 35, 27, 31, 0, 0, 40,
+ 52, 155, 54, 48, 0, 0, 25, 18, 52, 0,
+ 46, 0, 156, 148, 0, 36, 0, 0, 54, 48,
+ 43, 0, 54, 28, 0, 0, 0, 157, 0, 48,
+ 32, 0, 54, 37, 54, 48, 44, 0, 0, 54,
+ 47, 29, 0, 33
};
/* YYPGOTONTERM-NUM. */
static const yytype_int16 yypgoto[] =
{
- -278, 100, -278, -278, -261, -278, 19, -278, -278, -278,
- -278, -278, -278, -278, -278, -278, 31, -278, -278, -278,
- -278, -173, -277, -84, 179, -78, -178, -76, -278, 3,
- -6, -278, 63, 180, -278, -278, -278, -278, -278, -278,
- -278, -16, -278, -278, -278, -278, -278, -278, -278, -278,
- -160, -278, -276, 181, 14, -278, -278, -278, -278, -278,
- 27
+ -295, 79, -295, -295, -58, 15, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, 14, -295, -295, -295, -151,
+ -294, -86, -295, -76, -75, 1654, 3, -6, -295, 52,
+ -295, -295, -295, -295, -295, -295, -295, -295, -20, -295,
+ -295, -295, -295, -295, -295, -295, -295, -154, -295, -261,
+ -295, 2, -295, -295, -295, -295, -295, 18
};
/* YYDEFGOTONTERM-NUM. */
static const yytype_int16 yydefgoto[] =
{
- -1, 45, 46, 47, 48, 129, 318, 308, 337, 366,
- 309, 338, 373, 307, 336, 358, 269, 50, 331, 343,
- 130, 210, 320, 326, 51, 152, 211, 298, 52, 53,
- 54, 55, 56, 57, 82, 113, 105, 165, 201, 187,
- 58, 88, 59, 79, 60, 89, 240, 80, 61, 114,
- 231, 348, 302, 62, 160, 78, 63, 122, 123, 124,
- 125
+ -1, 45, 46, 47, 48, 308, 298, 324, 349, 299,
+ 325, 355, 297, 323, 342, 261, 50, 320, 330, 203,
+ 310, 315, 51, 145, 306, 289, 52, 53, 54, 55,
+ 56, 81, 112, 104, 158, 194, 180, 57, 87, 58,
+ 78, 59, 88, 231, 79, 60, 113, 222, 333, 292,
+ 61, 153, 77, 62, 121, 122, 123, 124
};
/* YYTABLEYYPACT[STATE-NUM] -- What to do in state STATE-NUM. If
@@ -1057,112 +1046,136 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 70, 70, 163, 237, 77, 64, 304, 66, 297, 93,
- 94, 74, 246, 87, 104, 75, 175, 141, 92, 49,
- 71, 73, 280, 102, 103, 281, 106, 107, 108, 109,
- 110, 111, 112, 328, 247, 115, 116, 117, 121, 279,
- 321, 150, 151, 81, 332, 128, 132, 176, 335, 8,
- 90, 242, 95, 96, 97, 100, 1, 282, 177, 101,
- 281, 98, 154, 155, 232, 157, 155, 141, 99, 2,
- 155, 168, 3, 70, 126, 288, 5, 166, 159, 234,
- 157, 65, 11, 156, 12, 141, 158, 185, 142, 148,
- 149, 150, 151, 162, 180, 363, 341, 342, 379, 178,
- 179, 33, 34, 35, 36, 181, 147, 148, 149, 150,
- 151, 251, 275, 324, 276, 153, 281, 235, 157, 316,
- 319, 127, 252, 157, 305, 212, 161, 164, 167, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 49, 70, 169, 170,
- 174, 233, 182, 43, 186, 236, 44, 183, 200, 202,
- 206, 239, 284, 350, 204, 205, 244, 245, 207, 248,
- 249, 250, 208, 241, 254, 255, 256, 230, 257, 238,
- 258, 362, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 253, 372, 271, 278, 283, 285, 291, 292,
- 378, 274, 300, 299, 303, 301, 330, 272, 273, 329,
- 345, -58, 310, 339, 347, 346, 351, 352, 360, 357,
- 355, 364, 369, 374, 376, 327, 322, 209, 323, 325,
- 270, 131, 133, 134, 243, 277, 0, 0, 0, 0,
- 286, 287, 0, 333, 0, 289, 290, 0, 0, 0,
- 0, 0, 0, 344, 0, 0, 0, 0, 0, 349,
- 0, 0, 0, 353, 0, 0, 0, 356, 0, 0,
- 0, 0, 0, 0, 0, -34, 0, 361, 0, 306,
- 0, 0, 365, 368, 0, 370, 0, 312, 313, 314,
- 315, 0, 0, 375, 311, 0, 377, 0, 0, 0,
- 0, 0, 381, 135, 136, 137, 138, 139, 140, 0,
- 141, 0, 0, 142, 143, 144, 0, 0, 0, 0,
- 0, 0, 0, 340, 0, 0, -167, 1, 0, 145,
- 146, 147, 148, 149, 150, 151, 354, 0, 0, 0,
- 2, 0, 0, 3, 4, 359, 0, 5, -167, 7,
- 8, 9, 67, 11, 367, 12, -167, -167, 0, 15,
- 16, -167, -167, -167, -167, -167, -167, -167, -167, 0,
- -167, 0, -167, -167, -167, 0, 68, -167, 26, -167,
- -167, -167, -167, 0, 0, 0, -167, -167, -167, -167,
- -167, -167, -167, -167, -167, 32, -167, -167, -167, -167,
- -167, -167, 33, 34, 35, 36, 37, -167, -167, -167,
- -167, 0, -167, -167, -167, -167, -167, -167, 41, 42,
- -167, -167, 1, -167, 72, -167, -167, 44, -167, 0,
- 0, 0, 0, 0, 0, 2, 0, 171, 3, 4,
- 0, 0, 5, 0, 7, 8, 9, 67, 118, 0,
- 119, 0, 0, 0, 15, 16, 135, 136, 137, 138,
- 139, 140, 0, 141, 172, 173, 142, 143, 144, 0,
- 0, 68, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 0, 145, 146, 147, 148, 149, 150, 151, 0,
- 32, 0, 0, 0, 0, 0, 0, 33, 34, 35,
- 36, 37, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -68, 1, 41, 42, 0, 0, 0, 0, 43,
- 0, 0, 44, -173, 120, 2, 0, 0, 3, 4,
- 0, 0, 5, -68, 7, 8, 9, 67, 11, 0,
- 12, -68, -68, 0, 15, 16, 0, -68, -68, -68,
- -68, -68, -68, -68, 0, 0, 0, 0, -68, 0,
- 0, 68, -68, 26, 0, 0, -68, 0, 0, 0,
- 0, -68, -68, -68, -68, -68, -68, -68, -68, -68,
- 32, -68, 0, 0, -68, -68, -68, 33, 34, 35,
- 36, 37, 0, 0, -68, -68, 0, -68, -68, -68,
- -68, -68, -68, 41, 42, -68, -68, 0, -68, 76,
- -167, 1, 44, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 3, 4, 0,
- 0, 5, -167, 7, 8, 9, 67, 11, 0, 12,
- -167, -167, 0, 15, 16, 0, -167, -167, -167, -167,
- -167, -167, -167, 0, 0, 0, 0, -167, 0, 0,
- 68, -167, 26, 0, 0, -167, 0, 0, 0, 0,
- -167, -167, -167, 0, 0, 0, 0, 0, 0, 32,
- 0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
- 37, 0, 0, -167, -167, 0, -167, -167, -167, -167,
- 1, 0, 41, 42, 0, 0, 0, -167, 69, 0,
- -167, 44, 0, 2, 0, 0, 3, 4, 0, 0,
- 5, -167, 7, 8, 9, 67, 11, 0, 12, -167,
- -167, 0, 15, 16, 0, -167, -167, -167, -167, -167,
- -167, -167, 0, 0, 0, 0, -167, 0, 0, 68,
- -167, 26, 0, 0, -167, 0, 0, 0, 0, -167,
- -167, -167, 0, 0, 0, 0, 0, 0, 32, 0,
- 0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 0, 0, -167, -167, 0, -167, -167, -167, -4, 1,
- 0, 41, 42, 0, 0, 0, -167, 43, 0, -167,
- 44, 0, 2, 0, 0, 3, 4, 0, 0, 5,
+ 69, 69, 228, 156, 76, 169, 317, 65, 70, 72,
+ 103, 73, 294, 86, 63, 49, 170, 168, 91, 134,
+ 267, 74, 268, 101, 102, 134, 105, 106, 107, 108,
+ 109, 110, 111, 237, 80, 114, 115, 116, 120, 89,
+ 8, 126, 233, 143, 144, 127, 173, 141, 142, 143,
+ 144, 271, 322, 242, 272, 238, 99, 174, 94, 95,
+ 96, 147, 148, 360, 243, 148, 161, 97, 273, 148,
+ 149, 272, 69, 151, 98, 313, 159, 152, 272, 100,
+ 155, 125, 178, 92, 93, 223, 150, 146, 279, 1,
+ 225, 150, 33, 34, 35, 36, 226, 150, 171, 172,
+ 328, 329, 2, 157, 150, 3, 154, 160, 162, 5,
+ 163, 167, 175, 176, 64, 11, 179, 12, 193, 195,
+ 197, 295, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 198,
+ 69, 49, 199, 200, 224, 201, 221, 229, 227, 244,
+ 250, 263, 270, 274, 230, 275, 276, 282, 283, 235,
+ 236, 290, 239, 240, 241, 293, 232, 245, 246, 247,
+ 248, 249, 335, 318, 319, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 326, 43, 134, 346, 44,
+ 135, 332, 336, 337, 266, 340, 341, 344, 354, 347,
+ 264, 265, 352, 288, 359, 202, 262, 356, 140, 141,
+ 142, 143, 144, 316, 309, 0, 234, 0, 0, 269,
+ 0, 314, 0, 0, 0, 1, 0, 0, 0, 0,
+ 0, 277, 278, 0, 0, 0, 280, 281, 2, 0,
+ 0, 3, 4, 0, 331, 5, 0, 7, 8, 9,
+ 66, 11, 338, 12, 0, 0, 0, 15, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 351,
+ 296, 0, 0, 0, 67, 0, 26, 0, 302, 303,
+ 304, 305, 0, 0, 0, 301, 0, 0, 0, 0,
+ 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
+ 33, 34, 35, 36, 37, 0, 0, 0, 0, 0,
+ -160, 1, 327, 0, 0, 0, 41, 42, 0, 0,
+ 0, 0, 43, 339, 2, 44, 0, 3, 4, 0,
+ 343, 5, -160, 7, 8, 9, 66, 11, 350, 12,
+ -160, -160, 0, 15, 16, -160, -160, -160, -160, -160,
+ -160, -160, -160, 0, -160, 0, -160, -160, -160, 0,
+ 67, -160, 26, -160, -160, -160, -160, 0, 0, 0,
+ -160, -160, -160, -160, -160, -160, -160, -160, -160, 32,
+ -160, -160, -160, -160, -160, -160, 33, 34, 35, 36,
+ 37, -160, -160, -160, -160, 0, -160, -160, -160, -160,
+ -160, -160, 41, 42, -160, -160, 1, -160, 71, -160,
+ -160, 44, -160, -30, 0, 0, 0, 0, 0, 2,
+ 0, 0, 3, 4, 0, 0, 5, 0, 7, 8,
+ 9, 66, 117, 0, 118, 0, 0, 0, 15, 16,
+ 0, 128, 129, 130, 131, 132, 133, 0, 134, 0,
+ 0, 135, 136, 137, 0, 67, 0, 26, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 138, 139, 140,
+ 141, 142, 143, 144, 32, 0, 0, 0, 0, 0,
+ 0, 33, 34, 35, 36, 37, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -61, 1, 41, 42, 0,
+ 0, 0, 0, 43, 0, 0, 44, -166, 119, 2,
+ 0, 0, 3, 4, 0, 0, 5, -61, 7, 8,
+ 9, 66, 11, 0, 12, -61, -61, 0, 15, 16,
+ 0, -61, -61, -61, -61, -61, -61, -61, 0, 0,
+ 0, 0, -61, 0, 0, 67, -61, 26, 0, 0,
+ -61, 0, 0, 0, 0, -61, -61, -61, -61, -61,
+ -61, -61, -61, -61, 32, -61, 0, 0, -61, -61,
+ -61, 33, 34, 35, 36, 37, 0, 0, -61, -61,
+ 0, -61, -61, -61, -61, -61, -61, 41, 42, -61,
+ -61, 0, -61, 75, -160, 1, 44, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 3, 4, 0, 0, 5, -160, 7, 8, 9,
+ 66, 11, 0, 12, -160, -160, 0, 15, 16, 0,
+ -160, -160, -160, -160, -160, -160, -160, 0, 0, 0,
+ 0, -160, 0, 0, 67, -160, 26, 0, 0, -160,
+ 0, 0, 0, 0, -160, -160, -160, 0, 0, 0,
+ 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
+ 33, 34, 35, 36, 37, 0, 0, -160, -160, 0,
+ -160, -160, -160, -160, 1, 0, 41, 42, 0, 0,
+ 0, -160, 68, 0, -160, 44, 0, 2, 0, 0,
+ 3, 4, 0, 0, 5, -160, 7, 8, 9, 66,
+ 11, 0, 12, -160, -160, 0, 15, 16, 0, -160,
+ -160, -160, -160, -160, -160, -160, 0, 0, 0, 0,
+ -160, 0, 0, 67, -160, 26, 0, 0, -160, 0,
+ 0, 0, 0, -160, -160, -160, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 0, 0, 0, 33,
+ 34, 35, 36, 37, 0, 0, -160, -160, 0, -160,
+ -160, -160, -4, 1, 0, 41, 42, 0, 0, 0,
+ -160, 43, 0, -160, 44, 0, 2, 0, 0, 3,
+ 4, 0, 0, 5, 6, 7, 8, 9, 10, 11,
+ 0, 12, 0, 13, 14, 15, 16, 0, 0, 0,
+ 17, 18, 19, 20, 21, 0, 0, 22, 0, 23,
+ 0, 0, 24, 25, 26, 0, 0, 27, 0, 0,
+ 0, 28, 29, 30, 31, 0, 0, 0, 0, 0,
+ 0, 32, 0, 0, 0, 0, 0, 0, 33, 34,
+ 35, 36, 37, 0, 0, 38, 39, 40, -149, 1,
+ 0, 0, 0, 0, 41, 42, 0, 0, 0, -4,
+ 43, 0, 2, 44, 0, 3, 4, 0, 0, 5,
+ 6, 7, 8, 9, 10, 11, 0, 12, 321, 13,
+ 0, 15, 16, 0, 0, 0, 17, 18, 19, 20,
+ 21, 0, 0, 0, 0, 23, 0, 0, 24, 25,
+ 26, 0, 0, 27, 0, 0, 0, 0, 29, 30,
+ 31, 0, 0, 0, 0, 0, 0, 32, 0, 0,
+ 0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
+ 0, 38, 39, -147, 1, 0, 0, 0, 0, 0,
+ 41, 42, 0, 0, 0, 307, 43, 2, 0, 44,
+ 3, 4, 0, 0, 5, 6, 7, 8, 9, 10,
+ 11, 0, 12, 0, 13, 0, 15, 16, 0, 0,
+ 0, 17, 18, 19, 20, 21, 0, 0, 0, 0,
+ 23, 0, 0, 24, 25, 26, 0, 0, 27, 0,
+ 0, 0, 0, 29, 30, 31, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 0, 0, 0, 33,
+ 34, 35, 36, 37, 0, 0, 38, 39, -144, 1,
+ 0, 0, 0, 0, 0, 41, 42, 0, 0, 0,
+ 307, 43, 2, 0, 44, 3, 4, 0, 0, 5,
6, 7, 8, 9, 10, 11, 0, 12, 0, 13,
- 14, 15, 16, 0, 0, 0, 17, 18, 19, 20,
- 21, 0, 0, 22, 0, 23, 0, 0, 24, 25,
- 26, 0, 0, 27, 0, 0, 0, 28, 29, 30,
+ 0, 15, 16, 0, 0, 0, 17, 18, 19, 20,
+ 21, 0, 0, 0, 0, 23, 0, 0, 24, 25,
+ 26, 0, 0, 27, 0, 0, 0, 0, 29, 30,
31, 0, 0, 0, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
- 0, 38, 39, 40, -156, 1, 0, 0, 0, 0,
- 41, 42, 0, 0, 0, -4, 43, 0, 2, 44,
- 0, 3, 4, 0, 0, 5, 6, 7, 8, 9,
- 10, 11, 0, 12, 334, 13, 0, 15, 16, 0,
- 0, 0, 17, 18, 19, 20, 21, 0, 0, 0,
- 0, 23, 0, 0, 24, 25, 26, 0, 0, 27,
- 0, 0, 0, 0, 29, 30, 31, 0, 0, 0,
- 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
- 33, 34, 35, 36, 37, 0, 0, 38, 39, -154,
- 1, 0, 0, 0, 0, 0, 41, 42, 0, 0,
- 0, 317, 43, 2, 0, 44, 3, 4, 0, 0,
+ 0, 38, 39, 0, 1, 0, 0, 0, 0, 0,
+ 41, 42, 0, 0, 0, 307, 43, 2, 0, 44,
+ 3, 4, 0, 0, 5, 6, 7, 8, 9, 10,
+ 11, 0, 12, 0, 13, 0, 15, 16, 0, -49,
+ -49, 17, 18, 19, 20, 21, 0, 0, 0, 0,
+ 23, 0, 0, 24, 25, 26, 0, 0, 27, 0,
+ 0, 0, 0, 29, 30, 31, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 0, 0, 0, 33,
+ 34, 35, 36, 37, 0, 0, 38, 39, 0, -49,
+ 1, 0, 0, 0, 0, 41, 42, 0, 0, 0,
+ 307, 43, 0, 2, 44, 0, 3, 4, 0, 0,
5, 6, 7, 8, 9, 10, 11, 0, 12, 0,
13, 0, 15, 16, 0, 0, 0, 17, 18, 19,
20, 21, 0, 0, 0, 0, 23, 0, 0, 24,
25, 26, 0, 0, 27, 0, 0, 0, 0, 29,
30, 31, 0, 0, 0, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 0, 0, 38, 39, -151, 1, 0, 0, 0, 0,
- 0, 41, 42, 0, 0, 0, 317, 43, 2, 0,
+ 0, 0, 38, 39, 0, 1, 0, -53, 0, 0,
+ 0, 41, 42, 0, 0, 0, 307, 43, 2, 0,
44, 3, 4, 0, 0, 5, 6, 7, 8, 9,
10, 11, 0, 12, 0, 13, 0, 15, 16, 0,
0, 0, 17, 18, 19, 20, 21, 0, 0, 0,
@@ -1170,16 +1183,16 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 29, 30, 31, 0, 0, 0,
0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
33, 34, 35, 36, 37, 0, 0, 38, 39, 0,
- 1, 0, 0, 0, 0, 0, 41, 42, 0, 0,
- 0, 317, 43, 2, 0, 44, 3, 4, 0, 0,
+ 1, -49, 0, 0, 0, 0, 41, 42, 0, 0,
+ 0, 307, 43, 2, 0, 44, 3, 4, 0, 0,
5, 6, 7, 8, 9, 10, 11, 0, 12, 0,
- 13, 0, 15, 16, 0, -55, -55, 17, 18, 19,
+ 13, 0, 15, 16, 0, 0, 0, 17, 18, 19,
20, 21, 0, 0, 0, 0, 23, 0, 0, 24,
25, 26, 0, 0, 27, 0, 0, 0, 0, 29,
30, 31, 0, 0, 0, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 0, 0, 38, 39, 0, -55, 1, 0, 0, 0,
- 0, 41, 42, 0, 0, 0, 317, 43, 0, 2,
+ 0, 0, 38, 39, 0, -52, 1, 0, 0, 0,
+ 0, 41, 42, 0, 0, 0, 307, 43, 0, 2,
44, 0, 3, 4, 0, 0, 5, 6, 7, 8,
9, 10, 11, 0, 12, 0, 13, 0, 15, 16,
0, 0, 0, 17, 18, 19, 20, 21, 0, 0,
@@ -1187,16 +1200,16 @@ static const yytype_int16 yytable[] =
27, 0, 0, 0, 0, 29, 30, 31, 0, 0,
0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
0, 33, 34, 35, 36, 37, 0, 0, 38, 39,
- 0, 1, 0, -59, 0, 0, 0, 41, 42, 0,
- 0, 0, 317, 43, 2, 0, 44, 3, 4, 0,
+ 0, 1, 353, 0, 0, 0, 0, 41, 42, 0,
+ 0, 0, 307, 43, 2, 0, 44, 3, 4, 0,
0, 5, 6, 7, 8, 9, 10, 11, 0, 12,
0, 13, 0, 15, 16, 0, 0, 0, 17, 18,
19, 20, 21, 0, 0, 0, 0, 23, 0, 0,
24, 25, 26, 0, 0, 27, 0, 0, 0, 0,
29, 30, 31, 0, 0, 0, 0, 0, 0, 32,
0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
- 37, 0, 0, 38, 39, 0, 1, -55, 0, 0,
- 0, 0, 41, 42, 0, 0, 0, 317, 43, 2,
+ 37, 0, 0, 38, 39, 0, 1, 361, 0, 0,
+ 0, 0, 41, 42, 0, 0, 0, 307, 43, 2,
0, 44, 3, 4, 0, 0, 5, 6, 7, 8,
9, 10, 11, 0, 12, 0, 13, 0, 15, 16,
0, 0, 0, 17, 18, 19, 20, 21, 0, 0,
@@ -1204,234 +1217,223 @@ static const yytype_int16 yytable[] =
27, 0, 0, 0, 0, 29, 30, 31, 0, 0,
0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
0, 33, 34, 35, 36, 37, 0, 0, 38, 39,
- 0, -58, 1, 0, 0, 0, 0, 41, 42, 0,
- 0, 0, 317, 43, 0, 2, 44, 0, 3, 4,
- 0, 0, 5, 6, 7, 8, 9, 10, 11, 0,
- 12, 0, 13, 0, 15, 16, 0, 0, 0, 17,
- 18, 19, 20, 21, 0, 0, 0, 0, 23, 0,
- 0, 24, 25, 26, 0, 0, 27, 0, 0, 0,
- 0, 29, 30, 31, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 0, 0, 0, 33, 34, 35,
- 36, 37, 0, 0, 38, 39, 0, 1, 371, 0,
- 0, 0, 0, 41, 42, 0, 0, 0, 317, 43,
- 2, 0, 44, 3, 4, 0, 0, 5, 6, 7,
- 8, 9, 10, 11, 0, 12, 0, 13, 0, 15,
- 16, 0, 0, 0, 17, 18, 19, 20, 21, 0,
- 0, 0, 0, 23, 0, 0, 24, 25, 26, 0,
- 0, 27, 0, 0, 0, 0, 29, 30, 31, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
- 0, 0, 33, 34, 35, 36, 37, 0, 0, 38,
- 39, 0, 1, 380, 0, 0, 0, 0, 41, 42,
- 0, 0, 0, 317, 43, 2, 0, 44, 3, 4,
- 0, 0, 5, 6, 7, 8, 9, 10, 11, 0,
- 12, 0, 13, 0, 15, 16, 0, 0, 0, 17,
- 18, 19, 20, 21, 0, 0, 0, 0, 23, 0,
- 0, 24, 25, 26, 0, 0, 27, 0, 0, 0,
- 0, 29, 30, 31, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 0, 0, 0, 33, 34, 35,
- 36, 37, 0, 0, 38, 39, 0, 1, 382, 0,
- 0, 0, 0, 41, 42, 0, 0, 0, 317, 43,
- 2, 0, 44, 3, 4, 0, 0, 5, 6, 7,
- 8, 9, 10, 11, 0, 12, 0, 13, 0, 15,
- 16, 0, 0, 0, 17, 18, 19, 20, 21, 0,
- 0, 0, 0, 0, 0, 0, 24, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 29, 30, 31, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
- 0, 0, 33, 34, 35, 36, 37, 0, 0, 1,
- 39, 0, 0, 0, 0, 0, 0, 0, 41, 42,
- 0, 0, 2, 0, 43, 3, 4, 44, 0, 5,
- 6, 7, 8, 9, 10, 11, 0, 12, 0, 13,
- 0, 15, 16, 0, 0, 0, 17, 18, 19, 20,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 29, 30,
- 31, 0, 0, 0, 0, 0, 0, 32, 0, 0,
+ 0, 1, 363, 0, 0, 0, 0, 41, 42, 0,
+ 0, 0, 307, 43, 2, 0, 44, 3, 4, 0,
+ 0, 5, 6, 7, 8, 9, 10, 11, 0, 12,
+ 0, 13, 0, 15, 16, 0, 0, 0, 17, 18,
+ 19, 20, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 0, 26, 0, 0, 0, 0, 0, 0, 0,
+ 29, 30, 31, 0, 0, 0, 0, 0, 0, 32,
+ 0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
+ 37, 0, 0, 1, 39, 0, 0, 0, 0, 0,
+ 0, 0, 41, 42, 0, 0, 2, 0, 43, 3,
+ 4, 44, 0, 5, 0, 7, 8, 9, 66, 11,
+ 0, 12, 0, 0, 0, 15, 16, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 82, 83,
+ 84, 85, 67, 2, 26, 0, 3, 4, 0, 0,
+ 5, 0, 7, 8, 9, 66, 11, 0, 12, 0,
+ 0, 32, 15, 16, 0, 0, 0, 0, 33, 34,
+ 35, 36, 37, 0, 0, 82, 0, 84, 0, 67,
+ 0, 26, 0, 0, 41, 42, 0, 0, 0, 0,
+ 43, 0, 0, 44, 0, 0, 0, 0, 32, 0,
+ 0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 41, 42, 0, 291, 2, 0, 43, 3, 4,
+ 44, 0, 5, 300, 7, 8, 9, 66, 11, 0,
+ 12, 0, 0, 0, 15, 16, 311, 0, 312, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 67, 2, 26, 0, 3, 4, 0, 90, 5,
+ 0, 7, 8, 9, 66, 11, 334, 12, 0, 0,
+ 32, 15, 16, 0, 0, 0, 0, 33, 34, 35,
+ 36, 37, 345, 0, 0, 0, 348, 0, 67, 0,
+ 26, 0, 0, 41, 42, 0, 357, 0, 358, 43,
+ -160, -160, 44, 362, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
- 0, 1, 39, 0, 0, 0, 0, 0, 0, 0,
- 41, 42, 0, 0, 2, 0, 43, 3, 4, 44,
- 0, 5, 0, 7, 8, 9, 67, 11, 0, 12,
- 0, 0, 0, 15, 16, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
- 68, 2, 26, 0, 3, 4, 0, 0, 5, 0,
- 7, 8, 9, 67, 11, 0, 12, 0, 0, 32,
- 15, 16, 0, 0, 0, 0, 33, 34, 35, 36,
- 37, 0, 0, 83, 0, 85, 0, 68, 0, 26,
- 0, 0, 41, 42, 0, 0, 0, 0, 43, 0,
- 0, 44, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 0, 33, 34, 35, 36, 37, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 41,
- 42, 0, 0, 2, 0, 43, 3, 4, 44, 0,
- 5, 0, 7, 8, 9, 67, 11, 0, 12, 0,
- 0, 0, 15, 16, 0, 0, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
- 2, 26, 0, 3, 4, 0, 91, 5, 0, 7,
- 8, 9, 67, 11, 0, 12, 0, 0, 32, 15,
- 16, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 0, 0, 0, 0, 0, 0, 68, 0, 26, 0,
- 0, 41, 42, 0, 0, 0, 0, 43, -167, -167,
- 44, 0, 0, 0, 0, 32, 0, 0, 0, 0,
- 0, 0, 33, 34, 35, 36, 37, 0, 0, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 42,
- 0, 0, 2, 0, 43, 3, 4, 44, 0, 5,
- 0, 7, 8, 9, 67, 11, 0, 12, 0, 0,
- 0, 15, 16, 0, 0, 0, 83, 0, 85, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
- 26, 0, 0, 135, 136, 137, 138, 139, 140, 0,
- 141, 0, 0, 142, 143, 144, 0, 32, 0, 0,
- 0, 0, 0, 0, 33, 34, 35, 36, 37, 145,
- 146, 147, 148, 149, 150, 151, 188, 0, 0, 0,
- 41, 42, 189, 0, 0, 0, 43, 0, 0, 44,
- 0, 135, 136, 137, 138, 139, 140, 0, 141, 0,
- 0, 142, 143, 144, 0, 0, 0, 0, 0, 190,
- 0, 0, 0, 0, 0, 191, 0, 145, 146, 147,
- 148, 149, 150, 151, 135, 136, 137, 138, 139, 140,
- 0, 141, 0, 0, 142, 143, 144, 0, 0, 0,
- 0, 0, 192, 0, 0, 0, 0, 0, 193, 0,
- 145, 146, 147, 148, 149, 150, 151, 135, 136, 137,
- 138, 139, 140, 0, 141, 0, 0, 142, 143, 144,
- 0, 0, 0, 0, 0, 194, 0, 0, 0, 0,
- 0, 195, 0, 145, 146, 147, 148, 149, 150, 151,
- 135, 136, 137, 138, 139, 140, 0, 141, 0, 0,
- 142, 143, 144, 0, 0, 0, 0, 0, 293, 0,
- 0, 0, 0, 0, 0, 0, 145, 146, 147, 148,
- 149, 150, 151, 135, 136, 137, 138, 139, 140, 0,
- 141, 0, 0, 142, 143, 144, 0, 0, 0, 0,
- 0, 294, 0, 0, 0, 0, 0, 0, 0, 145,
- 146, 147, 148, 149, 150, 151, 135, 136, 137, 138,
- 139, 140, 0, 141, 0, 0, 142, 143, 144, 0,
- 0, 0, 0, 0, 295, 0, 0, 0, 0, 0,
- 0, 0, 145, 146, 147, 148, 149, 150, 151, 135,
- 136, 137, 138, 139, 140, 0, 141, 0, 0, 142,
- 143, 144, 0, 0, 0, 0, 0, 296, 0, 0,
- 0, 0, 0, 0, 0, 145, 146, 147, 148, 149,
- 150, 151, 135, 136, 137, 138, 139, 140, 0, 141,
- 0, 0, 142, 143, 144, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 0, 145, 146,
- 147, 148, 149, 150, 151, 135, 136, 137, 138, 139,
- 140, 184, 141, 0, 0, 142, 143, 144, 135, 136,
- 137, 138, 139, 140, 0, 141, 0, 0, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 0, 199,
- 0, 0, 0, 0, 145, 146, 147, 148, 149, 150,
- 151, 135, 136, 137, 138, 139, 140, 0, 141, 0,
- 0, 142, 143, 144, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 145, 146, 147,
- 148, 149, 150, 151, 0, 0, 0, 203, 135, 136,
- 137, 138, 139, 140, 0, 141, 0, 0, 142, 143,
- 144, 0, 0, 0, 0, 0, 196, 197, 0, 0,
- 0, 0, 0, 0, 145, 146, 147, 148, 149, 150,
- 151, 135, 136, 137, 138, 139, 140, 0, 141, 0,
- 0, 142, 143, 144, 135, 136, 137, 138, 0, 0,
- 0, 141, 0, 0, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 0, 0, 0, 0, 0, 0,
- 145, 146, 147, 148, 149, 150, 151
+ 0, 164, 0, 0, 0, 0, 0, 0, 0, 0,
+ 41, 42, 0, 0, 0, 0, 43, 0, 0, 44,
+ 128, 129, 130, 131, 132, 133, 0, 134, 165, 166,
+ 135, 136, 137, 0, 0, 0, 82, 0, 84, 0,
+ 0, 0, 0, 0, 0, 0, 138, 139, 140, 141,
+ 142, 143, 144, 128, 129, 130, 131, 132, 133, 0,
+ 134, 0, 0, 135, 136, 137, 0, 0, 0, 0,
+ 0, 181, 0, 0, 0, 0, 0, 182, 0, 138,
+ 139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
+ 132, 133, 0, 134, 0, 0, 135, 136, 137, 0,
+ 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
+ 184, 0, 138, 139, 140, 141, 142, 143, 144, 128,
+ 129, 130, 131, 132, 133, 0, 134, 0, 0, 135,
+ 136, 137, 0, 0, 0, 0, 0, 185, 0, 0,
+ 0, 0, 0, 186, 0, 138, 139, 140, 141, 142,
+ 143, 144, 128, 129, 130, 131, 132, 133, 0, 134,
+ 0, 0, 135, 136, 137, 0, 0, 0, 0, 0,
+ 187, 0, 0, 0, 0, 0, 188, 0, 138, 139,
+ 140, 141, 142, 143, 144, 128, 129, 130, 131, 132,
+ 133, 0, 134, 0, 0, 135, 136, 137, 0, 0,
+ 0, 0, 0, 284, 0, 0, 0, 0, 0, 0,
+ 0, 138, 139, 140, 141, 142, 143, 144, 128, 129,
+ 130, 131, 132, 133, 0, 134, 0, 0, 135, 136,
+ 137, 0, 0, 0, 0, 0, 285, 0, 0, 0,
+ 0, 0, 0, 0, 138, 139, 140, 141, 142, 143,
+ 144, 128, 129, 130, 131, 132, 133, 0, 134, 0,
+ 0, 135, 136, 137, 0, 0, 0, 0, 0, 286,
+ 0, 0, 0, 0, 0, 0, 0, 138, 139, 140,
+ 141, 142, 143, 144, 128, 129, 130, 131, 132, 133,
+ 0, 134, 0, 0, 135, 136, 137, 0, 0, 0,
+ 0, 0, 287, 0, 0, 0, 0, 0, 0, 0,
+ 138, 139, 140, 141, 142, 143, 144, 128, 129, 130,
+ 131, 132, 133, 0, 134, 0, 0, 135, 136, 137,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 191, 0, 138, 139, 140, 141, 142, 143, 144,
+ 128, 129, 130, 131, 132, 133, 177, 134, 0, 0,
+ 135, 136, 137, 128, 129, 130, 131, 132, 133, 0,
+ 134, 0, 0, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 0, 192, 0, 0, 0, 0, 138,
+ 139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
+ 132, 133, 0, 134, 0, 0, 135, 136, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 138, 139, 140, 141, 142, 143, 144, 0,
+ 0, 0, 196, 128, 129, 130, 131, 132, 133, 0,
+ 134, 0, 0, 135, 136, 137, 0, 0, 0, 0,
+ 0, 189, 190, 0, 0, 0, 0, 0, 0, 138,
+ 139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
+ 132, 133, 0, 134, 0, 0, 135, 136, 137, 128,
+ 129, 130, 131, 0, 0, 0, 134, 0, 0, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 0,
+ 0, 0, 0, 0, 0, 138, 139, 140, 141, 142,
+ 143, 144
};
static const yytype_int16 yycheck[] =
{
- 6, 7, 80, 163, 10, 97, 282, 4, 269, 56,
- 57, 8, 43, 19, 30, 48, 94, 70, 24, 0,
- 6, 7, 97, 29, 30, 100, 32, 33, 34, 35,
- 36, 37, 38, 310, 65, 41, 42, 43, 44, 212,
- 301, 94, 95, 51, 321, 51, 52, 54, 324, 24,
- 51, 26, 17, 18, 19, 26, 1, 97, 65, 26,
- 100, 26, 68, 69, 99, 100, 72, 70, 33, 14,
- 76, 87, 17, 79, 0, 248, 21, 83, 75, 99,
- 100, 26, 27, 69, 29, 70, 72, 103, 73, 92,
- 93, 94, 95, 79, 54, 356, 36, 37, 375, 96,
- 97, 76, 77, 78, 79, 65, 91, 92, 93, 94,
- 95, 54, 27, 97, 29, 98, 100, 99, 100, 297,
- 298, 97, 65, 100, 284, 131, 100, 26, 46, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 127, 153, 26, 26,
- 26, 157, 54, 98, 26, 161, 101, 53, 26, 26,
- 102, 167, 240, 336, 103, 103, 172, 173, 100, 175,
- 176, 177, 100, 170, 180, 181, 182, 26, 184, 100,
- 100, 354, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 48, 366, 100, 53, 26, 44, 26, 26,
- 373, 207, 278, 26, 26, 53, 88, 204, 205, 54,
- 36, 86, 288, 87, 26, 86, 54, 35, 54, 100,
- 86, 26, 53, 86, 86, 309, 302, 127, 304, 307,
- 199, 52, 52, 52, 171, 208, -1, -1, -1, -1,
- 246, 247, -1, 321, -1, 251, 252, -1, -1, -1,
- -1, -1, -1, 331, -1, -1, -1, -1, -1, 335,
- -1, -1, -1, 341, -1, -1, -1, 345, -1, -1,
- -1, -1, -1, -1, -1, 35, -1, 353, -1, 285,
- -1, -1, 358, 361, -1, 363, -1, 293, 294, 295,
- 296, -1, -1, 369, 291, -1, 372, -1, -1, -1,
- -1, -1, 378, 63, 64, 65, 66, 67, 68, -1,
- 70, -1, -1, 73, 74, 75, -1, -1, -1, -1,
- -1, -1, -1, 329, -1, -1, 0, 1, -1, 89,
- 90, 91, 92, 93, 94, 95, 342, -1, -1, -1,
- 14, -1, -1, 17, 18, 351, -1, 21, 22, 23,
- 24, 25, 26, 27, 360, 29, 30, 31, -1, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, -1,
- 44, -1, 46, 47, 48, -1, 50, 51, 52, 53,
- 54, 55, 56, -1, -1, -1, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, -1, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 1, 97, 98, 99, 100, 101, 102, -1,
- -1, -1, -1, -1, -1, 14, -1, 44, 17, 18,
- -1, -1, 21, -1, 23, 24, 25, 26, 27, -1,
- 29, -1, -1, -1, 33, 34, 63, 64, 65, 66,
- 67, 68, -1, 70, 71, 72, 73, 74, 75, -1,
- -1, 50, -1, 52, -1, -1, -1, -1, -1, -1,
- -1, -1, 89, 90, 91, 92, 93, 94, 95, -1,
- 69, -1, -1, -1, -1, -1, -1, 76, 77, 78,
- 79, 80, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 0, 1, 92, 93, -1, -1, -1, -1, 98,
- -1, -1, 101, 102, 103, 14, -1, -1, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, -1, -1, -1, -1, 47, -1,
- -1, 50, 51, 52, -1, -1, 55, -1, -1, -1,
- -1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, -1, 73, 74, 75, 76, 77, 78,
- 79, 80, -1, -1, 83, 84, -1, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, -1, 97, 98,
- 0, 1, 101, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, -1, -1, 17, 18, -1,
- -1, 21, 22, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, 42, -1, -1, -1, -1, 47, -1, -1,
- 50, 51, 52, -1, -1, 55, -1, -1, -1, -1,
- 60, 61, 62, -1, -1, -1, -1, -1, -1, 69,
- -1, -1, -1, -1, -1, -1, 76, 77, 78, 79,
- 80, -1, -1, 83, 84, -1, 86, 87, 88, 0,
- 1, -1, 92, 93, -1, -1, -1, 97, 98, -1,
- 100, 101, -1, 14, -1, -1, 17, 18, -1, -1,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, 30,
- 31, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
- 51, 52, -1, -1, 55, -1, -1, -1, -1, 60,
- 61, 62, -1, -1, -1, -1, -1, -1, 69, -1,
- -1, -1, -1, -1, -1, 76, 77, 78, 79, 80,
- -1, -1, 83, 84, -1, 86, 87, 88, 0, 1,
- -1, 92, 93, -1, -1, -1, 97, 98, -1, 100,
- 101, -1, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
- 32, 33, 34, -1, -1, -1, 38, 39, 40, 41,
- 42, -1, -1, 45, -1, 47, -1, -1, 50, 51,
- 52, -1, -1, 55, -1, -1, -1, 59, 60, 61,
- 62, -1, -1, -1, -1, -1, -1, 69, -1, -1,
- -1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
- -1, 83, 84, 85, 0, 1, -1, -1, -1, -1,
- 92, 93, -1, -1, -1, 97, 98, -1, 14, 101,
+ 6, 7, 156, 79, 10, 54, 300, 4, 6, 7,
+ 30, 8, 273, 19, 97, 0, 65, 93, 24, 70,
+ 27, 48, 29, 29, 30, 70, 32, 33, 34, 35,
+ 36, 37, 38, 43, 51, 41, 42, 43, 44, 51,
+ 24, 97, 26, 94, 95, 51, 54, 92, 93, 94,
+ 95, 97, 313, 54, 100, 65, 26, 65, 17, 18,
+ 19, 67, 68, 357, 65, 71, 86, 26, 97, 75,
+ 68, 100, 78, 71, 33, 97, 82, 74, 100, 26,
+ 78, 0, 102, 56, 57, 99, 100, 98, 239, 1,
+ 99, 100, 76, 77, 78, 79, 99, 100, 95, 96,
+ 36, 37, 14, 26, 100, 17, 100, 46, 26, 21,
+ 26, 26, 54, 53, 26, 27, 26, 29, 26, 26,
+ 103, 275, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 103,
+ 146, 126, 102, 100, 150, 100, 26, 100, 154, 48,
+ 100, 100, 53, 26, 160, 231, 44, 26, 26, 165,
+ 166, 26, 168, 169, 170, 26, 163, 173, 174, 175,
+ 176, 177, 323, 54, 88, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 87, 98, 70, 339, 101,
+ 73, 26, 54, 35, 200, 86, 100, 54, 349, 26,
+ 197, 198, 53, 261, 355, 126, 192, 86, 91, 92,
+ 93, 94, 95, 299, 289, -1, 164, -1, -1, 201,
+ -1, 297, -1, -1, -1, 1, -1, -1, -1, -1,
+ -1, 237, 238, -1, -1, -1, 242, 243, 14, -1,
+ -1, 17, 18, -1, 320, 21, -1, 23, 24, 25,
+ 26, 27, 328, 29, -1, -1, -1, 33, 34, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 345,
+ 276, -1, -1, -1, 50, -1, 52, -1, 284, 285,
+ 286, 287, -1, -1, -1, 282, -1, -1, -1, -1,
+ -1, -1, -1, 69, -1, -1, -1, -1, -1, -1,
+ 76, 77, 78, 79, 80, -1, -1, -1, -1, -1,
+ 0, 1, 318, -1, -1, -1, 92, 93, -1, -1,
+ -1, -1, 98, 329, 14, 101, -1, 17, 18, -1,
+ 336, 21, 22, 23, 24, 25, 26, 27, 344, 29,
+ 30, 31, -1, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, -1, 44, -1, 46, 47, 48, -1,
+ 50, 51, 52, 53, 54, 55, 56, -1, -1, -1,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, -1, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 1, 97, 98, 99,
+ 100, 101, 102, 35, -1, -1, -1, -1, -1, 14,
+ -1, -1, 17, 18, -1, -1, 21, -1, 23, 24,
+ 25, 26, 27, -1, 29, -1, -1, -1, 33, 34,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, -1,
+ -1, 73, 74, 75, -1, 50, -1, 52, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 89, 90, 91,
+ 92, 93, 94, 95, 69, -1, -1, -1, -1, -1,
+ -1, 76, 77, 78, 79, 80, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 0, 1, 92, 93, -1,
+ -1, -1, -1, 98, -1, -1, 101, 102, 103, 14,
+ -1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, -1, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, -1, -1,
+ -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
+ 55, -1, -1, -1, -1, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, -1, 73, 74,
+ 75, 76, 77, 78, 79, 80, -1, -1, 83, 84,
+ -1, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, -1, 97, 98, 0, 1, 101, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, -1,
-1, 17, 18, -1, -1, 21, 22, 23, 24, 25,
26, 27, -1, 29, 30, 31, -1, 33, 34, -1,
- -1, -1, 38, 39, 40, 41, 42, -1, -1, -1,
+ 36, 37, 38, 39, 40, 41, 42, -1, -1, -1,
-1, 47, -1, -1, 50, 51, 52, -1, -1, 55,
-1, -1, -1, -1, 60, 61, 62, -1, -1, -1,
-1, -1, -1, 69, -1, -1, -1, -1, -1, -1,
- 76, 77, 78, 79, 80, -1, -1, 83, 84, 0,
- 1, -1, -1, -1, -1, -1, 92, 93, -1, -1,
- -1, 97, 98, 14, -1, 101, 17, 18, -1, -1,
+ 76, 77, 78, 79, 80, -1, -1, 83, 84, -1,
+ 86, 87, 88, 0, 1, -1, 92, 93, -1, -1,
+ -1, 97, 98, -1, 100, 101, -1, 14, -1, -1,
+ 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, -1, 33, 34, -1, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, -1,
+ 47, -1, -1, 50, 51, 52, -1, -1, 55, -1,
+ -1, -1, -1, 60, 61, 62, -1, -1, -1, -1,
+ -1, -1, 69, -1, -1, -1, -1, -1, -1, 76,
+ 77, 78, 79, 80, -1, -1, 83, 84, -1, 86,
+ 87, 88, 0, 1, -1, 92, 93, -1, -1, -1,
+ 97, 98, -1, 100, 101, -1, 14, -1, -1, 17,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, 27,
+ -1, 29, -1, 31, 32, 33, 34, -1, -1, -1,
+ 38, 39, 40, 41, 42, -1, -1, 45, -1, 47,
+ -1, -1, 50, 51, 52, -1, -1, 55, -1, -1,
+ -1, 59, 60, 61, 62, -1, -1, -1, -1, -1,
+ -1, 69, -1, -1, -1, -1, -1, -1, 76, 77,
+ 78, 79, 80, -1, -1, 83, 84, 85, 0, 1,
+ -1, -1, -1, -1, 92, 93, -1, -1, -1, 97,
+ 98, -1, 14, 101, -1, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ -1, 33, 34, -1, -1, -1, 38, 39, 40, 41,
+ 42, -1, -1, -1, -1, 47, -1, -1, 50, 51,
+ 52, -1, -1, 55, -1, -1, -1, -1, 60, 61,
+ 62, -1, -1, -1, -1, -1, -1, 69, -1, -1,
+ -1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
+ -1, 83, 84, 0, 1, -1, -1, -1, -1, -1,
+ 92, 93, -1, -1, -1, 97, 98, 14, -1, 101,
+ 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
+ 27, -1, 29, -1, 31, -1, 33, 34, -1, -1,
+ -1, 38, 39, 40, 41, 42, -1, -1, -1, -1,
+ 47, -1, -1, 50, 51, 52, -1, -1, 55, -1,
+ -1, -1, -1, 60, 61, 62, -1, -1, -1, -1,
+ -1, -1, 69, -1, -1, -1, -1, -1, -1, 76,
+ 77, 78, 79, 80, -1, -1, 83, 84, 0, 1,
+ -1, -1, -1, -1, -1, 92, 93, -1, -1, -1,
+ 97, 98, 14, -1, 101, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
+ -1, 33, 34, -1, -1, -1, 38, 39, 40, 41,
+ 42, -1, -1, -1, -1, 47, -1, -1, 50, 51,
+ 52, -1, -1, 55, -1, -1, -1, -1, 60, 61,
+ 62, -1, -1, -1, -1, -1, -1, 69, -1, -1,
+ -1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
+ -1, 83, 84, -1, 1, -1, -1, -1, -1, -1,
+ 92, 93, -1, -1, -1, 97, 98, 14, -1, 101,
+ 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
+ 27, -1, 29, -1, 31, -1, 33, 34, -1, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, -1,
+ 47, -1, -1, 50, 51, 52, -1, -1, 55, -1,
+ -1, -1, -1, 60, 61, 62, -1, -1, -1, -1,
+ -1, -1, 69, -1, -1, -1, -1, -1, -1, 76,
+ 77, 78, 79, 80, -1, -1, 83, 84, -1, 86,
+ 1, -1, -1, -1, -1, 92, 93, -1, -1, -1,
+ 97, 98, -1, 14, 101, -1, 17, 18, -1, -1,
21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
31, -1, 33, 34, -1, -1, -1, 38, 39, 40,
41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
51, 52, -1, -1, 55, -1, -1, -1, -1, 60,
61, 62, -1, -1, -1, -1, -1, -1, 69, -1,
-1, -1, -1, -1, -1, 76, 77, 78, 79, 80,
- -1, -1, 83, 84, 0, 1, -1, -1, -1, -1,
+ -1, -1, 83, 84, -1, 1, -1, 88, -1, -1,
-1, 92, 93, -1, -1, -1, 97, 98, 14, -1,
101, 17, 18, -1, -1, 21, 22, 23, 24, 25,
26, 27, -1, 29, -1, 31, -1, 33, 34, -1,
@@ -1440,10 +1442,10 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 60, 61, 62, -1, -1, -1,
-1, -1, -1, 69, -1, -1, -1, -1, -1, -1,
76, 77, 78, 79, 80, -1, -1, 83, 84, -1,
- 1, -1, -1, -1, -1, -1, 92, 93, -1, -1,
+ 1, 87, -1, -1, -1, -1, 92, 93, -1, -1,
-1, 97, 98, 14, -1, 101, 17, 18, -1, -1,
21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
- 31, -1, 33, 34, -1, 36, 37, 38, 39, 40,
+ 31, -1, 33, 34, -1, -1, -1, 38, 39, 40,
41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
51, 52, -1, -1, 55, -1, -1, -1, -1, 60,
61, 62, -1, -1, -1, -1, -1, -1, 69, -1,
@@ -1457,7 +1459,7 @@ static const yytype_int16 yycheck[] =
55, -1, -1, -1, -1, 60, 61, 62, -1, -1,
-1, -1, -1, -1, 69, -1, -1, -1, -1, -1,
-1, 76, 77, 78, 79, 80, -1, -1, 83, 84,
- -1, 1, -1, 88, -1, -1, -1, 92, 93, -1,
+ -1, 1, 87, -1, -1, -1, -1, 92, 93, -1,
-1, -1, 97, 98, 14, -1, 101, 17, 18, -1,
-1, 21, 22, 23, 24, 25, 26, 27, -1, 29,
-1, 31, -1, 33, 34, -1, -1, -1, 38, 39,
@@ -1474,125 +1476,90 @@ static const yytype_int16 yycheck[] =
55, -1, -1, -1, -1, 60, 61, 62, -1, -1,
-1, -1, -1, -1, 69, -1, -1, -1, -1, -1,
-1, 76, 77, 78, 79, 80, -1, -1, 83, 84,
- -1, 86, 1, -1, -1, -1, -1, 92, 93, -1,
- -1, -1, 97, 98, -1, 14, 101, -1, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, -1,
- 29, -1, 31, -1, 33, 34, -1, -1, -1, 38,
- 39, 40, 41, 42, -1, -1, -1, -1, 47, -1,
- -1, 50, 51, 52, -1, -1, 55, -1, -1, -1,
- -1, 60, 61, 62, -1, -1, -1, -1, -1, -1,
- 69, -1, -1, -1, -1, -1, -1, 76, 77, 78,
- 79, 80, -1, -1, 83, 84, -1, 1, 87, -1,
- -1, -1, -1, 92, 93, -1, -1, -1, 97, 98,
- 14, -1, 101, 17, 18, -1, -1, 21, 22, 23,
- 24, 25, 26, 27, -1, 29, -1, 31, -1, 33,
- 34, -1, -1, -1, 38, 39, 40, 41, 42, -1,
- -1, -1, -1, 47, -1, -1, 50, 51, 52, -1,
- -1, 55, -1, -1, -1, -1, 60, 61, 62, -1,
- -1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
- -1, -1, 76, 77, 78, 79, 80, -1, -1, 83,
- 84, -1, 1, 87, -1, -1, -1, -1, 92, 93,
- -1, -1, -1, 97, 98, 14, -1, 101, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, -1,
- 29, -1, 31, -1, 33, 34, -1, -1, -1, 38,
- 39, 40, 41, 42, -1, -1, -1, -1, 47, -1,
- -1, 50, 51, 52, -1, -1, 55, -1, -1, -1,
- -1, 60, 61, 62, -1, -1, -1, -1, -1, -1,
- 69, -1, -1, -1, -1, -1, -1, 76, 77, 78,
- 79, 80, -1, -1, 83, 84, -1, 1, 87, -1,
- -1, -1, -1, 92, 93, -1, -1, -1, 97, 98,
- 14, -1, 101, 17, 18, -1, -1, 21, 22, 23,
- 24, 25, 26, 27, -1, 29, -1, 31, -1, 33,
- 34, -1, -1, -1, 38, 39, 40, 41, 42, -1,
- -1, -1, -1, -1, -1, -1, 50, -1, 52, -1,
- -1, -1, -1, -1, -1, -1, 60, 61, 62, -1,
- -1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
- -1, -1, 76, 77, 78, 79, 80, -1, -1, 1,
- 84, -1, -1, -1, -1, -1, -1, -1, 92, 93,
- -1, -1, 14, -1, 98, 17, 18, 101, -1, 21,
- 22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
- -1, 33, 34, -1, -1, -1, 38, 39, 40, 41,
- -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
- 52, -1, -1, -1, -1, -1, -1, -1, 60, 61,
- 62, -1, -1, -1, -1, -1, -1, 69, -1, -1,
- -1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
- -1, 1, 84, -1, -1, -1, -1, -1, -1, -1,
- 92, 93, -1, -1, 14, -1, 98, 17, 18, 101,
- -1, 21, -1, 23, 24, 25, 26, 27, -1, 29,
- -1, -1, -1, 33, 34, -1, -1, -1, 1, -1,
- -1, -1, -1, -1, -1, -1, 46, 47, 48, 49,
- 50, 14, 52, -1, 17, 18, -1, -1, 21, -1,
- 23, 24, 25, 26, 27, -1, 29, -1, -1, 69,
- 33, 34, -1, -1, -1, -1, 76, 77, 78, 79,
- 80, -1, -1, 46, -1, 48, -1, 50, -1, 52,
- -1, -1, 92, 93, -1, -1, -1, -1, 98, -1,
- -1, 101, -1, -1, -1, -1, 69, -1, -1, -1,
- -1, -1, -1, 76, 77, 78, 79, 80, -1, -1,
- 1, -1, -1, -1, -1, -1, -1, -1, -1, 92,
- 93, -1, -1, 14, -1, 98, 17, 18, 101, -1,
+ -1, 1, 87, -1, -1, -1, -1, 92, 93, -1,
+ -1, -1, 97, 98, 14, -1, 101, 17, 18, -1,
+ -1, 21, 22, 23, 24, 25, 26, 27, -1, 29,
+ -1, 31, -1, 33, 34, -1, -1, -1, 38, 39,
+ 40, 41, -1, -1, -1, -1, -1, -1, -1, -1,
+ 50, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ 60, 61, 62, -1, -1, -1, -1, -1, -1, 69,
+ -1, -1, -1, -1, -1, -1, 76, 77, 78, 79,
+ 80, -1, -1, 1, 84, -1, -1, -1, -1, -1,
+ -1, -1, 92, 93, -1, -1, 14, -1, 98, 17,
+ 18, 101, -1, 21, -1, 23, 24, 25, 26, 27,
+ -1, 29, -1, -1, -1, 33, 34, -1, -1, -1,
+ 1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
+ 48, 49, 50, 14, 52, -1, 17, 18, -1, -1,
21, -1, 23, 24, 25, 26, 27, -1, 29, -1,
- -1, -1, 33, 34, -1, -1, -1, 1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
- 14, 52, -1, 17, 18, -1, 20, 21, -1, 23,
- 24, 25, 26, 27, -1, 29, -1, -1, 69, 33,
- 34, -1, -1, -1, -1, 76, 77, 78, 79, 80,
- -1, -1, -1, -1, -1, -1, 50, -1, 52, -1,
- -1, 92, 93, -1, -1, -1, -1, 98, 99, 100,
- 101, -1, -1, -1, -1, 69, -1, -1, -1, -1,
- -1, -1, 76, 77, 78, 79, 80, -1, -1, 1,
- -1, -1, -1, -1, -1, -1, -1, -1, 92, 93,
- -1, -1, 14, -1, 98, 17, 18, 101, -1, 21,
- -1, 23, 24, 25, 26, 27, -1, 29, -1, -1,
- -1, 33, 34, -1, -1, -1, 46, -1, 48, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
- 52, -1, -1, 63, 64, 65, 66, 67, 68, -1,
- 70, -1, -1, 73, 74, 75, -1, 69, -1, -1,
- -1, -1, -1, -1, 76, 77, 78, 79, 80, 89,
- 90, 91, 92, 93, 94, 95, 48, -1, -1, -1,
- 92, 93, 54, -1, -1, -1, 98, -1, -1, 101,
- -1, 63, 64, 65, 66, 67, 68, -1, 70, -1,
- -1, 73, 74, 75, -1, -1, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, 54, -1, 89, 90, 91,
- 92, 93, 94, 95, 63, 64, 65, 66, 67, 68,
- -1, 70, -1, -1, 73, 74, 75, -1, -1, -1,
- -1, -1, 48, -1, -1, -1, -1, -1, 54, -1,
- 89, 90, 91, 92, 93, 94, 95, 63, 64, 65,
- 66, 67, 68, -1, 70, -1, -1, 73, 74, 75,
- -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
- -1, 54, -1, 89, 90, 91, 92, 93, 94, 95,
- 63, 64, 65, 66, 67, 68, -1, 70, -1, -1,
- 73, 74, 75, -1, -1, -1, -1, -1, 48, -1,
+ -1, 69, 33, 34, -1, -1, -1, -1, 76, 77,
+ 78, 79, 80, -1, -1, 46, -1, 48, -1, 50,
+ -1, 52, -1, -1, 92, 93, -1, -1, -1, -1,
+ 98, -1, -1, 101, -1, -1, -1, -1, 69, -1,
+ -1, -1, -1, -1, -1, 76, 77, 78, 79, 80,
+ -1, -1, 1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 92, 93, -1, 270, 14, -1, 98, 17, 18,
+ 101, -1, 21, 279, 23, 24, 25, 26, 27, -1,
+ 29, -1, -1, -1, 33, 34, 292, -1, 294, 1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 50, 14, 52, -1, 17, 18, -1, 20, 21,
+ -1, 23, 24, 25, 26, 27, 322, 29, -1, -1,
+ 69, 33, 34, -1, -1, -1, -1, 76, 77, 78,
+ 79, 80, 338, -1, -1, -1, 342, -1, 50, -1,
+ 52, -1, -1, 92, 93, -1, 352, -1, 354, 98,
+ 99, 100, 101, 359, -1, -1, -1, 69, -1, -1,
+ -1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
+ -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
+ 92, 93, -1, -1, -1, -1, 98, -1, -1, 101,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ 73, 74, 75, -1, -1, -1, 46, -1, 48, -1,
-1, -1, -1, -1, -1, -1, 89, 90, 91, 92,
93, 94, 95, 63, 64, 65, 66, 67, 68, -1,
70, -1, -1, 73, 74, 75, -1, -1, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, 89,
+ -1, 48, -1, -1, -1, -1, -1, 54, -1, 89,
90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
67, 68, -1, 70, -1, -1, 73, 74, 75, -1,
-1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- -1, -1, 89, 90, 91, 92, 93, 94, 95, 63,
+ 54, -1, 89, 90, 91, 92, 93, 94, 95, 63,
64, 65, 66, 67, 68, -1, 70, -1, -1, 73,
74, 75, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, -1, -1, 89, 90, 91, 92, 93,
+ -1, -1, -1, 54, -1, 89, 90, 91, 92, 93,
94, 95, 63, 64, 65, 66, 67, 68, -1, 70,
-1, -1, 73, 74, 75, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 54, -1, 89, 90,
+ 48, -1, -1, -1, -1, -1, 54, -1, 89, 90,
91, 92, 93, 94, 95, 63, 64, 65, 66, 67,
- 68, 56, 70, -1, -1, 73, 74, 75, 63, 64,
+ 68, -1, 70, -1, -1, 73, 74, 75, -1, -1,
+ -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
+ -1, 89, 90, 91, 92, 93, 94, 95, 63, 64,
65, 66, 67, 68, -1, 70, -1, -1, 73, 74,
- 75, 89, 90, 91, 92, 93, 94, 95, -1, 97,
+ 75, -1, -1, -1, -1, -1, 48, -1, -1, -1,
-1, -1, -1, -1, 89, 90, 91, 92, 93, 94,
95, 63, 64, 65, 66, 67, 68, -1, 70, -1,
- -1, 73, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, -1, -1, -1, -1, -1, 48,
-1, -1, -1, -1, -1, -1, -1, 89, 90, 91,
- 92, 93, 94, 95, -1, -1, -1, 99, 63, 64,
- 65, 66, 67, 68, -1, 70, -1, -1, 73, 74,
- 75, -1, -1, -1, -1, -1, 81, 82, -1, -1,
- -1, -1, -1, -1, 89, 90, 91, 92, 93, 94,
- 95, 63, 64, 65, 66, 67, 68, -1, 70, -1,
- -1, 73, 74, 75, 63, 64, 65, 66, -1, -1,
- -1, 70, -1, -1, 73, 74, 75, 89, 90, 91,
- 92, 93, 94, 95, -1, -1, -1, -1, -1, -1,
- 89, 90, 91, 92, 93, 94, 95
+ 92, 93, 94, 95, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, 73, 74, 75, -1, -1, -1,
+ -1, -1, 48, -1, -1, -1, -1, -1, -1, -1,
+ 89, 90, 91, 92, 93, 94, 95, 63, 64, 65,
+ 66, 67, 68, -1, 70, -1, -1, 73, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 54, -1, 89, 90, 91, 92, 93, 94, 95,
+ 63, 64, 65, 66, 67, 68, 56, 70, -1, -1,
+ 73, 74, 75, 63, 64, 65, 66, 67, 68, -1,
+ 70, -1, -1, 73, 74, 75, 89, 90, 91, 92,
+ 93, 94, 95, -1, 97, -1, -1, -1, -1, 89,
+ 90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
+ 67, 68, -1, 70, -1, -1, 73, 74, 75, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 89, 90, 91, 92, 93, 94, 95, -1,
+ -1, -1, 99, 63, 64, 65, 66, 67, 68, -1,
+ 70, -1, -1, 73, 74, 75, -1, -1, -1, -1,
+ -1, 81, 82, -1, -1, -1, -1, -1, -1, 89,
+ 90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
+ 67, 68, -1, 70, -1, -1, 73, 74, 75, 63,
+ 64, 65, 66, -1, -1, -1, 70, -1, -1, 73,
+ 74, 75, 89, 90, 91, 92, 93, 94, 95, -1,
+ -1, -1, -1, -1, -1, 89, 90, 91, 92, 93,
+ 94, 95
};
/* YYSTOSSTATE-NUM -- The (internal number of the) accessing
@@ -1603,41 +1570,39 @@ static const yytype_uint8 yystos[] =
26, 27, 29, 31, 32, 33, 34, 38, 39, 40,
41, 42, 45, 47, 50, 51, 52, 55, 59, 60,
61, 62, 69, 76, 77, 78, 79, 80, 83, 84,
- 85, 92, 93, 98, 101, 105, 106, 107, 108, 110,
- 121, 128, 132, 133, 134, 135, 136, 137, 144, 146,
- 148, 152, 157, 160, 97, 26, 133, 26, 50, 98,
- 134, 158, 98, 158, 133, 48, 98, 134, 159, 147,
- 151, 51, 138, 46, 47, 48, 49, 134, 145, 149,
- 51, 20, 134, 56, 57, 17, 18, 19, 26, 33,
- 26, 26, 134, 134, 145, 140, 134, 134, 134, 134,
- 134, 134, 134, 139, 153, 134, 134, 134, 27, 29,
- 103, 134, 161, 162, 163, 164, 0, 97, 134, 109,
- 124, 128, 134, 137, 157, 63, 64, 65, 66, 67,
- 68, 70, 73, 74, 75, 89, 90, 91, 92, 93,
- 94, 95, 129, 98, 134, 134, 158, 100, 158, 133,
- 158, 100, 158, 129, 26, 141, 134, 46, 145, 26,
- 26, 44, 71, 72, 26, 129, 54, 65, 133, 133,
- 54, 65, 54, 53, 56, 145, 26, 143, 48, 54,
- 48, 54, 48, 54, 48, 54, 81, 82, 54, 97,
- 26, 142, 26, 99, 103, 103, 102, 100, 100, 105,
- 125, 130, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 26, 154, 99, 134, 99, 99, 134, 154, 100, 134,
- 150, 133, 26, 136, 134, 134, 43, 65, 134, 134,
- 134, 54, 65, 48, 134, 134, 134, 134, 100, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 120,
- 120, 100, 133, 133, 134, 27, 29, 164, 53, 125,
- 97, 100, 97, 26, 129, 44, 134, 134, 125, 134,
- 134, 26, 26, 48, 48, 48, 48, 108, 131, 26,
- 131, 53, 156, 26, 156, 154, 134, 117, 111, 114,
- 131, 133, 134, 134, 134, 134, 130, 97, 110, 130,
- 126, 108, 131, 131, 97, 129, 127, 127, 126, 54,
- 88, 122, 126, 129, 30, 156, 118, 112, 115, 87,
- 134, 36, 37, 123, 129, 36, 86, 26, 155, 131,
- 125, 54, 35, 129, 134, 86, 129, 100, 119, 134,
- 54, 131, 125, 108, 26, 131, 113, 134, 129, 53,
- 129, 87, 125, 116, 86, 131, 86, 131, 125, 126,
- 87, 131, 87
+ 85, 92, 93, 98, 101, 105, 106, 107, 108, 109,
+ 120, 126, 130, 131, 132, 133, 134, 141, 143, 145,
+ 149, 154, 157, 97, 26, 130, 26, 50, 98, 131,
+ 155, 98, 155, 130, 48, 98, 131, 156, 144, 148,
+ 51, 135, 46, 47, 48, 49, 131, 142, 146, 51,
+ 20, 131, 56, 57, 17, 18, 19, 26, 33, 26,
+ 26, 131, 131, 142, 137, 131, 131, 131, 131, 131,
+ 131, 131, 136, 150, 131, 131, 131, 27, 29, 103,
+ 131, 158, 159, 160, 161, 0, 97, 131, 63, 64,
+ 65, 66, 67, 68, 70, 73, 74, 75, 89, 90,
+ 91, 92, 93, 94, 95, 127, 98, 131, 131, 155,
+ 100, 155, 130, 155, 100, 155, 127, 26, 138, 131,
+ 46, 142, 26, 26, 44, 71, 72, 26, 127, 54,
+ 65, 130, 130, 54, 65, 54, 53, 56, 142, 26,
+ 140, 48, 54, 48, 54, 48, 54, 48, 54, 81,
+ 82, 54, 97, 26, 139, 26, 99, 103, 103, 102,
+ 100, 100, 105, 123, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 26, 151, 99, 131, 99, 99, 131, 151, 100,
+ 131, 147, 130, 26, 133, 131, 131, 43, 65, 131,
+ 131, 131, 54, 65, 48, 131, 131, 131, 131, 131,
+ 100, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 119, 119, 100, 130, 130, 131, 27, 29, 161,
+ 53, 97, 100, 97, 26, 127, 44, 131, 131, 123,
+ 131, 131, 26, 26, 48, 48, 48, 48, 108, 129,
+ 26, 129, 153, 26, 153, 151, 131, 116, 110, 113,
+ 129, 130, 131, 131, 131, 131, 128, 97, 109, 128,
+ 124, 129, 129, 97, 127, 125, 125, 124, 54, 88,
+ 121, 30, 153, 117, 111, 114, 87, 131, 36, 37,
+ 122, 127, 26, 152, 129, 123, 54, 35, 127, 131,
+ 86, 100, 118, 131, 54, 129, 123, 26, 129, 112,
+ 131, 127, 53, 87, 123, 115, 86, 129, 129, 123,
+ 124, 87, 129, 87
};
/* YYR1YYN -- Symbol number of symbol that rule YYN derives. */
@@ -1645,23 +1610,22 @@ static const yytype_uint8 yyr1[] =
{
0, 104, 105, 105, 106, 106, 106, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 108, 108, 108, 109, 109, 109, 109, 110, 110, 110,
- 111, 112, 113, 110, 114, 115, 116, 110, 117, 118,
- 119, 110, 110, 110, 110, 110, 120, 121, 121, 122,
- 122, 123, 124, 124, 125, 126, 127, 128, 129, 130,
- 131, 131, 131, 132, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 135, 135, 135, 135, 135,
- 135, 135, 135, 136, 136, 137, 137, 137, 137, 137,
- 138, 137, 139, 137, 140, 137, 137, 137, 137, 137,
- 141, 141, 142, 142, 143, 143, 144, 144, 144, 144,
- 144, 144, 145, 145, 146, 146, 146, 147, 146, 149,
- 150, 148, 148, 151, 148, 148, 148, 153, 152, 154,
- 154, 154, 155, 155, 155, 156, 157, 158, 158, 158,
- 159, 159, 160, 161, 161, 161, 161, 162, 162, 163,
- 163, 164, 164
+ 108, 108, 108, 109, 109, 109, 110, 111, 112, 109,
+ 113, 114, 115, 109, 116, 117, 118, 109, 109, 109,
+ 109, 109, 119, 120, 120, 121, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 129, 129, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 132, 132,
+ 132, 132, 132, 132, 132, 132, 133, 133, 134, 134,
+ 134, 134, 134, 135, 134, 136, 134, 137, 134, 134,
+ 134, 134, 134, 138, 138, 139, 139, 140, 140, 141,
+ 141, 141, 141, 141, 141, 142, 142, 143, 143, 143,
+ 144, 143, 146, 147, 145, 145, 148, 145, 145, 145,
+ 150, 149, 151, 151, 151, 152, 152, 152, 153, 154,
+ 155, 155, 155, 156, 156, 157, 158, 158, 158, 158,
+ 159, 159, 160, 160, 161, 161
};
/* YYR2YYN -- Number of symbols on the right hand side of rule YYN. */
@@ -1669,23 +1633,22 @@ static const yytype_int8 yyr2[] =
{
0, 2, 1, 3, 0, 1, 1, 4, 4, 6,
4, 4, 4, 4, 4, 4, 5, 5, 8, 4,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 8,
- 0, 0, 0, 14, 0, 0, 0, 15, 0, 0,
- 0, 12, 2, 3, 7, 6, 0, 9, 12, 0,
- 2, 6, 11, 7, 0, 0, 0, 1, 0, 0,
- 0, 2, 2, 3, 1, 1, 1, 1, 1, 1,
- 3, 1, 2, 1, 1, 4, 2, 4, 3, 2,
- 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 3, 3, 3,
- 3, 2, 2, 4, 4, 4, 6, 4, 6, 4,
- 6, 4, 6, 2, 1, 2, 1, 1, 2, 1,
- 0, 3, 0, 3, 0, 3, 4, 2, 4, 2,
- 1, 3, 1, 3, 1, 3, 1, 2, 2, 2,
- 3, 2, 3, 2, 2, 3, 2, 0, 3, 0,
- 0, 9, 2, 0, 7, 8, 6, 0, 3, 0,
- 1, 3, 0, 1, 3, 0, 2, 0, 1, 3,
- 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
- 3, 3, 3
+ 1, 1, 1, 1, 1, 8, 0, 0, 0, 14,
+ 0, 0, 0, 15, 0, 0, 0, 12, 2, 4,
+ 7, 6, 0, 9, 12, 0, 2, 6, 0, 0,
+ 0, 1, 0, 0, 0, 2, 2, 1, 1, 1,
+ 1, 1, 1, 3, 1, 2, 1, 1, 4, 2,
+ 4, 3, 2, 1, 1, 1, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
+ 3, 3, 3, 3, 2, 2, 4, 4, 4, 6,
+ 4, 6, 4, 6, 4, 6, 2, 1, 2, 1,
+ 1, 2, 1, 0, 3, 0, 3, 0, 3, 4,
+ 2, 4, 2, 1, 3, 1, 3, 1, 3, 1,
+ 2, 2, 2, 3, 2, 3, 2, 2, 3, 2,
+ 0, 3, 0, 0, 9, 2, 0, 7, 8, 6,
+ 0, 3, 0, 1, 3, 0, 1, 3, 0, 2,
+ 0, 1, 3, 1, 3, 3, 0, 1, 1, 1,
+ 1, 3, 1, 3, 3, 3
};
@@ -1959,79 +1922,79 @@ yydestruct (const char *yymsg,
case 22: /* BLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1963 "engines/director/lingo/lingo-gr.cpp"
+#line 1926 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* FBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1969 "engines/director/lingo/lingo-gr.cpp"
+#line 1932 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* RBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1975 "engines/director/lingo/lingo-gr.cpp"
+#line 1938 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* THEFBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1981 "engines/director/lingo/lingo-gr.cpp"
+#line 1944 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* ID */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1987 "engines/director/lingo/lingo-gr.cpp"
+#line 1950 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* STRING */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1993 "engines/director/lingo/lingo-gr.cpp"
+#line 1956 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* HANDLER */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1999 "engines/director/lingo/lingo-gr.cpp"
+#line 1962 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* SYMBOL */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2005 "engines/director/lingo/lingo-gr.cpp"
+#line 1968 "engines/director/lingo/lingo-gr.cpp"
break;
case 30: /* ENDCLAUSE */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2011 "engines/director/lingo/lingo-gr.cpp"
+#line 1974 "engines/director/lingo/lingo-gr.cpp"
break;
case 31: /* tPLAYACCEL */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2017 "engines/director/lingo/lingo-gr.cpp"
+#line 1980 "engines/director/lingo/lingo-gr.cpp"
break;
case 32: /* tMETHOD */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2023 "engines/director/lingo/lingo-gr.cpp"
+#line 1986 "engines/director/lingo/lingo-gr.cpp"
break;
case 33: /* THEOBJECTFIELD */
#line 166 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 2029 "engines/director/lingo/lingo-gr.cpp"
+#line 1992 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152: /* on */
+ case 149: /* on */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2035 "engines/director/lingo/lingo-gr.cpp"
+#line 1998 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2318,7 +2281,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2322 "engines/director/lingo/lingo-gr.cpp"
+#line 2285 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2326,7 +2289,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2330 "engines/director/lingo/lingo-gr.cpp"
+#line 2293 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2342,19 +2305,19 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2346 "engines/director/lingo/lingo-gr.cpp"
+#line 2309 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 199 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2352 "engines/director/lingo/lingo-gr.cpp"
+#line 2315 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 200 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2358 "engines/director/lingo/lingo-gr.cpp"
+#line 2321 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2366,7 +2329,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2370 "engines/director/lingo/lingo-gr.cpp"
+#line 2333 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2378,7 +2341,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2382 "engines/director/lingo/lingo-gr.cpp"
+#line 2345 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2390,7 +2353,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2394 "engines/director/lingo/lingo-gr.cpp"
+#line 2357 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2402,7 +2365,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2406 "engines/director/lingo/lingo-gr.cpp"
+#line 2369 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2413,7 +2376,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2417 "engines/director/lingo/lingo-gr.cpp"
+#line 2380 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2424,7 +2387,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2428 "engines/director/lingo/lingo-gr.cpp"
+#line 2391 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2440,7 +2403,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2444 "engines/director/lingo/lingo-gr.cpp"
+#line 2407 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2451,10 +2414,10 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2455 "engines/director/lingo/lingo-gr.cpp"
+#line 2418 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29:
+ case 25:
#line 275 "engines/director/lingo/lingo-gr.y"
{
inst start = 0, end = 0;
@@ -2462,31 +2425,31 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 2);
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end; /* end, if cond fails */
(*g_lingo->_currentScript)[(yyvsp[-1].code)] = start; }
-#line 2466 "engines/director/lingo/lingo-gr.cpp"
+#line 2429 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30:
+ case 26:
#line 287 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2437 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31:
+ case 27:
#line 291 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32:
+ case 28:
#line 294 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2487 "engines/director/lingo/lingo-gr.cpp"
+#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33:
+ case 29:
#line 294 "engines/director/lingo/lingo-gr.y"
{
@@ -2506,31 +2469,31 @@ yyreduce:
WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
(*g_lingo->_currentScript)[pos] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end; }
-#line 2510 "engines/director/lingo/lingo-gr.cpp"
+#line 2473 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34:
+ case 30:
#line 318 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
-#line 2518 "engines/director/lingo/lingo-gr.cpp"
+#line 2481 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
+ case 31:
#line 322 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2525 "engines/director/lingo/lingo-gr.cpp"
+#line 2488 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36:
+ case 32:
#line 325 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2531 "engines/director/lingo/lingo-gr.cpp"
+#line 2494 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37:
+ case 33:
#line 326 "engines/director/lingo/lingo-gr.y"
{
@@ -2550,30 +2513,30 @@ yyreduce:
WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
(*g_lingo->_currentScript)[pos] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end; }
-#line 2554 "engines/director/lingo/lingo-gr.cpp"
+#line 2517 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
+ case 34:
#line 351 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
g_lingo->codeFunc(new Common::String("count"), 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2564 "engines/director/lingo/lingo-gr.cpp"
+#line 2527 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39:
+ case 35:
#line 357 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2537 "engines/director/lingo/lingo-gr.cpp"
break;
- case 40:
+ case 36:
#line 363 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
@@ -2584,10 +2547,10 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), kVarLocal);
g_lingo->code1(LC::c_assign); }
-#line 2588 "engines/director/lingo/lingo-gr.cpp"
+#line 2551 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41:
+ case 37:
#line 372 "engines/director/lingo/lingo-gr.y"
{
@@ -2606,54 +2569,52 @@ yyreduce:
(*g_lingo->_currentScript)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end; }
-#line 2610 "engines/director/lingo/lingo-gr.cpp"
+#line 2573 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
+ case 38:
#line 390 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
+ case 39:
#line 392 "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 2627 "engines/director/lingo/lingo-gr.cpp"
+ {
+ g_lingo->code1(LC::c_whencode);
+ g_lingo->codeString((yyvsp[-2].s)->c_str()); }
+#line 2588 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 397 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 395 "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 2636 "engines/director/lingo/lingo-gr.cpp"
+#line 2597 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 401 "engines/director/lingo/lingo-gr.y"
+ case 41:
+#line 399 "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 2645 "engines/director/lingo/lingo-gr.cpp"
+#line 2606 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 406 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 404 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2653 "engines/director/lingo/lingo-gr.cpp"
+#line 2614 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 410 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 408 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2661,11 +2622,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2665 "engines/director/lingo/lingo-gr.cpp"
+#line 2626 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48:
-#line 417 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 415 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-6].code) + 1 - (yyvsp[-9].code) + 1);
@@ -2673,144 +2634,113 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code)] = else1; /* elsepart */
(*g_lingo->_currentScript)[(yyvsp[-6].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code)); }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 2638 "engines/director/lingo/lingo-gr.cpp"
break;
- case 51:
-#line 428 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 426 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0;
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2687 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 52:
-#line 434 "engines/director/lingo/lingo-gr.y"
- {
- inst else1 = 0, end = 0;
- WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
- WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code) + 1);
- (*g_lingo->_currentScript)[(yyvsp[-8].code)] = else1; /* elsepart */
- (*g_lingo->_currentScript)[(yyvsp[-5].code)] = end; }
-#line 2698 "engines/director/lingo/lingo-gr.cpp"
+#line 2648 "engines/director/lingo/lingo-gr.cpp"
break;
- case 53:
-#line 440 "engines/director/lingo/lingo-gr.y"
- {
- inst end = 0;
- WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-4].code) + 1);
-
- (*g_lingo->_currentScript)[(yyvsp[-4].code)] = end; }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 54:
-#line 446 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 444 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jumpifz, STOP);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2716 "engines/director/lingo/lingo-gr.cpp"
+#line 2656 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55:
-#line 450 "engines/director/lingo/lingo-gr.y"
+ case 49:
+#line 448 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jump, STOP);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2724 "engines/director/lingo/lingo-gr.cpp"
+#line 2664 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56:
-#line 454 "engines/director/lingo/lingo-gr.y"
+ case 50:
+#line 452 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2732 "engines/director/lingo/lingo-gr.cpp"
+#line 2672 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
-#line 458 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 456 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2739 "engines/director/lingo/lingo-gr.cpp"
+#line 2679 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58:
-#line 461 "engines/director/lingo/lingo-gr.y"
+ case 52:
+#line 459 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
- case 59:
-#line 463 "engines/director/lingo/lingo-gr.y"
+ case 53:
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2751 "engines/director/lingo/lingo-gr.cpp"
+#line 2691 "engines/director/lingo/lingo-gr.cpp"
break;
- case 60:
-#line 465 "engines/director/lingo/lingo-gr.y"
+ case 54:
+#line 463 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2697 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
-#line 469 "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 2767 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 64:
-#line 475 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 467 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2775 "engines/director/lingo/lingo-gr.cpp"
+#line 2705 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 58:
+#line 470 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2783 "engines/director/lingo/lingo-gr.cpp"
+#line 2713 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 481 "engines/director/lingo/lingo-gr.y"
+ case 59:
+#line 473 "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 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2722 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
-#line 485 "engines/director/lingo/lingo-gr.y"
+ case 60:
+#line 477 "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 2801 "engines/director/lingo/lingo-gr.cpp"
+#line 2731 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68:
-#line 489 "engines/director/lingo/lingo-gr.y"
+ case 61:
+#line 481 "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 2810 "engines/director/lingo/lingo-gr.cpp"
+#line 2740 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 493 "engines/director/lingo/lingo-gr.y"
+ case 62:
+#line 485 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2819,17 +2749,17 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2823 "engines/director/lingo/lingo-gr.cpp"
+#line 2753 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
-#line 501 "engines/director/lingo/lingo-gr.y"
+ case 63:
+#line 493 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2759 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
-#line 503 "engines/director/lingo/lingo-gr.y"
+ case 65:
+#line 495 "engines/director/lingo/lingo-gr.y"
{
// Director parser till D3 was forgiving for any hanging parentheses
if (g_lingo->_ignoreError) {
@@ -2840,542 +2770,542 @@ yyreduce:
yyerrok;
}
}
-#line 2844 "engines/director/lingo/lingo-gr.cpp"
+#line 2774 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 514 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 506 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2850 "engines/director/lingo/lingo-gr.cpp"
+#line 2780 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 516 "engines/director/lingo/lingo-gr.y"
+ case 68:
+#line 508 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2858 "engines/director/lingo/lingo-gr.cpp"
+#line 2788 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 519 "engines/director/lingo/lingo-gr.y"
+ case 69:
+#line 511 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2866 "engines/director/lingo/lingo-gr.cpp"
+#line 2796 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 522 "engines/director/lingo/lingo-gr.y"
+ case 70:
+#line 514 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 525 "engines/director/lingo/lingo-gr.y"
+ case 71:
+#line 517 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2882 "engines/director/lingo/lingo-gr.cpp"
+#line 2812 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 528 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 520 "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 2893 "engines/director/lingo/lingo-gr.cpp"
+#line 2823 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 534 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 526 "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 2903 "engines/director/lingo/lingo-gr.cpp"
+#line 2833 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 539 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 531 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectrefpush);
g_lingo->codeString((yyvsp[0].objectref).obj->c_str());
g_lingo->codeString((yyvsp[0].objectref).field->c_str());
delete (yyvsp[0].objectref).obj;
delete (yyvsp[0].objectref).field; }
-#line 2914 "engines/director/lingo/lingo-gr.cpp"
+#line 2844 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 546 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 538 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2920 "engines/director/lingo/lingo-gr.cpp"
+#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 547 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 539 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2926 "engines/director/lingo/lingo-gr.cpp"
+#line 2856 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 548 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 540 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+#line 2862 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 549 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 541 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2938 "engines/director/lingo/lingo-gr.cpp"
+#line 2868 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
-#line 550 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 542 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
-#line 551 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 543 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+#line 2880 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
-#line 552 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2886 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
-#line 553 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 545 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2892 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
-#line 554 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 546 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2898 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
-#line 555 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 547 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2904 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
-#line 556 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2910 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
-#line 557 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 549 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+#line 2916 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
-#line 558 "engines/director/lingo/lingo-gr.y"
+ case 88:
+#line 550 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 2922 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
-#line 559 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 551 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 2928 "engines/director/lingo/lingo-gr.cpp"
break;
- case 97:
-#line 560 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 552 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 2934 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98:
-#line 561 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 553 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 2940 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99:
-#line 562 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 554 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 2946 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
-#line 563 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 555 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 2952 "engines/director/lingo/lingo-gr.cpp"
break;
- case 101:
-#line 564 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 556 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 2958 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
-#line 565 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 557 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 2964 "engines/director/lingo/lingo-gr.cpp"
break;
- case 103:
-#line 566 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 558 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 2970 "engines/director/lingo/lingo-gr.cpp"
break;
- case 104:
-#line 567 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 559 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 2976 "engines/director/lingo/lingo-gr.cpp"
break;
- case 105:
-#line 569 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 561 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 2982 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
-#line 570 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 562 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 2988 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 571 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 563 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 3064 "engines/director/lingo/lingo-gr.cpp"
+#line 2994 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 572 "engines/director/lingo/lingo-gr.y"
+ case 101:
+#line 564 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3070 "engines/director/lingo/lingo-gr.cpp"
+#line 3000 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 573 "engines/director/lingo/lingo-gr.y"
+ case 102:
+#line 565 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3006 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 574 "engines/director/lingo/lingo-gr.y"
+ case 103:
+#line 566 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3012 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 575 "engines/director/lingo/lingo-gr.y"
+ case 104:
+#line 567 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3018 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 576 "engines/director/lingo/lingo-gr.y"
+ case 105:
+#line 568 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3024 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 578 "engines/director/lingo/lingo-gr.y"
+ case 106:
+#line 570 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 3102 "engines/director/lingo/lingo-gr.cpp"
+#line 3032 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 583 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 575 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3108 "engines/director/lingo/lingo-gr.cpp"
+#line 3038 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 586 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 578 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 3114 "engines/director/lingo/lingo-gr.cpp"
+#line 3044 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 587 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 579 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3120 "engines/director/lingo/lingo-gr.cpp"
+#line 3050 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 588 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 580 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3126 "engines/director/lingo/lingo-gr.cpp"
+#line 3056 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 588 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 580 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3132 "engines/director/lingo/lingo-gr.cpp"
+#line 3062 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 581 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3138 "engines/director/lingo/lingo-gr.cpp"
+#line 3068 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 581 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3144 "engines/director/lingo/lingo-gr.cpp"
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 590 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 582 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3150 "engines/director/lingo/lingo-gr.cpp"
+#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 590 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 582 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3156 "engines/director/lingo/lingo-gr.cpp"
+#line 3086 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 591 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 583 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3094 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 594 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 586 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3172 "engines/director/lingo/lingo-gr.cpp"
+#line 3102 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 597 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 3178 "engines/director/lingo/lingo-gr.cpp"
+#line 3108 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
-#line 598 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 590 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 3184 "engines/director/lingo/lingo-gr.cpp"
+#line 3114 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
-#line 600 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 592 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3194 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
-#line 605 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 597 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3204 "engines/director/lingo/lingo-gr.cpp"
+#line 3134 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 603 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3214 "engines/director/lingo/lingo-gr.cpp"
+#line 3144 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 616 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 608 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3224 "engines/director/lingo/lingo-gr.cpp"
+#line 3154 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 622 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 614 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3234 "engines/director/lingo/lingo-gr.cpp"
+#line 3164 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 627 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 619 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3244 "engines/director/lingo/lingo-gr.cpp"
+#line 3174 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 632 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3250 "engines/director/lingo/lingo-gr.cpp"
+#line 3180 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 130:
+#line 633 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3256 "engines/director/lingo/lingo-gr.cpp"
+#line 3186 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 131:
+#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3262 "engines/director/lingo/lingo-gr.cpp"
+#line 3192 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 635 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3271 "engines/director/lingo/lingo-gr.cpp"
+#line 3201 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 647 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 639 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3280 "engines/director/lingo/lingo-gr.cpp"
+#line 3210 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 651 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 643 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3289 "engines/director/lingo/lingo-gr.cpp"
+#line 3219 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 659 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 651 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3298 "engines/director/lingo/lingo-gr.cpp"
+#line 3228 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 663 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 655 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3307 "engines/director/lingo/lingo-gr.cpp"
+#line 3237 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 667 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 659 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3316 "engines/director/lingo/lingo-gr.cpp"
+#line 3246 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 671 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 663 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3322 "engines/director/lingo/lingo-gr.cpp"
+#line 3252 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 671 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 663 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3331 "engines/director/lingo/lingo-gr.cpp"
+#line 3261 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 693 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3337 "engines/director/lingo/lingo-gr.cpp"
+#line 3267 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 693 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 3343 "engines/director/lingo/lingo-gr.cpp"
+#line 3273 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
-#line 702 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 694 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-6].s); }
-#line 3353 "engines/director/lingo/lingo-gr.cpp"
+#line 3283 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 707 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 699 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3359 "engines/director/lingo/lingo-gr.cpp"
+#line 3289 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 708 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 700 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3365 "engines/director/lingo/lingo-gr.cpp"
+#line 3295 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 709 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 701 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
endDef();
delete (yyvsp[-6].s); }
-#line 3375 "engines/director/lingo/lingo-gr.cpp"
+#line 3305 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 714 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 706 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3384,70 +3314,70 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3388 "engines/director/lingo/lingo-gr.cpp"
+#line 3318 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 722 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 714 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3398 "engines/director/lingo/lingo-gr.cpp"
+#line 3328 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 728 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 720 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3404 "engines/director/lingo/lingo-gr.cpp"
+#line 3334 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 728 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 720 "engines/director/lingo/lingo-gr.y"
{
(yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3411 "engines/director/lingo/lingo-gr.cpp"
+#line 3341 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 731 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 723 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3417 "engines/director/lingo/lingo-gr.cpp"
+#line 3347 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 732 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 724 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3423 "engines/director/lingo/lingo-gr.cpp"
+#line 3353 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 733 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 725 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3429 "engines/director/lingo/lingo-gr.cpp"
+#line 3359 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 736 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 728 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3435 "engines/director/lingo/lingo-gr.cpp"
+#line 3365 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
-#line 737 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 729 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3441 "engines/director/lingo/lingo-gr.cpp"
+#line 3371 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 739 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 731 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3447 "engines/director/lingo/lingo-gr.cpp"
+#line 3377 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 741 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 733 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3455,113 +3385,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3459 "engines/director/lingo/lingo-gr.cpp"
+#line 3389 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 749 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 741 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3465 "engines/director/lingo/lingo-gr.cpp"
+#line 3395 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
-#line 750 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 742 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3471 "engines/director/lingo/lingo-gr.cpp"
+#line 3401 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 751 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 743 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3477 "engines/director/lingo/lingo-gr.cpp"
+#line 3407 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 753 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 745 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3483 "engines/director/lingo/lingo-gr.cpp"
+#line 3413 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
-#line 754 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 746 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3489 "engines/director/lingo/lingo-gr.cpp"
+#line 3419 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
-#line 756 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 748 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3495 "engines/director/lingo/lingo-gr.cpp"
+#line 3425 "engines/director/lingo/lingo-gr.cpp"
break;
- case 173:
-#line 758 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 750 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3501 "engines/director/lingo/lingo-gr.cpp"
+#line 3431 "engines/director/lingo/lingo-gr.cpp"
break;
- case 174:
-#line 759 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 751 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3507 "engines/director/lingo/lingo-gr.cpp"
+#line 3437 "engines/director/lingo/lingo-gr.cpp"
break;
- case 175:
-#line 760 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 752 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3513 "engines/director/lingo/lingo-gr.cpp"
+#line 3443 "engines/director/lingo/lingo-gr.cpp"
break;
- case 176:
-#line 761 "engines/director/lingo/lingo-gr.y"
+ case 169:
+#line 753 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3519 "engines/director/lingo/lingo-gr.cpp"
+#line 3449 "engines/director/lingo/lingo-gr.cpp"
break;
- case 177:
-#line 763 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 755 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3525 "engines/director/lingo/lingo-gr.cpp"
+#line 3455 "engines/director/lingo/lingo-gr.cpp"
break;
- case 178:
-#line 764 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 756 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3531 "engines/director/lingo/lingo-gr.cpp"
+#line 3461 "engines/director/lingo/lingo-gr.cpp"
break;
- case 179:
-#line 766 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 758 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3537 "engines/director/lingo/lingo-gr.cpp"
+#line 3467 "engines/director/lingo/lingo-gr.cpp"
break;
- case 180:
-#line 767 "engines/director/lingo/lingo-gr.y"
+ case 173:
+#line 759 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3543 "engines/director/lingo/lingo-gr.cpp"
+#line 3473 "engines/director/lingo/lingo-gr.cpp"
break;
- case 181:
-#line 769 "engines/director/lingo/lingo-gr.y"
+ case 174:
+#line 761 "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 3552 "engines/director/lingo/lingo-gr.cpp"
+#line 3482 "engines/director/lingo/lingo-gr.cpp"
break;
- case 182:
-#line 773 "engines/director/lingo/lingo-gr.y"
+ case 175:
+#line 765 "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 3561 "engines/director/lingo/lingo-gr.cpp"
+#line 3491 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3565 "engines/director/lingo/lingo-gr.cpp"
+#line 3495 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3760,7 +3690,7 @@ yyreturn:
return yyresult;
}
-#line 779 "engines/director/lingo/lingo-gr.y"
+#line 771 "engines/director/lingo/lingo-gr.y"
int yyreport_syntax_error(const yypcontext_t *ctx) {
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 4b0555a18f..704d04ed40 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -149,7 +149,7 @@ static void mVar(Common::String *s, VarType type) {
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tENDIF tENDREPEAT tENDTELL
-%type<code> asgn begin end expr if when chunkexpr
+%type<code> asgn begin end expr if chunkexpr
%type<code> stmtlist tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
@@ -389,11 +389,9 @@ stmt: stmtoneliner
| tNEXT tREPEAT {
g_lingo->code1(LC::c_nextRepeat); }
- | when stmtonelinerwithif end {
- inst end = 0;
- WRITE_UINT32(&end, $end - $when);
- g_lingo->code1(STOP);
- (*g_lingo->_currentScript)[$when + 1] = end; }
+ | tWHEN ID tTHEN expr {
+ g_lingo->code1(LC::c_whencode);
+ g_lingo->codeString($ID->c_str()); }
| tTELL expr '\n' tellstart stmtlist end tENDTELL {
inst end;
WRITE_UINT32(&end, $end - $tellstart);
@@ -466,12 +464,6 @@ stmtlist: { $$ = g_lingo->_currentScript->size(); }
| stmtlist '\n'
| stmtlist stmt
-when: tWHEN ID tTHEN {
- $$ = g_lingo->code1(LC::c_whencode);
- g_lingo->code1(STOP);
- g_lingo->codeString($ID->c_str());
- delete $ID; }
-
simpleexpr: INT {
$$ = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt($INT); }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index e0ddccc659..b5fc753522 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -427,7 +427,7 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
Commit: 31211258ada55f1ea6c06cd6c4a99cfcdc64a82a
https://github.com/scummvm/scummvm/commit/31211258ada55f1ea6c06cd6c4a99cfcdc64a82a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T11:44:07+02:00
Commit Message:
DIRECTOR: LINGO: Simplified grammar, we do not need if one liners!!!
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 907892225c..af853b70f3 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -842,22 +842,22 @@ static const yytype_int16 yyrline[] =
{
0, 170, 170, 171, 173, 174, 175, 177, 184, 188,
199, 200, 201, 208, 215, 222, 229, 235, 242, 253,
- 260, 261, 262, 269, 270, 275, 287, 291, 294, 286,
- 318, 322, 325, 317, 351, 357, 363, 350, 390, 392,
- 395, 399, 404, 408, 415, 423, 424, 426, 444, 448,
- 452, 456, 459, 461, 463, 464, 465, 467, 470, 473,
- 477, 481, 485, 493, 494, 495, 506, 507, 508, 511,
- 514, 517, 520, 526, 531, 537, 538, 539, 540, 541,
- 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
- 552, 553, 554, 555, 556, 557, 558, 559, 561, 562,
- 563, 564, 565, 566, 567, 568, 570, 573, 575, 576,
- 577, 578, 579, 580, 580, 581, 581, 582, 582, 583,
- 586, 589, 590, 592, 597, 603, 608, 614, 619, 632,
- 633, 634, 635, 639, 643, 648, 649, 651, 655, 659,
- 663, 663, 693, 693, 693, 699, 700, 700, 706, 714,
- 720, 720, 723, 724, 725, 727, 728, 729, 731, 733,
- 741, 742, 743, 745, 746, 748, 750, 751, 752, 753,
- 755, 756, 758, 759, 761, 765
+ 260, 261, 262, 264, 265, 270, 282, 286, 289, 281,
+ 313, 317, 320, 312, 346, 352, 358, 345, 385, 387,
+ 390, 394, 399, 403, 410, 418, 419, 421, 427, 431,
+ 435, 439, 442, 444, 446, 447, 448, 450, 453, 456,
+ 460, 464, 468, 476, 477, 478, 489, 490, 491, 494,
+ 497, 500, 503, 509, 514, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
+ 535, 536, 537, 538, 539, 540, 541, 542, 544, 545,
+ 546, 547, 548, 549, 550, 551, 553, 556, 558, 559,
+ 560, 561, 562, 563, 563, 564, 564, 565, 565, 566,
+ 569, 572, 573, 575, 580, 586, 591, 597, 602, 615,
+ 616, 617, 618, 622, 626, 631, 632, 634, 638, 642,
+ 646, 646, 676, 676, 676, 682, 683, 683, 689, 697,
+ 703, 703, 706, 707, 708, 710, 711, 712, 714, 716,
+ 724, 725, 726, 728, 729, 731, 733, 734, 735, 736,
+ 738, 739, 741, 742, 744, 748
};
#endif
@@ -2418,7 +2418,7 @@ yyreduce:
break;
case 25:
-#line 275 "engines/director/lingo/lingo-gr.y"
+#line 270 "engines/director/lingo/lingo-gr.y"
{
inst start = 0, end = 0;
WRITE_UINT32(&start, (yyvsp[-5].code) - (yyvsp[-1].code) + 1);
@@ -2429,7 +2429,7 @@ yyreduce:
break;
case 26:
-#line 287 "engines/director/lingo/lingo-gr.y"
+#line 282 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
@@ -2437,20 +2437,20 @@ yyreduce:
break;
case 27:
-#line 291 "engines/director/lingo/lingo-gr.y"
+#line 286 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
-#line 294 "engines/director/lingo/lingo-gr.y"
+#line 289 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
-#line 294 "engines/director/lingo/lingo-gr.y"
+#line 289 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_eval);
@@ -2473,7 +2473,7 @@ yyreduce:
break;
case 30:
-#line 318 "engines/director/lingo/lingo-gr.y"
+#line 313 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
@@ -2481,20 +2481,20 @@ yyreduce:
break;
case 31:
-#line 322 "engines/director/lingo/lingo-gr.y"
+#line 317 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
#line 2488 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
-#line 325 "engines/director/lingo/lingo-gr.y"
+#line 320 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
#line 2494 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
-#line 326 "engines/director/lingo/lingo-gr.y"
+#line 321 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_eval);
@@ -2517,7 +2517,7 @@ yyreduce:
break;
case 34:
-#line 351 "engines/director/lingo/lingo-gr.y"
+#line 346 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
g_lingo->codeFunc(new Common::String("count"), 1);
@@ -2527,7 +2527,7 @@ yyreduce:
break;
case 35:
-#line 357 "engines/director/lingo/lingo-gr.y"
+#line 352 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
g_lingo->code1(LC::c_stackpeek); // get array size
@@ -2537,7 +2537,7 @@ yyreduce:
break;
case 36:
-#line 363 "engines/director/lingo/lingo-gr.y"
+#line 358 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
g_lingo->code1(LC::c_stackpeek); // get counter
@@ -2551,7 +2551,7 @@ yyreduce:
break;
case 37:
-#line 372 "engines/director/lingo/lingo-gr.y"
+#line 367 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
@@ -2573,22 +2573,22 @@ yyreduce:
break;
case 38:
-#line 390 "engines/director/lingo/lingo-gr.y"
+#line 385 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
-#line 392 "engines/director/lingo/lingo-gr.y"
- {
+#line 387 "engines/director/lingo/lingo-gr.y"
+ {
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
#line 2588 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
-#line 395 "engines/director/lingo/lingo-gr.y"
+#line 390 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
@@ -2597,7 +2597,7 @@ yyreduce:
break;
case 41:
-#line 399 "engines/director/lingo/lingo-gr.y"
+#line 394 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
@@ -2606,7 +2606,7 @@ yyreduce:
break;
case 42:
-#line 404 "engines/director/lingo/lingo-gr.y"
+#line 399 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
@@ -2614,7 +2614,7 @@ yyreduce:
break;
case 43:
-#line 408 "engines/director/lingo/lingo-gr.y"
+#line 403 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2626,7 +2626,7 @@ yyreduce:
break;
case 44:
-#line 415 "engines/director/lingo/lingo-gr.y"
+#line 410 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-6].code) + 1 - (yyvsp[-9].code) + 1);
@@ -2638,7 +2638,7 @@ yyreduce:
break;
case 47:
-#line 426 "engines/director/lingo/lingo-gr.y"
+#line 421 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0;
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
@@ -2648,7 +2648,7 @@ yyreduce:
break;
case 48:
-#line 444 "engines/director/lingo/lingo-gr.y"
+#line 427 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jumpifz, STOP);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
@@ -2656,7 +2656,7 @@ yyreduce:
break;
case 49:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 431 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jump, STOP);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
@@ -2664,7 +2664,7 @@ yyreduce:
break;
case 50:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
@@ -2672,32 +2672,32 @@ yyreduce:
break;
case 51:
-#line 456 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
#line 2679 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
-#line 459 "engines/director/lingo/lingo-gr.y"
+#line 442 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
-#line 461 "engines/director/lingo/lingo-gr.y"
+#line 444 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
#line 2691 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
-#line 463 "engines/director/lingo/lingo-gr.y"
+#line 446 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2697 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
-#line 467 "engines/director/lingo/lingo-gr.y"
+#line 450 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
@@ -2705,7 +2705,7 @@ yyreduce:
break;
case 58:
-#line 470 "engines/director/lingo/lingo-gr.y"
+#line 453 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
@@ -2713,7 +2713,7 @@ yyreduce:
break;
case 59:
-#line 473 "engines/director/lingo/lingo-gr.y"
+#line 456 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2722,7 +2722,7 @@ yyreduce:
break;
case 60:
-#line 477 "engines/director/lingo/lingo-gr.y"
+#line 460 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2731,7 +2731,7 @@ yyreduce:
break;
case 61:
-#line 481 "engines/director/lingo/lingo-gr.y"
+#line 464 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2740,7 +2740,7 @@ yyreduce:
break;
case 62:
-#line 485 "engines/director/lingo/lingo-gr.y"
+#line 468 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2753,13 +2753,13 @@ yyreduce:
break;
case 63:
-#line 493 "engines/director/lingo/lingo-gr.y"
+#line 476 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
#line 2759 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
-#line 495 "engines/director/lingo/lingo-gr.y"
+#line 478 "engines/director/lingo/lingo-gr.y"
{
// Director parser till D3 was forgiving for any hanging parentheses
if (g_lingo->_ignoreError) {
@@ -2774,13 +2774,13 @@ yyreduce:
break;
case 66:
-#line 506 "engines/director/lingo/lingo-gr.y"
+#line 489 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
#line 2780 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
-#line 508 "engines/director/lingo/lingo-gr.y"
+#line 491 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -2788,7 +2788,7 @@ yyreduce:
break;
case 69:
-#line 511 "engines/director/lingo/lingo-gr.y"
+#line 494 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
@@ -2796,7 +2796,7 @@ yyreduce:
break;
case 70:
-#line 514 "engines/director/lingo/lingo-gr.y"
+#line 497 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -2804,7 +2804,7 @@ yyreduce:
break;
case 71:
-#line 517 "engines/director/lingo/lingo-gr.y"
+#line 500 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
@@ -2812,7 +2812,7 @@ yyreduce:
break;
case 72:
-#line 520 "engines/director/lingo/lingo-gr.y"
+#line 503 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
@@ -2823,7 +2823,7 @@ yyreduce:
break;
case 73:
-#line 526 "engines/director/lingo/lingo-gr.y"
+#line 509 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
@@ -2833,7 +2833,7 @@ yyreduce:
break;
case 74:
-#line 531 "engines/director/lingo/lingo-gr.y"
+#line 514 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectrefpush);
g_lingo->codeString((yyvsp[0].objectref).obj->c_str());
@@ -2844,187 +2844,187 @@ yyreduce:
break;
case 76:
-#line 538 "engines/director/lingo/lingo-gr.y"
+#line 521 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 539 "engines/director/lingo/lingo-gr.y"
+#line 522 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
#line 2856 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 540 "engines/director/lingo/lingo-gr.y"
+#line 523 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
#line 2862 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 541 "engines/director/lingo/lingo-gr.y"
+#line 524 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
#line 2868 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 542 "engines/director/lingo/lingo-gr.y"
+#line 525 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
#line 2874 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 543 "engines/director/lingo/lingo-gr.y"
+#line 526 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
#line 2880 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 544 "engines/director/lingo/lingo-gr.y"
+#line 527 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
#line 2886 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 545 "engines/director/lingo/lingo-gr.y"
+#line 528 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
#line 2892 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 546 "engines/director/lingo/lingo-gr.y"
+#line 529 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
#line 2898 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 547 "engines/director/lingo/lingo-gr.y"
+#line 530 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
#line 2904 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 548 "engines/director/lingo/lingo-gr.y"
+#line 531 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
#line 2910 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 549 "engines/director/lingo/lingo-gr.y"
+#line 532 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
#line 2916 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 550 "engines/director/lingo/lingo-gr.y"
+#line 533 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
#line 2922 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 551 "engines/director/lingo/lingo-gr.y"
+#line 534 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
#line 2928 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 552 "engines/director/lingo/lingo-gr.y"
+#line 535 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
#line 2934 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 553 "engines/director/lingo/lingo-gr.y"
+#line 536 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
#line 2940 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 554 "engines/director/lingo/lingo-gr.y"
+#line 537 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
#line 2946 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 555 "engines/director/lingo/lingo-gr.y"
+#line 538 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
#line 2952 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 556 "engines/director/lingo/lingo-gr.y"
+#line 539 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
#line 2958 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 557 "engines/director/lingo/lingo-gr.y"
+#line 540 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
#line 2964 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 558 "engines/director/lingo/lingo-gr.y"
+#line 541 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
#line 2970 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 559 "engines/director/lingo/lingo-gr.y"
+#line 542 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
#line 2976 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 561 "engines/director/lingo/lingo-gr.y"
+#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
#line 2982 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
-#line 562 "engines/director/lingo/lingo-gr.y"
+#line 545 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
#line 2988 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
-#line 563 "engines/director/lingo/lingo-gr.y"
+#line 546 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
#line 2994 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 564 "engines/director/lingo/lingo-gr.y"
+#line 547 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
#line 3000 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
-#line 565 "engines/director/lingo/lingo-gr.y"
+#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
#line 3006 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
-#line 566 "engines/director/lingo/lingo-gr.y"
+#line 549 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
#line 3012 "engines/director/lingo/lingo-gr.cpp"
break;
case 104:
-#line 567 "engines/director/lingo/lingo-gr.y"
+#line 550 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
#line 3018 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
-#line 568 "engines/director/lingo/lingo-gr.y"
+#line 551 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
#line 3024 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 570 "engines/director/lingo/lingo-gr.y"
+#line 553 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
@@ -3032,61 +3032,61 @@ yyreduce:
break;
case 108:
-#line 575 "engines/director/lingo/lingo-gr.y"
+#line 558 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
#line 3038 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
-#line 578 "engines/director/lingo/lingo-gr.y"
+#line 561 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
#line 3044 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
-#line 579 "engines/director/lingo/lingo-gr.y"
+#line 562 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
#line 3050 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
-#line 580 "engines/director/lingo/lingo-gr.y"
+#line 563 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
#line 3056 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
-#line 580 "engines/director/lingo/lingo-gr.y"
+#line 563 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
#line 3062 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
-#line 581 "engines/director/lingo/lingo-gr.y"
+#line 564 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
#line 3068 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
-#line 581 "engines/director/lingo/lingo-gr.y"
+#line 564 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
-#line 582 "engines/director/lingo/lingo-gr.y"
+#line 565 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
-#line 582 "engines/director/lingo/lingo-gr.y"
+#line 565 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
#line 3086 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
-#line 583 "engines/director/lingo/lingo-gr.y"
+#line 566 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -3094,7 +3094,7 @@ yyreduce:
break;
case 120:
-#line 586 "engines/director/lingo/lingo-gr.y"
+#line 569 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
@@ -3102,19 +3102,19 @@ yyreduce:
break;
case 121:
-#line 589 "engines/director/lingo/lingo-gr.y"
+#line 572 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
#line 3108 "engines/director/lingo/lingo-gr.cpp"
break;
case 122:
-#line 590 "engines/director/lingo/lingo-gr.y"
+#line 573 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
#line 3114 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
-#line 592 "engines/director/lingo/lingo-gr.y"
+#line 575 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3124,7 +3124,7 @@ yyreduce:
break;
case 124:
-#line 597 "engines/director/lingo/lingo-gr.y"
+#line 580 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3134,7 +3134,7 @@ yyreduce:
break;
case 125:
-#line 603 "engines/director/lingo/lingo-gr.y"
+#line 586 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3144,7 +3144,7 @@ yyreduce:
break;
case 126:
-#line 608 "engines/director/lingo/lingo-gr.y"
+#line 591 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3154,7 +3154,7 @@ yyreduce:
break;
case 127:
-#line 614 "engines/director/lingo/lingo-gr.y"
+#line 597 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3164,7 +3164,7 @@ yyreduce:
break;
case 128:
-#line 619 "engines/director/lingo/lingo-gr.y"
+#line 602 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -3174,25 +3174,25 @@ yyreduce:
break;
case 129:
-#line 632 "engines/director/lingo/lingo-gr.y"
+#line 615 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
#line 3180 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
-#line 633 "engines/director/lingo/lingo-gr.y"
+#line 616 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
#line 3186 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 634 "engines/director/lingo/lingo-gr.y"
+#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
#line 3192 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 635 "engines/director/lingo/lingo-gr.y"
+#line 618 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
@@ -3201,7 +3201,7 @@ yyreduce:
break;
case 133:
-#line 639 "engines/director/lingo/lingo-gr.y"
+#line 622 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
@@ -3210,7 +3210,7 @@ yyreduce:
break;
case 134:
-#line 643 "engines/director/lingo/lingo-gr.y"
+#line 626 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
@@ -3219,7 +3219,7 @@ yyreduce:
break;
case 137:
-#line 651 "engines/director/lingo/lingo-gr.y"
+#line 634 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
@@ -3228,7 +3228,7 @@ yyreduce:
break;
case 138:
-#line 655 "engines/director/lingo/lingo-gr.y"
+#line 638 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
@@ -3237,7 +3237,7 @@ yyreduce:
break;
case 139:
-#line 659 "engines/director/lingo/lingo-gr.y"
+#line 642 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
@@ -3246,13 +3246,13 @@ yyreduce:
break;
case 140:
-#line 663 "engines/director/lingo/lingo-gr.y"
+#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
#line 3252 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
-#line 663 "engines/director/lingo/lingo-gr.y"
+#line 646 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
@@ -3261,19 +3261,19 @@ yyreduce:
break;
case 142:
-#line 693 "engines/director/lingo/lingo-gr.y"
+#line 676 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
#line 3267 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
-#line 693 "engines/director/lingo/lingo-gr.y"
+#line 676 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
#line 3273 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
-#line 694 "engines/director/lingo/lingo-gr.y"
+#line 677 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -3283,19 +3283,19 @@ yyreduce:
break;
case 145:
-#line 699 "engines/director/lingo/lingo-gr.y"
+#line 682 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
#line 3289 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
-#line 700 "engines/director/lingo/lingo-gr.y"
+#line 683 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
#line 3295 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
-#line 701 "engines/director/lingo/lingo-gr.y"
+#line 684 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
@@ -3305,7 +3305,7 @@ yyreduce:
break;
case 148:
-#line 706 "engines/director/lingo/lingo-gr.y"
+#line 689 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3318,7 +3318,7 @@ yyreduce:
break;
case 149:
-#line 714 "engines/director/lingo/lingo-gr.y"
+#line 697 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -3328,56 +3328,56 @@ yyreduce:
break;
case 150:
-#line 720 "engines/director/lingo/lingo-gr.y"
+#line 703 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
#line 3334 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
-#line 720 "engines/director/lingo/lingo-gr.y"
+#line 703 "engines/director/lingo/lingo-gr.y"
{
(yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
#line 3341 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
-#line 723 "engines/director/lingo/lingo-gr.y"
+#line 706 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
#line 3347 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
-#line 724 "engines/director/lingo/lingo-gr.y"
+#line 707 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
#line 3353 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
-#line 725 "engines/director/lingo/lingo-gr.y"
+#line 708 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
#line 3359 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
-#line 728 "engines/director/lingo/lingo-gr.y"
+#line 711 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
#line 3365 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
-#line 729 "engines/director/lingo/lingo-gr.y"
+#line 712 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
#line 3371 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
-#line 731 "engines/director/lingo/lingo-gr.y"
+#line 714 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
#line 3377 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
-#line 733 "engines/director/lingo/lingo-gr.y"
+#line 716 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3389,91 +3389,91 @@ yyreduce:
break;
case 160:
-#line 741 "engines/director/lingo/lingo-gr.y"
+#line 724 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
#line 3395 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
-#line 742 "engines/director/lingo/lingo-gr.y"
+#line 725 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
#line 3401 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
-#line 743 "engines/director/lingo/lingo-gr.y"
+#line 726 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
#line 3407 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
-#line 745 "engines/director/lingo/lingo-gr.y"
+#line 728 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
#line 3413 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
-#line 746 "engines/director/lingo/lingo-gr.y"
+#line 729 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
#line 3419 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
-#line 748 "engines/director/lingo/lingo-gr.y"
+#line 731 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
#line 3425 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
-#line 750 "engines/director/lingo/lingo-gr.y"
+#line 733 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
#line 3431 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
-#line 751 "engines/director/lingo/lingo-gr.y"
+#line 734 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
#line 3437 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
-#line 752 "engines/director/lingo/lingo-gr.y"
+#line 735 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
#line 3443 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
-#line 753 "engines/director/lingo/lingo-gr.y"
+#line 736 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
#line 3449 "engines/director/lingo/lingo-gr.cpp"
break;
case 170:
-#line 755 "engines/director/lingo/lingo-gr.y"
+#line 738 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
#line 3455 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
-#line 756 "engines/director/lingo/lingo-gr.y"
+#line 739 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
#line 3461 "engines/director/lingo/lingo-gr.cpp"
break;
case 172:
-#line 758 "engines/director/lingo/lingo-gr.y"
+#line 741 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
#line 3467 "engines/director/lingo/lingo-gr.cpp"
break;
case 173:
-#line 759 "engines/director/lingo/lingo-gr.y"
+#line 742 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
#line 3473 "engines/director/lingo/lingo-gr.cpp"
break;
case 174:
-#line 761 "engines/director/lingo/lingo-gr.y"
+#line 744 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -3482,7 +3482,7 @@ yyreduce:
break;
case 175:
-#line 765 "engines/director/lingo/lingo-gr.y"
+#line 748 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -3690,7 +3690,7 @@ yyreturn:
return yyresult;
}
-#line 771 "engines/director/lingo/lingo-gr.y"
+#line 754 "engines/director/lingo/lingo-gr.y"
int yyreport_syntax_error(const yypcontext_t *ctx) {
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 704d04ed40..da9c384209 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -261,11 +261,6 @@ stmtoneliner: macro
| expr
| proc
-stmtonelinerwithif: macro
- | expr
- | proc
- | ifoneliner
-
stmt: stmtoneliner
| ifstmt
// repeat while (expression = TRUE)
@@ -429,18 +424,6 @@ elseifstmt: tELSIF expr jumpifz[then] tTHEN stmtlist jump[end3] {
(*g_lingo->_currentScript)[$then] = else1; /* end, if cond fails */
g_lingo->codeLabel($end3); }
-ifoneliner: if expr jumpifz[then] tTHEN stmtoneliner jump[else1] tELSE begin stmtoneliner begin[end3] tENDIF {
- inst else1 = 0, end = 0;
- WRITE_UINT32(&else1, $else1 + 1 - $then + 1);
- WRITE_UINT32(&end, $end3 - $else1 + 1);
- (*g_lingo->_currentScript)[$then] = else1; /* elsepart */
- (*g_lingo->_currentScript)[$else1] = end; } /* end, if cond fails */
- | if expr jumpifz[then] tTHEN stmtoneliner begin[end3] tENDIF {
- inst end = 0;
- WRITE_UINT32(&end, $end3 - $then + 1);
-
- (*g_lingo->_currentScript)[$then] = end; } /* end, if cond fails */
-
jumpifz: /* nothing */ {
g_lingo->code2(LC::c_jumpifz, STOP);
$$ = g_lingo->_currentScript->size() - 1; }
More information about the Scummvm-git-logs
mailing list